用户信息文件:
[root@centos ~]# more /etc/passwd
root : x :0 :0 :root :/root :/bin/bash
用户名称:密码标志:UID(用户ID):GID(用户初始组ID):用户说明:家目录:登录之后的shell
影子文件:
[root@centos ~]# more /etc/shadow
root:$6$9lotqRkS$Y6quPZf.UhrLprP1hu2MHN1/Kr1huIwDi/BrxU9GSu73tnCWYYE2PEQXHlD3iw80JeyjEUm9gYVAC1Zi.ri9C1:17298:0:99999:7:::
1:用户名
2:加密后密码(如果密码是!!或*表示无密码)
3:密码最后修改日期(使用1970年1月1日作为标准时间,每过一天时间戳加1)
4:两次修改密码间隔时间
5:密码有效期
6:密码修改到期前的警告天数
7:密码到期后宽限天数(和5相比。-1代表密码不失效)
8:账号失效时间(用时间戳表示)
9:保留
把时间戳换算为日期:
date -d "1970-1-1 17298 days"
把日期推算为时间戳:
[root@centos ht]# echo $(($(date --date="2017/5/12" +%s)/86400+1))
组信息文件:
[root@centos ht]# more /etc/group
ht : x :1000:ht
组名:组密码标志:GID:附加用户
组密码文件:
[root@centos ht]# more /etc/gshadow
root: : :
组名:组密码:组管理员用户名:附加用户
用户邮箱:
[root@centos ht]# cd /var/spool/mail/
用户模板:
[root@centos mail]# cd /etc/skel/
useradd创建新用户
-d 指定用户家目录
-D 显示默认值
-e 有效时间(格式YYYY-MM-DD)
-c 用户说明
-g 指定初始组(必须已存在)
-G 指定一个或多个扩展组
-N 不创建与用户同名的用户组
-s 指定默认shell
-u 指定用户UID
例:创建名为user123的用户,并定义家目录、UID、默认shell(不允许登录)
[root@centos ~]# useradd -d /home/user123 -u 6666 -s /sbin/nologin user123
用户默认配置文件:
/etc/default/useradd
GROUP=100 用户默认组
HOME=/home 用户家目录
INACTIVE=-1 密码过期宽限天数(shadow文件7字段)
EXPIRE= 密码失效时间(shadow文件8字段)
SHELL=/bin/bash 默认shell
SKEL=/etc/skel 模板目录
CREATE_MAIL_SPOOL=yes 是否建立邮箱
/etc/login.defs
PASS_MAX_DAYS 99999 密码有效期(shadow文件5字段)
PASS_MIN_DAYS 0 密码修改间隔(shadow文件4字段)
PASS_MIN_LEN 5 密码最小5位(已失效,改用PAM)
PASS_WARN_AGE 7 密码到期警告(shadow文件6字段)
UID_MIN 500 最小和最大UID范围
GID_MAX
ENCRYPT_METHOD SHA512 加密方式
Passwd 修改用户密码
-S 查询密码状态
-l 锁定禁止登录
-u 解锁允许登录
-d 使账号无密码
-e 强制下次登录修改密码
--stdin 把管道符输出的命令作为用户密码
如 echo “123”|passwd –stdin user123
usermod 修改用户属性
-d -m 重新指定用户家目录并转移旧数据
-e 到期时间(格式YYYY-MM-DD)
-c 填写备注
-g 变更所属用户组
-G 指定一个或多个扩展组
-s 指定默认shell
-L 锁定禁止登录
-U 解锁允许登录
userdel 删除用户
-f 强制删除用户、家目录及其相关文件
-r 同时删除用户、家目录与其相关文件
su - 切换用户
groupadd 添加用户组
-g GID
groupmod 修改用户组
-g GID
-n 修改组名
groupdel 删除用户组
gpasswd 从组中添加/删除用户
-a 加入组
-d 从组中删除