用户和组的主要配置文件

前两个是放用户账号相关的,后两个是放和组相关的

  • /etc/passwd:用户及其属性信息(名称、UID、主组ID等) #早期密码也放这里,后来发现不安全,谁都能看
  • /etc/shadow:用户密码及其相关属性 #后来将密码放在shadow里,普通用户打不开
  • /etc/group:组及其属性信息
  • /etc/gshadow:组密码及其相关属性

man帮助第五章放的配置文件的相关信息,/etc下的都是系统配置文件,可以使用man帮助来查看

[root@C8-1 ~]# whatis passwd
openssl-passwd (1ssl) - compute password hashes
passwd (1) - update user's authentication tokens
passwd (5) - password file
[root@C8-1 ~]# man 5 passwd

passwd文件格式

Each line of the file describes a single user, and contains seven colon-separated fields:

           name:password:UID:GID:GECOS:directory:shell
[root@C8-1 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
  • login name:登录用名(wang)
  • passwd:密码 (x)
  • UID:用户身份编号 (1000)
  • GID:登录默认所在组编号 (1000)
  • GECOS:用户全名或注释
  • home directory:用户主目录 (/home/wang)
  • shell:用户默认使用shell (/bin/bash)

shadow文件格式

[root@C8-1 ~]# getent shadow root
root:$6$0oNcn58oJTkyswqj$ZSA1obbRFFvijoTaiY.GJsBz1CBhIOWt7eEIC7jdZTUZbifpJnR1f8ekUJwc4RTVi/XY5xX/YmkcfFEllTWCZ.::0:99999:7:::
[root@C8-1 ~]# getent shadow pang
pang:$6$QpM5ZwGYiPFjyJTk$xhuVNY9VFLbo576vMW3h/GFpnb5WJJXwvc5ELzMt.KyvjhRiSll.pNKU5Day.ZHVgk4m1VLf4GQeH.px2xYbb0:18433:0:99999:7:::
  • 登录用名 pang
  • 用户密码:一般用sha512加密 哈希算法 散列
  • 从1970年1月1日起到密码最近一次被更改的时间 18433
  • 密码再过几天可以被变更(0表示随时可被变更) 0
  • 密码再过几天必须被变更(99999表示永不过期) 99999
  • 密码过期前几天系统提醒用户(默认为一周) 7
  • 密码过期几天后帐号会被锁定 默认空
  • 从1970年1月1日算起,多少天后帐号失效 默认空

$6代表sha512 哈希算法 散列算法

更改密码加密算法:

[root@C8-1 ~]# sha
sha1hmac sha1sum sha224hmac sha224sum sha256hmac sha256sum sha384hmac sha384sum sha512hmac sha512sum
[root@C8-1 ~]# authconfig --passalgo=sha256 --update

密码的安全策略

  • 足够长
  • 使用数字、大写字母、小写字母及特殊字符中至少3种
  • 使用随机密码
  • 定期更换,不要使用最近曾经使用过的密码

    生成随机密码
[root@centos8 ~]#tr -dc '[:alnum:]' < /dev/urandom | head -c 12
sFg6C8g5FAfe
[root@centos8 ~]#openssl rand -base64 9
hvMkPmAyIrXMQInt

group文件格式

  • 群组名称:就是群组名称
  • 群组密码:通常不需要设定,密码是被记录在 /etc/gshadow
  • GID:就是群组的 ID
  • 以当前组为附加组的用户列表(分隔符为逗号)

gshadow文件格式

组口令没有什么实际用途,实现组成员调整用的

叹号 ! 表示口令是被锁定的,表示这个账户将不能直接登录

两个叹号 !! 表示双重保险,要想要这个账户登录,必须删掉两个!,删掉一个都不行

  • 群组名称:就是群的名称
  • 群组密码:
  • 组管理员列表:组管理员的列表,更改组密码和成员
  • 以当前组为附加组的用户列表:多个用户间用逗号分隔
[root@C8-1 ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
.
.
pang:x:1000:
[root@C8-1 ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
disk:::
.
.
pang:!::

文件操作

不推荐使用以下命令

  • vipw和vigr

    编辑文件的时候自带语法检查功能
  • pwck和grpck

    这两个是用来专门检查语法的

Linux用户和组的配置文件的更多相关文章

  1. linux学习16 Linux用户和组管理命令演练和实战应用

    一.上集回顾 1.bash globing,IO重定向及管道 glob:*,?,[],[^] IO重定向: >,>>, 2>,2>> &>,& ...

  2. Linux —用户和组

    Linux 用户和组 1.用户和组的概念 用户的作用: Authentication:认证 Authorization:授权 Accouting:审计 用户存在的最终目的: 为了实现资源的分派 组的作 ...

  3. linux 用户和组操作

    linux用户操作 查看登陆用户:whoami (结果最简洁) 或者who mom likes 或者who am i查看所有用户:cat /etc/passwd 添加:sudo adduser lil ...

  4. linux用户和组 之 用户管理

    一. linux 用户和组的基本介绍 1.linux下 有三种用户: 1. root: 权限最大的. 2. 系统用户: UID小于1000的.系统服务管理用户,一般是不允许登录系统的.(比如mysql ...

  5. Linux中用户与组相关配置文件(整理)

    用户与组信息存放位置 说明 注释 /etc/passwd 存放用户基本信息 记录了每个用户的一些基本属性,并对所有用户可读,每一行记录对应一个用户,属性之间通过冒号分隔. 每一个行6个冒号,7个属性. ...

  6. linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group 文件内容解释

    与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码口令的加密保存等: /etc/passwd 和/etc/s ...

  7. java程序员菜鸟进阶(十五)linux基础入门(三)linux用户和组管理

    我们大家都知道,要登录linux操作系统,我们必须要有一个用户名和密码.每一个用户都由一个惟一的身份来标识,这个标识叫做用户ID.系统中的每一个用户也至少需要属于一个"用户分组". ...

  8. Linux 用户与组

    在 Linux 操作系统下,如何添加一个新用户到一个特定的组中?如何同时将用户添加到多个组中?又如何将一个已存在的用户移动到某个组或者给他增加一个组?对于不常用 Linux 的人来讲,记忆 Linux ...

  9. linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group --学习

    一./etc/passwd 和/etc/shadow解释 与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码 ...

随机推荐

  1. Node.js 从零开发 web server博客项目[接口]

    web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web se ...

  2. Node.js 从零开发 web server博客项目[项目介绍]

    web server博客项目 Node.js 从零开发 web server博客项目[项目介绍] Node.js 从零开发 web server博客项目[接口] Node.js 从零开发 web se ...

  3. node.js conditionDebug VScode 配置

    launch.json { // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. // 欲了解更多信息,请访问: https://go.microsoft.com/f ...

  4. nohup命令重定向标准输出和错误输出

    命令:command > /dev/null  2>&1 & 输出到/dev/null表示输出重定向到黑洞,即输出内容不打印到屏幕上,null是/dev下空设备文件. &g ...

  5. nginx+tomcat集群方法

    下载地址:wget http://nginx.org/download/nginx-1.16.1.tar.gz 解压:tar -zxvf 预编译 nginx+tomcat集群方法: 进入nginx配置 ...

  6. 在搞OSS对象存储中发现了自身的一些不足

    最近在搞OSS对象存储,发现了自身的一些不足,趁着有空在此做个总结,希望能够帮助到大家!!! 首先解释下OSS,Object Storage Service(对象存储服务),一般的云公司,都会提供OS ...

  7. Python练习题 011:成绩打分

    [Python练习题 011] 利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. ---------------------- ...

  8. MDK内的KEEP关键字以及$$Base $$Limit

    使用mdk编程,假如有一个有用的函数你定义了但是没有显式的调用,mdk在默认方式下,将会把这个函数从整个程序总删除掉,以节省ROM. 比如,你在ROM的0x00002000处定位了一个函数,假设为vo ...

  9. 在.NET中使用DiagnosticSource

    前言 DiagnosticSource是一个非常有意思的且非常有用的API,对于这些API它们允许不同的库发送命名事件,并且它们也允许应用程序订阅这些事件并处理它们,它使我们的消费者可以在运行时动态发 ...

  10. java安全编码指南之:方法编写指南

    目录 简介 不要在构造函数中调用可以被重写的方法 不要在clone()方法中调用可重写的方法 重写equals()方法 hashCode和equals compareTo方法的实现 简介 java程序 ...