用户身份与能力
Linux系统中,是通过UID来判断用户身份的。
- 管理员UID为0:系统的管理员用户。
- 系统用户UID为1~999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控制被破坏范围。
- 普通用户UID从1000开始:由管理员创建的用于日常工作的用户。
在Linux系统中创建每个用户时,将自动创建一个与其同名的基本用户组,而且这个基本用户组只有该用户一个人。如果该用户以后被归纳入其他用户组,则这个其他用户组称之为扩展用户组。一个用户只有一个基本用户组,但是可以有多个扩展用户组。通过使用用户组号码(GID,Group IDentification),我们可以把多个用户加入到同一个组中。
useradd
useradd命令用于创建新的用户,格式为“useradd [选项] 用户名”。
useradd命令中的用户参数以及作用:
参数 | 作用 |
---|---|
-d |
指定用户的家目录(默认为/home/username) |
-e |
账户的到期时间,格式为YYYY-MM-DD. |
-u |
指定该用户的默认UID |
-g |
指定一个初始的用户基本组(必须已存在) |
-G |
指定一个或多个扩展用户组 |
-N |
不创建与用户同名的基本用户组 |
-s |
指定该用户的默认Shell解释器 |
代码演示:
#创建指定家目录和shell解释器的用户linux,默认解释器被设置为/bin/nologin,则该用户无法登录系统
[root@localhost ~]# useradd -d /home/linux -u 8888 -s /sbin/nologin linux
[root@localhost ~]# id linux
uid=8888(linux) gid=8888(linux) groups=8888(linux)
groupadd
groupadd命令用于创建用户组,格式为“groupadd [选项] 群组名”。
代码演示:
#创建一个名为admin的用户组
[root@localhost ~]# groupadd admin
usermod
usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。
usermod命令中的参数及作用:
参数 | 作用 |
---|---|
-c |
填写用户账户的备注信息 |
-d -m |
两个参数连用,可重新指定用户的家目录并自动把旧的数据转移过去 |
-e |
账户的到期时间,格式为YYYY-MM-DD |
-g |
变更所属用户组 |
-G |
变更扩展用户组 |
-L |
锁定用户禁止其登录系统 |
-U |
解锁用户,允许其登录系统 |
-s |
变更默认终端 |
-u |
修改用户的UID |
代码演示:
#查看账户linux的默认信息:
[root@localhost ~]# id linux
uid=1000(linux) gid=1000(linux) groups=1000(linux)
#将用户linux加入到root用户组中
[root@localhost ~]# usermod -G root linux
[root@localhost ~]# id linux
uid=1000(linux) gid=1000(linux) groups=1000(linux),0(root)
#修改linux用户的UID号码值
[root@localhost ~]# usermod -u 8888 linux
[root@localhost ~]# id linux
uid=8888(linux) gid=1000(linux) groups=1000(linux),0(root)
passwd
passwd命令用于修改用户密码,格式为“passwd [选项] [用户名]”。
passwd命令中的参数以及作用:
参数 | 作用 |
---|---|
-l |
锁定用户,禁止其登录 |
-u |
解除锁定,允许用户登录 |
--stdin |
允许通过标准输入修改用户密码 |
-d |
使该用户可用空密码登录系统 |
-e |
强制用户在下次登录时修改密码 |