用户管理
用户的基本概述
用户的配置文件
[root@lxy ~]# head -1 /etc/passwd #存在用户的基本信息
root:x:0:0:root:/root:/bin/bash
以:为分隔符,分成7列
第一列: root #用户的名称
第二列: x #密码的占位符
第三列: 0 #用户的UID
第四列: 0 #用户的组ID,GID
第五列: root #用户的注释信息
第六列: /root #用户的家目录
第七列; /bin/bash #用户的命令解释器
/bin/bash #是可以登录系统,正常执行命令
/sbin/nologin #不能登录系统
[root@lxy ~]# head -1 /etc/shadow #存放用户的密码信息
root:$6$V9AwwqfvrAHzDuQo$zTpPusyj3Xbq3eOFe6bhhupTCAsJ8vVRodnPlPnMF.6/GNuuSqlF5J72IzDQh02ZOiFEFdxPnKe5OOKjd0sH5.::0:99999:7:::
以:号为分割符,分成9列
第一列: #用户的名称
第二列: #用户的密码,加密 ,* 或 !! 表示没有密码
第三列:17834 #表示用户的密码最近的一次修改时间,距离1970年1月1号过了多少天
第四列: 0 #密码最小使用时间,0 没有限制
第五列:99999 #密码的最大有效期,最大的使用时间
第六列:7 #密码到期后的警告时间
第七列: #密码过期后的宽恕时间
第八列: #账户的失效时间
第九列: #没有使用
系统跟用户的约定
0
用户的相关命令
id #查看用户的id信息
[root@lxy ~]# id #查看当前登录的用户
uid=0(root) gid=0(root) groups=0(root)
[root@lxy ~]# id test #查看指定的用户信息
uid=1000(test) gid=1000(test) groups=1000(test)
useradd #创建用户,默认创建的是普通用户
[root@lxy ~]# ll /usr/sbin/adduser
lrwxrwxrwx. 1 root root 7 Nov 26 20:23 /usr/sbin/adduser -> useradd
选项:
-u #指定用户的UID
-g #指定用户组,写组名或者组的ID,基本组
-G #指定附加组,多个使用逗号分隔
-c #添加注释信息
-r #创建系统用户,不创建家目录
-M #不创建家目录
-d #指定家目录的位置,目录要是不存在
-s #指定用户的命令解释器
[root@lxy ~]# id user01 #默认创建普通的用户
uid=1001(user01) gid=1001(user01) groups=1001(user01)
[root@lxy ~]# grep \'user01\' /etc/passwd
user01:x:1001:1001::/home/user01:/bin/bash
[root@lxy ~]# useradd -u888 -c "测试用户" -d /opt/user02 user02
[root@lxy ~]# id user02
uid=888(user02) gid=1002(user02) groups=1002(user02)
[root@lxy ~]# grep \'user02\' /etc/passwd
user02:x:888:1002:测试用户:/opt/user02:/bin/bash
[root@lxy ~]# ll /opt/
drwx------. 2 user02 user02 62 Dec 12 18:36 user02
[root@lxy ~]# useradd -r -s /sbin/nologin user04
[root@lxy ~]# grep \'user04\' /etc/passwd
user04:x:664:663::/home/user04:/sbin/nologin
[root@lxy ~]# ll /home/
total 0
drwx------. 2 test test 62 Nov 27 19:57 test
drwx------. 2 user01 user01 62 Dec 12 18:29 user01
[root@lxy ~]# useradd -M -s /sbin/nologin user05
[root@lxy ~]# ll /home/
total 0
drwx------. 2 test test 62 Nov 27 19:57 test
drwx------. 2 user01 user01 62 Dec 12 18:29 user01
[root@lxy ~]# grep \'user05\' /etc/passwd
user05:x:2000:2000::/home/user05:/sbin/nologin
usermod #修改用户
选项:
-u #修改uid信息
-g #修改基本组的id,GID
-a #添加附加组,不能单独添加,-G配合
-G #修改附加组,会将附加组的覆盖
-aG #追加
-m #迁移家目录
-d #修改家目录
-c #修改注释信息
-s #修改命令解释器
-l #修改用户的名称
-L #锁定用户
-U #解锁用户
[root@lxy ~]# usermod -u1010 -c "test" -s /bin/bash user05
[root@lxy ~]# grep \'user05\' /etc/passwd
user05:x:1010:2000:test:/home/user05:/bin/bash
[root@lxy ~]# usermod -md /home/user02 user02
[root@lxy ~]# ll /home/
total 0
drwx------. 2 test test 62 Nov 27 19:57 test
drwx------. 2 user01 user01 62 Dec 12 18:29 user01
drwx------. 2 user02 user02 62 Dec 12 18:36 user02
[root@lxy ~]# usermod -l oldboy user05 #修改名称
[root@lxy ~]# id user05
id: user05: no such user
[root@lxy ~]# id oldboy
uid=1010(oldboy) gid=2000(user05) groups=2000(user05)
[root@lxy ~]# grep \'oldboy\' /etc/passwd
oldboy:x:1010:2000:test:/home/user05:/bin/bash
[root@lxy ~]# usermod -L test #锁定用户
[root@lxy ~]# usermod -U test #解锁用户
userdel #删除用户
选项:
-r #删除用户的家目录及邮件信息
[root@lxy ~]# userdel user02 #默认不删除家目录和邮件信息
[root@lxy ~]# grep \'user02\' /etc/passwd
[root@lxy ~]# id user02
id: user02: no such user
[root@lxy ~]# ll /home/
total 0
drwx------. 2 test test 62 Nov 27 19:57 test
drwx------. 2 user01 user01 62 Dec 12 18:29 user01
drwx------. 2 888 1002 62 Dec 12 18:36 user02
[root@lxy ~]# userdel -r user01 #删除跟用户相关的所有信息
[root@lxy ~]# ll /home/
total 0
drwx------. 2 test test 62 Nov 27 19:57 test
drwx------. 2 888 1002 62 Dec 12 18:36 user02
用户的扩展知识