用户管理

1.概念

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. 用户和组: 。系统上的每个进程(运行程序)都作为一个特定的用户运行。 。每个文件都属于特定的用户。 。对文件和目录的访问受用户限制。 。与正在运行的进程关联的用户确定该进程可访问的文件和目录。

2.用户组信息存储的文件

01.用户基本信息

指令代码 tail /etc/passwd 查看最后行的用户信息(这里只截取部分信息) hello:x:1003:1003::home/hello:/bin/bash 可以看到显示出来的是由6个冒号分隔出来的7个字符 意思分别为 hello:用户名 x:密码占位符(x代表密码为空): 1003:id编号 1003:组编号 ::中间为空,代表描述信息为空 home/hello:家目录,用户信息存放的位置 /bin/bash:shell.壳,代表指令向命令解释器发送的信息 注意:不能用vim方式更改文件,作用主要是观察

02.用户密码信息文件

指令代码 tail /etc/shadow 查看用户密码信息 1)“登录名”是与/etc/passwd文件中的登录名相一致的用户账号 2)“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;
星号代表帐号被锁定; 双叹号表示这个密码已经过期了。 $6$开头的,表明是用SHA-512加密的, $1$ 表明是用MD5加密的 $2$ 是用Blowfish加密的 $5$ 是用 SHA-256加密的。 3)“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。 4)“最小时间间隔”指的是两次修改口令之间所需的最小天数。 5)“最大时间间隔”指的是口令保持有效的最大天数。 6)“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。 7)“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。(软限制。到期后多少天就不能用账号了。) 8)“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。(硬限制。)

  1. 保留

03.组信息文件

指令代码 tail /etc/group 查看组信息文件 hello:组 x:组密码 1003:组ID :组成员(默认为空)

3.用户/组管理

01.用户

创建用户 未指定选项

指令代码 useradd user1 创建一个用户名为user1 通过 id user1查看用户是否存在 可以看到一个为user1的用户名已经建立(默认的id编号与组编号由1000开始依次类推,如第一个建立的账号为1000,第二个建立的账号就是1001,依次类推) 如果创建一个用户时,未指定任何选项,系统会创建一个和用户名相同的组作为用户的Primary Group.

创建用户 指定选项

代码指令 useradd user2 -u 1122 创建一个user2的用户指定uid为1122 user2的账号已经创立,且之后的账号也会遵循原则,例如下一个user3的账号uid为1123 useradd user3 -d /user3 创建一个名为user3的账号,但放在user3下的目录下(之前的都为默认的/home/账号名)

删除用户

代码指令 userdel -r user3 删除名为user3的账户 可以看到user3的账号已经被删除

用户密码

代码指令 passwd user2 修改user2的密码 passwd 修改自己的密码 普通用户只能修改自己的密码,超管才有权限修改其他用户密码

其他选项管理

指令代码 usermod -s /sbin/nologin user2 修改user2的shell,使它不能登录 user2的信息已经被更改,无法登录

创建组

指令代码 groupadd cct -g 1100 创建一个名为cct的组,并指定组编号(gid)为1100 可以看到一个cct的组已经建立,,组编号为1100

组成员信息管理
查看组员原信息

指令代码 id user1

将用户追加到cct组里

指令代码 usermod -aG cct user1 将用户user1添加到cct组里面

将用户移除组

指令代码 gpasswd -d user1 cct 将用户user1从cct组中移出来

删除组

指令代码 groupdel cct 删除cct这个组

基本组与附加组

随用户创建,自动生成的基本组 当用户加入到其他组里面,其他组就成为了他的附加组 user1的基本组为1004 将user1添加到其他组里面 aac(1123)的组相对于user1就是一个附加组