1 简介
用户和用户组管理,顾名思义就是添加用户和用户组、更改密码和设定权限等操作。可能有很多人觉得用户管理没有意义,因为我们在使用个人计算机的时候,不管执行什么操作,都以管理员账户登录,而从来没有添加和使用过其他普通用户。这样做对个人计算机来讲问题不大,但在服务器上是行不通的。
大家想象一下,我们是一个管理团队,共同维护一组服务器,难道每个人都能够被赋予管理员权限吗?显然是不行的,因为不是所有的数据都可以对每位管理员公开,而且如果在运维团队中有某位管理员对 Linux 不熟悉,那么赋予他管理员权限的后果可能是灾难性的。
因此,越是对安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。
2 分类
2.1 用户分类
2.1.1 超级用户
用户名 | UID |
---|---|
root | 0(不重复) |
2.2.2 普通用户
系统 | UID |
---|---|
CentOS6- | 1~499 |
CentOS7+ | 1~999 |
2.2.3 登录用户
系统 | UID |
---|---|
CentOS6- | 500+ |
CentOS7+ | 1000+ |
注意:60000+的UID通常需要用户自定义标识。
3 名字解释
名称解释
:系统将用户的名称和UID进行识别。
4 文件介绍
4.1 用户账号文件 passwd
存放用户信息,每项用 :
隔开
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名
:rootx
:口令、密码第一个0
:用户第二个0
:所在组第二个root
:密码:
:描述/root
:用户主目录/bin/bash
:用户缺省Shell
- passwd命令用于设置用户的认证信息,包括用户密码,密码过期时间等。
- 只有管理员可以指定用户名称。
- 一般用户只能变更自己的密码。
参数介绍:
-d:删除密码,仅有系统管理者才能使用;
-f:强制执行;
-k:设置只有在密码过期失效后,方能更新;
-l:锁住密码,不让修改。
-s:列出密码的相关信息,仅有系统管理者才能使用;
-u:解开已上锁的帐号。
4.1.1 用户test
密码操作
4.1.1.1 更改or创建用户test
用户的密码
passwd test
当用户不存在的时候后报错
4.1.1.2 当前用户修改自己的密码
passwd
4.1.1.3 禁止test
用户修改密码
passwd -l test
4.1.1.4 清除test
用户密码
passwd -d test
注意:密码清除后,无需密码,即可登录。
4.1.1.5 查询test
用户密码
passwd -S test
4.2 用户影子文件 shadow
cat /etc/shadow
4.3 用户组账号文件 groun和gshadow
jack:$!$:???:13801:0:99999:7:*:*:
组名
:jack$!$
:被加密的口令13801
:创建日期与今天相隔的天数0
:口令最短位数99999
:用户口令7
:到7天时提醒*
:禁用天数*
:过期天数
查看组文件
cat /etc/group
cat /etc/gshadow
5 创建用户 useradd
创建好的用户保存在/etc/passwd
文件中
5.1 参数
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变更预设值;
-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-s<shell>:指定用户登入后所使用的shell;
-u<uid>:指定用户
5.2 实战演练
5.2.1 创建用户并加入组
在这里插入代码片
5.2.2 创建用户and设置ID
useradd charles -u 520
注:设定ID值时尽量大于500,避免冲突,因为linux安装后会建立一些特殊用户,一般 0~499
之间的值留给bin、mail这样的系统账号。
5.3 实例
创建一个用户 tom,并设置uid为556,主目录为/usr/tom,属于users组:
useradd -u 544 -d /usr/tom -g users -m tom
-m
:如果主目录不存在则自动创建
6 修改用户信息 usermod
-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录;
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s<shell>:修改用户登入后所使用的shell;
-u<uid>:修改用户ID;
-U:解除密码锁定。
6.1 将tom用户添加到staff中
usermod -G staff tom
6.2 修改tom用户名为tom1
usermod -l tom1 tom
6.3 锁定账号tom1
usermod -L tom1
6.3 解除tom1用户锁定
usermod -U tom1
7 删除用户 userdel
-f:强制删除用户,即使用户当前已登录;
-r:删除用户的同时,删除与用户相关的所有文件。
7.1 删除用户 不删目录and文件
userdel linuxde
7.2 删除用户 目录文件一起删
记得提前备份
userdel -r linuxde
如果在 /etc/passwd
这里面删除也行,但是要注意不要失误(不建议)。
参考文章:
https://www.cnblogs.com/ruanni/p/13922064.html
https://blog.csdn.net/thq0201/article/details/7195152
https://www.huaweicloud.com/articles/116bf3e57ee2a75bd74b121f146b5337.html
https://www.runoob.com/linux/linux-user-manage.html
http://c.biancheng.net/linux_tutorial/60/