什么是用户?
就是能正常登陆系统的一种身份就是用户。linux是支持多用户同时登陆的,系统中有很多进程需要不同的用户进行管理。
[root@lixian ~]#id #显示当前登录的用户信息 uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [root@lixian ~]# id adm #显示其他用户的信息 uid=3(adm) gid=4(adm) groups=4(adm) [root@lixian ~]# ps aux #不同的进程使用不同的用户启动和管理
1、用户的配置文件
/etc/passwd 存在用户的基本信息
[root@lixian ~]# 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
具体内容:
第一列: root #用户的名称 第二列: x #密码的占位符 第三列: 0 #用户的UID 第四列: 0 #GID,用户组的ID 第五列: root #用户的注释信息 第六列: /root #用户的家目录 第七列:/bin/bash #用户的命令解释器 /bin/bash #可以登录系统,正常执行命令 /sbin/nologin #不能登录系统
/etc/shadow #存放用户的密码信息
[root@lixian ~]# cat /etc/shadow root:$6$Awvzd1Mn$ydQJwin2NrrkmDPPaEyauA4K9E2HVOpF0l60S9KTmXTpJcqOO34sZ3oEgHqlhhE3vw7OFIPqzoF3982oonR5u1:18230:0:99999:7::: bin:*:17834:0:99999:7::: daemon:*:17834:0:99999:7::: adm:*:17834:0:99999:7:::
具体内容:
第一列:root #用户的名称 第二列:$ddFjFiaw #用户的密码,加密,*或!!表示无密码 第三列:18230 #表示用户密码最近一次修改时间,距离1970年 1月1日过了多少天 第四列: 0 #密码最小的使用时间,0 代表没有限制 第五列:99999 #密码的最大有效期,最大的使用时间 第六列: 7 #密码到期后的警告时间 第七列: #密码过期后的宽恕时间 第八列: #账户的失效时间 第九列: #暂无使用
2、系统用户UID限制
0 #超级管理员root用户的UID 1-200 #系统用户,系统本身自带,用于管理系统的进程或者程序 201-999 #系统用户,用户自己用来管理程序或进程的, 系统用户是不能登录系统的 1000+ #普通用户,可以登录系统的用户,权限比较小, 能执行的任务有限
3、用户的相关命令
id 查看用户的id信息
[root@lixian ~]# id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
id test 查看指定的用户信息
[root@lixian ~]# id lixian uid=1000(lixian) gid=1000(lixian) groups=1000(lixian)
useradd 创建用户,默认创建的是普通用户
[root@lixian ~]# adduser lixian [root@lixian ~]# ll /home/ total 0 drwx------. 2 lixian lixian 62 Dec 12 15:33 lixian
选项:
- u #指定用户的UID -g #指定用户组,GID,是个基本组 -G #指定附加组,多个使用逗号分隔 -c #添加注释信息 -r #创建系统用户,不创建家目录 -M #不创建家目录 -d #指定家目录的位置,目录必须不存在才可以指定 -s #指定用户的命令解释器
[root@lixian ~]# id user01 #默认创建普通的用户 uid=1001(user01) gid=1001(user01) groups=1001(user01) [root@lixian ~]# grep 'user01' /etc/passwd user01:x:1001:1001::/home/user01:/bin/bash [root@lixian ~]# useradd -u888 -c "测试用户" -d /opt/user02 user02 [root@lixian ~]# id user02 uid=888(user02) gid=1002(user02) groups=1002(user02) [root@lixian ~]# grep 'user02' /etc/passwd user02:x:888:1002:测试用户:/opt/user02:/bin/bash [root@lixian ~]# ll /opt/ drwx------. 2 user02 user02 62 Dec 12 18:36 user02 [root@lixian ~]# useradd -r -s /sbin/nologin user04 [root@lixian ~]# grep 'user04' /etc/passwd user04:x:664:663::/home/user04:/sbin/nologin [root@lixian ~]# 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@lixian ~]# useradd -M -s /sbin/nologin user05 [root@lixian ~]# 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@lixian ~]# 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@lixian ~]# usermod -u1010 -c "test" -s /bin/bash user05 [root@lixian ~]# grep 'user05' /etc/passwd user05:x:1010:2000:test:/home/user05:/bin/bash [root@lixian ~]# usermod -md /home/user02 user02 [root@lixian ~]# 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@lixian ~]# usermod -l oldboy user05 #修改名称 [root@lixian ~]# id user05 id: user05: no such user [root@lixian ~]# id oldboy uid=1010(oldboy) gid=2000(user05) groups=2000(user05) [root@lixian ~]# grep 'oldboy' /etc/passwd oldboy:x:1010:2000:test:/home/user05:/bin/bash [root@lixian ~]# usermod -L test #锁定用户 [root@lixian ~]# usermod -U test #解锁用户
userdel #删除用户
选项:
-r #删除用户的家目录及邮件信息
[root@lixian ~]# userdel user02 #默认不删除家目录和邮件信息 [root@lixian ~]# grep 'user02' /etc/passwd [root@lixian ~]# id user02 id: user02: no such user [root@lixian ~]# 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@lixian ~]# userdel -r user01 #删除跟用户相关的所有信息 [root@lixian ~]# ll /home/ total 0 drwx------. 2 test test 62 Nov 27 19:57 test drwx------. 2 888 1002 62 Dec 12 18:36 user02