Linux用户和用户组解析及管理命令
Linux
梦想屋
2162
0
Linux是一个多用户、多任务的操作系统,系统管理员可以通过分配不同的角色,赋予不同用户各自的权限以及可执行的任务。
用户
Linux中每个用户都拥有属于自己的用户ID(UID)和组ID(GID),其中UID是唯一识别一个用户的标识。系统中主要有三种类型的用户:
- 管理员用户:root用户,UID为0,拥有至高无上的权限。
- 虚拟用户:UID 分配范围为1-999,不能登录系统,主要是一些程序用户
- 普通用户:UID分配范围为1000+,由管理员用户创建,具备有限的权限。
系统中与用户有关的文件有:/etc/passwd、/etc/shadow,文件内容以冒号分隔。

/etc/passwd

/etc/shadow
useradd 命令
语法:
useradd [options] LOGIN
常用参数:
-u:指定用户uid数值信息
-g:指定用户所属的基本组
-G:指定用户所属的的附加组
-M:不创建家目录
-s:指定用户的登录Shell
-c:添加指定用户注释说明信息
# 一般创建程序用户,不创建家目录和不允许登录(/sbin/nologin) [root@my-os ~]# useradd -u 2000 -M -s /sbin/nologin nginx [root@my-os ~]# tail -1 /etc/passwd # id 查看用户 [root@my-os ~]# id nginx

# 创建用户,指定附加组,添加注释信息 [root@my-os ~]# useradd student -G study -c "admin" [root@my-os ~]# tail -1 /etc/passwd student:x:2001:2001:admin:/home/student:/bin/bash [root@my-os ~]# id student uid=2001(student) gid=2001(student) groups=2001(student),1000(study)

usermod 命令
语法:
usermod [options] LOGIN
常用参数:
-s:修改用户的登录方式
-g:修改用户的主要的组信息
-G:修改用户的附属组信息
-c:修改用户的注释信息
# 修改添加附件组 [root@my-os ~]# usermod -G study tom [root@my-os ~]# id tom uid=1001(tom) gid=1001(tom) groups=1001(tom),1000(study)

# 修改登录shell方式 [root@my-os ~]# usermod -s /bin/bash nginx [root@my-os ~]# tail -1 /etc/passwd student:x:2001:2001:admin:/home/student:/bin/bash

userdel 命令
语法:
userdel [options] LOGIN
常用参数:
-r:彻底删除用户以及用户的家目录
[root@my-os ~]# ls /home/tom/ -ld [root@my-os ~]# userdel -r tom # -r : 删除后家目录不存在了 [root@my-os ~]# ls /home/tom/ -ld ls: cannot access /home/tom/: No such file or directory

用户组
linux系统中的用户组就是具有相同特性的用户集合。将用户分组是linux系统中对用户进行管理及控制访问权限的一种手段,通过定义用户组,在很大程度上简化了运维管理工作。
系统中与用户组有关的文件有:/etc/group、/etc/gshadow,文件内容以冒号分隔。

/etc/group