Linux系统作为多用户多任务的操作系统,通过用户和用户组的权限划分来保障系统资源的安全访问,掌握相关的管理命令是Linux使用者的必备技能。

用户管理相关命令
创建用户命令useradd
useradd命令用于创建新的系统用户,默认会同时创建同名的用户组,并且会在/home目录下生成用户的家目录。常用的参数包括-m表示强制创建家目录,-s指定用户的登录shell,-g指定用户所属的主组。
# 创建名为testuser的用户,同时创建家目录,指定登录shell为bash useradd -m -s /bin/bash testuser # 创建用户并指定主组为develop useradd -m -g develop testuser2
删除用户命令userdel
userdel命令用于删除已有的系统用户,默认不会删除用户的家目录和邮件目录,如果需要同时删除家目录可以添加-r参数。
# 删除testuser用户,保留家目录 userdel testuser # 删除testuser2用户并同时删除其家目录 userdel -r testuser2
修改用户属性命令usermod
usermod命令可以修改已有用户的各项属性,比如所属组、登录shell、家目录等,常用参数和useradd类似。
# 将testuser的登录shell修改为sh usermod -s /bin/sh testuser # 将testuser添加到develop附加组 usermod -aG develop testuser
查看用户信息命令
可以通过id命令查看用户的uid、gid以及所属的组信息,也可以通过cat /etc/passwd查看所有用户的配置信息。
# 查看testuser的用户信息 id testuser # 查看/etc/passwd文件中testuser的配置行 grep testuser /etc/passwd
用户组管理相关命令
创建用户组命令groupadd
groupadd命令用于创建新的用户组,默认会分配一个未被使用的gid,也可以通过-g参数指定具体的gid。
# 创建名为develop的用户组 groupadd develop # 创建gid为1005的用户组testgroup groupadd -g 1005 testgroup
删除用户组命令groupdel
groupdel命令用于删除已有的用户组,需要注意的是如果组内有用户存在,需要先移除组内的用户才能删除该组。
# 删除testgroup用户组 groupdel testgroup
修改用户组属性命令groupmod
groupmod命令可以修改用户组的名称或者gid,-n参数用于修改组名,-g参数用于修改gid。
# 将develop组的组名修改为dev groupmod -n dev develop # 将dev组的gid修改为1010 groupmod -g 1010 dev
管理用户组成员命令gpasswd
gpasswd命令可以管理用户组的成员,-a参数用于添加用户到组,-d参数用于将用户从组移除,-A参数用于设置组的管理员。
# 将testuser添加到dev组 gpasswd -a testuser dev # 将testuser从dev组移除 gpasswd -d testuser dev # 设置testuser为dev组的管理员 gpasswd -A testuser dev
用户权限关联命令
修改文件所属用户和组命令chown
chown命令用于修改文件或目录的所有者和所属组,格式为chown 用户:组 文件/目录,添加-R参数可以递归修改目录下的所有内容。
# 将test.txt文件的所有者改为testuser,所属组改为dev chown testuser:dev test.txt # 递归修改/data目录的所有者和所属组 chown -R testuser:dev /data
修改文件权限命令chmod
chmod命令用于修改文件或目录的访问权限,权限分为读、写、执行三种,分别对应数字4、2、1,也可以通过u(用户)、g(组)、o(其他)来设置权限。
# 给test.sh文件的所有者添加执行权限 chmod u+x test.sh # 设置test.txt文件的权限为所有者读写,组读,其他读 chmod 644 test.txt # 递归设置/data目录的权限为所有者读写执行,组读执行,其他无权限 chmod -R 750 /data
常用命令总结
以下是Linux用户与用户组管理的常用命令汇总:
| 命令类型 | 命令名称 | 功能说明 |
|---|---|---|
| 用户管理 | useradd | 创建新用户 |
| userdel | 删除用户 | |
| usermod | 修改用户属性 | |
| id | 查看用户信息 | |
| 用户组管理 | groupadd | 创建新用户组 |
| groupdel | 删除用户组 | |
| groupmod | 修改用户组属性 | |
| gpasswd | 管理用户组成员 | |
| 权限关联 | chown | 修改文件所属用户和组 |
| chmod | 修改文件访问权限 |