用户管理
系统通过UID来设置用户的身份
uid = 0 root用户
uid = 1 - 999 系统账号
uid = 1000 - 60000 普通账号
添加账号
[root@localhost ~]# useradd abc1
[root@localhost ~]# id abc1
uid=1001(abc1) gid=1001(abc1) 组=1001(abc1)
用户的配置文件: /etc/passwd
[root@localhost ~]# vim /etc/passwd
robin:x:1000:1000:robin:/home/robin:/bin/bash
第一列: 用户名
第二列: 密码占位符(是否验证)
第三列: UID
第四列: GID
第五列: 描述信息
第六列: 家目录
第七列: shell
[root@localhost ~]# useradd -u 1500 abc2 -u 指定UID
[root@localhost ~]# useradd -u 1501 -g abc1 abc3 -g 指定GID
[root@localhost ~]# useradd -u 1502 -g abc1 -c "test user" abc4 -c 描述
[root@localhost ~]# useradd -u 1503 -g abc1 -c "test user" -d /mnt/abc5 abc5 -d 家目录
[root@localhost ~]# useradd -u 1504 -g abc1 -c "test user" -d /mnt/abc6 -s /bin/tcsh abc6 -s 指定shell
添加组
GID = 0 root
GID = 1 - 999 系统组
GID = 1000-60000 普通用户组
[root@localhost ~]# groupadd newteam
配置文件: /etc/group
[root@localhost ~]# vim /etc/group
newteam:x:1501:
第一列: 组名
第二列: 组密码占位符
第三列: GID
第四列: 是那个用户的附加组
[root@localhost ~]# groupadd -g 2000 east -G 指定GID
密码设置
[root@localhost ~]# passwd robin root账号设置其他用户密码
[robin@localhost ~]$ passwd 普通用户设置自己的密码
[root@localhost ~]# echo 123 | passwd --stdin robin 非交互设置密码
密码的配置文件: /etc/shadow
[root@localhost ~]# vim /etc/shadow
robin:$6$CxIC/kUG$XVhpWM5yaf/oSuNcue9oiitpX/qt7ZdLCTULTZt21gZ1stIzK/PCW6z6qZa9FXMQeB3f igQKZSVZ8AoqHCQkG0:19346:2:10:3:3::
第一列: 用户名
第二列: 密码(有密码 无密码 !!密码锁定状态 *该用户永久不能登陆系统)
第三列: 密码的最后一次修改时间 (1970-1-1 unix元年)
第四列: 修改密码的最小时间
第五列: 修改密码的最大时间(99999 永久有效)
第六列: 密码过期前警告时间
第七列: 密码过期后账号过期时间
第八列: 账号有效期
第九列: 保留列
修改用户信息
[root@localhost ~]# usermod -u 1600 abc1
[root@localhost ~]# usermod -g east abc1
[root@localhost ~]# usermod -c "hello user" abc1
[root@localhost ~]# usermod -s /bin/csh abc1
修改家目录
[root@localhost ~]# usermod -d /home/abc6 abc6
[root@localhost ~]# mv /mnt/abc6/ /home/
或者
[root@localhost ~]# usermod -m -d /home/abc5 abc5
锁帐号
[root@localhost ~]# usermod -L robin
[root@localhost ~]# usermod -U robin
设置不登录用户
[root@localhost ~]# useradd -M -s /sbin/nologin zorro -M 不添加家目录
[root@localhost ~]# useradd -o -u 0 admin -o 添加重复uid的账号
修改组
[root@localhost ~]# groupmod -g 3000 east
[root@localhost ~]# groupmod -n neweast east 修改组名
密码修改
[root@localhost ~]# passwd -l robin
[root@localhost ~]# passwd -S robin
[root@localhost ~]# passwd -u robin
删除组
[root@localhost ~]# groupdel neweast 当组内有用户时组是不能删除的
删除用户
[root@localhost ~]# userdel -r abc5 删除用户并且删除家那目录 当用户登陆时用户不能删除
手动管理账号
1.groupadd haha
[root@localhost ~]# vim /etc/group
haha:x:4000:
2.useradd -g haha heihei
[root@localhost ~]# vim /etc/passwd
heihei:x:4000:4000:hello heihei:/home/heihei:/bin/bash
[root@localhost ~]# mkdir /home/heihei
[root@localhost ~]# cp -r /etc/skel/.bash* /home/heihei/
3.passwd heihei
[root@localhost ~]# vim /etc/shadow
heihei::19346:0:99999:7:::
[root@localhost ~]# echo 123 | passwd --stdin heihei
附加组
[root@localhost ~]# usermod -a -G east robin -a 在原有的基础上添加附加组
root@localhost ~]# usermod -a -G west robin
[root@localhost ~]# usermod -G east robin 直接覆盖附加组
用户配置文件
/etc/login.defs 设置UID GID范围 设置密码属性 设置邮箱 家目录权限
当用户名和组名相同时,如果组内没有其他账号,删除用户时,组一起删除
如果用户名和组名不同,组内没有其他成员,删除用户时,组不删除
[root@localhost ~]# vim /etc/default/useradd
HOME=/home 默认家目录
SHELL=/bin/bash 默认shell
SKEL=/etc/skel 默认拷贝环境变量配置文件的位置
显示登陆用户信息
[root@localhost ~]# who
[root@localhost ~]# w
[root@localhost ~]# whoami 当前用户
[root@localhost ~]# who i am 登录账号