4 Linux用户管理

一、用户相关文件

/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow

1、/etc/passwd 用户信息文件
root:x:0:0:root:/root:/bin/bash 共七列用:分割
第一列:用户名
第二列:密码位或者叫密码标识
第三列:用户UID
0 超级用户UID
1-499 系统用户(伪用户)UID (用来运行系统或服务)
500-65535 (60000) 普通用户UID   Centos7是从1000开始***
第四列:组ID
GID添加用户时,如果不指定用户所属的初始组,那么会建立与用户名相同的组
第五列:用户的说明
第六列:用户的家目录 ~
第七列:登录shell

如何把普通用户变为超级用户:把用户UID改为0


2、/etc/shadow
root:$6$dcj0QQMJyeQ9yVYB$HWaqZMtuJrsvw9U8jBU8qwPurqF/63jMAGCj25TGHt47HpBs/xdu6og1BVkmo26GUnmFdz6eNJCaiTVh/ChW90:18089:0:99999:7::: 也是用:分割,共9列
第一列:用户名
第二列:加密后的密码
可以在密码前加入!让密码暂时失效,使这个用户暂时无法登录。所有的系统用户密码都是!!或者*表示这个用户没有密码不能登录
第三列:密码更新时间,1970年1月1日作为标准时间(时间戳)
在1970年1月1日后又过去了18089天
时间戳转日期:
[root@localhost ~]# date -d "1970-01-01 18089 days"
2019年 07月 12日 星期五 00:00:00 CST
日期转时间戳:
[root@localhost ~]# echo $(($(date --date="2019/07/12" +%s)/86400+1))
18089


第四列:两次密码的修改间隔时间(和第三列相比) 例如:10的话就是10天后才可以修改密码
第五列:密码有效期(和第三字段相比)
第六列: 密码修改到期前的警告天数(和第 5 字段相比)
第七列:密码过期后的宽限天数(和第 5 字段相比) 默认-1 表示到期后用户不会被禁用
第八列: 密码失效时间
这里同样要写时间戳,也就是用 1970 年 1 月 1 日进行时间换算。如果超过了 失效时间,就算密码没有过期,用户也就失效无法使用了
第九列: 保留


3、/etc/group

user1:x:500:
第一列: 组名
第二列: 组密码位
第三列: GID
第四列: 此组中支持的其他用户.附加组是此组的用户

初始组:每个用户初始组只能有一个,初始组只能有一个,一般都是和用户名相同的组作为 初始组 附加组:每个用户可以属于多个附加组。要把用户加入组,都是加入附加组 


4、组密码文件/etc/gshadow 如果我给用户组设定了组管理员,并给该用户组设定了组密码,组密码就保存在这个文件当中。 组管理员就可以利用这个密码管理这个用户组了。

补充:

用户邮箱目录 这个邮箱在/var/spool/mail 目录当中,例如 user1 用户的邮箱就是/var/spool/mail/user1 文 件
用户模板目录 /etc/skel/

不交互修改密码 echo "123" | passwd --stdin user1 

用户管理命令:

useradd

参数:

  -u指定uid

  -g指定组名    *不要手工指定

  -G指定附加组   把用户加到附加组中

  -c添加说明

  -s指定shell

  -M不创建家目录 ***

useradd默认值

useradd 添加用户时参考的默认值文件主要有两个,分别是/etc/default/useradd 和 /etc/login.defs 

原文地址:https://www.cnblogs.com/baci/p/11272652.html