1、用户配置文件
/etc/passwd
[root@localhost ~]# 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
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
(1)用户名
(2)密码 采用加密算法进行存储,单项散列算法,存放在密码配置文件中,用X填充
(3)用户ID(UID)
7.0版本 0-999:预留给系统用户 1000-60000:自定义用户
7.0以前 0-499:预留给系统用户 500 以上 自定义用户
(4)组ID(GID) ---初始化组的组ID
私有组:一个用户必须有且仅有一个私有组,不指定情况下,系统会自动创建一个与用户名同名的组作为改用的私有组
标准组:普通的应用组,用户可以选择加入或不加入标准组,或者同时加入多个标准组
(5)用户属性信息
邮箱、电话等 ---一般不设置
(6)指定用户的家目录
管理员 /root 普通用户 /home/用户名
(7)用户使用的shell及存放路径
/bin/false:/bin/false什么也不做只是返回一个错误状态,然后立即退出。将用户的shell设置为/bin/false,用户会无法登录,并且不会有任何提示。
/usr/sbin/nologin:nologin会礼貌的向用户显示一条信息,并拒绝用户登录:This account is currently not available.
2、密码配置文件
/etc/shadow (影子文件)
(1)用户名
(2)经过加密后的密码
(3)从1970.1.1到上一次修改密码经过的天数
(4)两次修改密码的时间间隔,一般设置为0位,即随时修改
(5)密码的有效期限,默认99999
(6)密码失效前多少天通知用户 默认7天
(7).密码有效期到了设置的宽限期
(8)账号有效期限,默认没设置,即永不过期
(9)保留
3、新建用户
# useradd / adduser 参数 用户名
注:只有管理员有权限;新建用户不设置密码不来允许登录
# passwd 用户名 ---给指定用户设置密码
4、修改密码(root可以修改所有用户密码,普通用户只能修改自己的密码)
# passwd ---修改当前用户的密码
5、锁用户(锁定密码、账号)
# passwd -l 用户名 ---锁定用户密码 lock
# passwd -u 用户名 ---解锁 unlock
# passwd -d 用户名 ---清空密码
# usermod -L 用户名 ---锁用户
# usermod -U 用户名 ---解锁
6、useradd 参数
-d 路径 ---指定用户家目录
-s ---指定用户使用的shell
-u 数值 ---指定用户的UID
-g GID/组名 ---指定用户的私有组
-G GID/组名 ---将用户加入至某个标准组
7、用户重命名
usermod -l 新名 原名 ---先写新名再写原名
注:改名时该用户不能是登录状态
usermod ---修改一个已经存在用户的信息
参数
-d 路径 ---指定用户家目录
-s ---指定用户使用的shell
-u 数值 ---指定用户的UID
-g GID/组名 ---指定用户的私有组
-G GID/组名 ---将用户加入至某个标准组
8、删除用户
# userdel 用户名 ---清除配置文件中的用户信息,保留用户家目录
# userdel -r 用户名 ---清除配置文件中的用户信息,删除用户所有数据包括家目录,邮箱
9、添加用户的限制文件
/etc/defaults/useradd
/etc/logins.defs
10、组管理
/etc/group
/etc/gshadow
(1)新建组
groupadd 组名 ---新建组
groupadd -g 2000 组名 ---新建组同时指定组id
gpasswd 组名 ---设置组密码
(2)修改一个用户的私有组或标准组
修改用户的私有组
# usermod -g 组名 用户名
# id 用户名 ---查看指定用户的组信息
# id ---查看当前用户的组信息
修改用户所在的标准组
# usermod -G 组名 用户名 ---先退出原有标准组,加入新的组
# gpasswd -a 用户名 组名 --- 不替换,追加
(3)groupmod ---修改已经存在的组的信息
-g 数值 ---修改组id
-n 新组名 原组名 ---重命名
(4)删除
# groupdel 组名 ---删除组
注:该组正在作为某个用户的私有组不允许删除
一个组可以同时作为多个用户的私有组存在