用户的作用
Users and groups:
. Every process (running program) on the system runs as a particular user.
. Every file is owned by a particular user.
. Access to files and directories are restricted by user.
. The user associated with a running process determines the files and directories accessible to that process.
查看当前登录的用户信息:
[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root)
查看文件的owner:
[root@localhost ~]# ll /home/
drwx------. 4 alice alice 4096 Jun 2 15:59 alice
drwx------. 2 root root 16384 Jun 1 23:09 lost+found
drwxr-xr-x 2 root root 4096 Jun 2 15:33 qianfeng
查看运行进程的username:
[root@localhost ~]# ps aux |grep root
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 19360 1536 ? Ss 13:29 0:00 /sbin/init
root 2 0.0 0.0 0 0 ? S 13:29 0:00 [kthreadd]
root 3 0.0 0.0 0 0 ? S 13:29 0:00 [migration/0]
用户组信息存储的文件
- /etc/passwd(冒号分割为7列字段)
- root:x:0:0:root:/root:/bin/bash
- 用户名:x:uid:gid:描述:HOME:shell
用户密码信息文件
- /etc/shadow(9列)
- root:$1$MYG2N:15636:0:99999:7: : :
1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号
2)“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;
星号代表帐号被锁定;
双叹号表示这个密码已经过期了。$6$开头的表明是用SHA-512加密的,$1$ 表明是用MD5加密的,$2$ 是用Blowfish加密的,$5$ 是用 SHA-256加密的。
3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。
4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。
5)“最大时间间隔”指的是口令保持有效的最大天数。
6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。(软限制。到期后多少天就不能用账号了。)
8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。(硬限制。)
9) 保留
用户管理命令
创建用户 未指定选项
[root@localhost ~]# useradd user01
[root@localhost ~]# id user01
uid=1001(user01) gid=1001(user01) 组=1001(user01)
用户编号=具体数字(用户名) 组编号=具体数字(组名) 组=组ID(成员名字)
如果创建一个用户时,未指定任何选项,系统会创建一个和用户名相同的组作为用户的Primary Group.
创建用户 指定选项
[root@localhost ~]# useradd user02 -u 1503 //创建用户user02,指定uid
[root@localhost ~]# useradd user03 -d /user03 //创建用户user03 指定家目录
删除用户
[root@localhost ~]# userdel -r user02 //-r 一同删除用户家目录
用户密码
[root@localhost ~]# passwd alice //root修改其他用户(alice)密码
[zhuzhu@localhost ~]$ passwd //用户(zhuzhu)登录,自己修改密码。
其它选项管理
[root@localhost ~]# usermod -s /sbin/nologin user02 //修改登录SHELL
用户组管理:
[root@localhost ~]# groupadd hr //创建一个hr组
[root@localhost ~]# groupadd net01 -g 1007 //创建组net01,并指定gid 1007
[root@localhost ~]# groupdel net01 //删除组
[root@localhost ~]# tail -3 /etc/group //查看用户
组成员管理
[root@localhost ~]# usermod user02 -G hr //将用户追加到hr组
[root@localhost ~]# gpasswd -d user02 hr //将用户移除组