一、用户管理
1. useradd – 创建用户
-
用途:创建新用户。
-
语法:
useradd [选项] 用户名 -
常用选项:
-m:创建用户的家目录(如/home/用户名)。-s:指定用户的默认 Shell(如/bin/bash)。-g:指定主组(默认创建与用户名相同的组)。-G:指定附加组(可加入多个组)。
-
示例:
# 创建用户 alice,并指定家目录和 Shell sudo useradd -m -s /bin/bash alice # 创建用户 bob,并加入 developers 组 sudo useradd -m -G developers bob
2. passwd – 修改用户密码
-
用途:设置或修改用户密码。
-
语法:
passwd [用户名] -
示例:
# 修改当前用户的密码 passwd # 修改指定用户的密码(需管理员权限) sudo passwd alice
3. usermod – 修改用户属性
-
用途:修改现有用户的属性(如组、Shell、家目录等)。
-
语法:
usermod [选项] 用户名 -
常用选项:
-aG:将用户添加到附加组(需与-G一起使用)。-s:修改用户的默认 Shell。-d:修改用户的家目录。-L:锁定用户(禁用登录)。-U:解锁用户。
-
示例:
# 将 alice 添加到 sudo 组 sudo usermod -aG sudo alice # 修改 bob 的默认 Shell 为 /bin/zsh sudo usermod -s /bin/zsh bob # 锁定用户 alice sudo usermod -L alice
4. userdel – 删除用户
-
用途:删除用户及其相关文件。
-
语法:
userdel [选项] 用户名 -
常用选项:
-r:删除用户的家目录和邮件文件。
-
示例:
# 删除用户 alice 及其家目录 sudo userdel -r alice
二、组管理
1. groupadd – 创建组
-
用途:创建新用户组。
-
语法:
groupadd [选项] 组名 -
示例:
# 创建 developers 组 sudo groupadd developers
2. groupmod – 修改组属性
-
用途:修改现有组的属性(如组名)。
-
语法:
groupmod [选项] 组名 -
常用选项:
-n:修改组名。
-
示例:
# 将组名 developers 改为 devs sudo groupmod -n devs developers
3. groupdel – 删除组
-
用途:删除用户组。
-
语法:
groupdel 组名 -
示例:
# 删除 devs 组 sudo groupdel devs
三、权限管理
1. chmod – 修改文件权限
-
用途:修改文件或目录的权限(读
r、写w、执行x)。 -
语法:
chmod [选项] 权限 文件或目录 -
权限表示:
- 符号模式:
u(所有者)、g(所属组)、o(其他用户)。
示例:chmod u+x script.sh(给所有者添加执行权限)。 - 数字模式:三组数字分别对应所有者、组、其他用户的权限。
权限计算:r=4,w=2,x=1(如755=rwxr-xr-x)。
- 符号模式:
-
示例:
# 设置文件权限为 rw-r--r-- chmod 644 file.txt # 给脚本添加执行权限 chmod +x script.sh
2. chown – 修改文件所有者
-
用途:修改文件或目录的所有者或所属组。
-
语法:
chown [选项] 所有者[:组] 文件或目录 -
常用选项:
-R:递归修改目录及其内容。
-
示例:
# 将文件所有者改为 alice sudo chown alice file.txt # 将文件所有者和组改为 alice:developers sudo chown alice:developers file.txt # 递归修改目录的所有者 sudo chown -R alice:developers /project
3. chgrp – 修改文件所属组
-
用途:修改文件或目录的所属组。
-
语法:
chgrp [选项] 组名 文件或目录 -
示例:
# 将文件所属组改为 developers sudo chgrp developers file.txt
四、权限与用户组实战案例
场景 1:共享目录权限管理
-
创建共享目录:
sudo mkdir /shared -
创建用户组:
sudo groupadd team -
设置目录权限:
sudo chown root:team /shared sudo chmod 775 /shared # 允许组成员读写 -
将用户加入组:
sudo usermod -aG team alice sudo usermod -aG team bob -
验证权限:
# 以 alice 身份创建文件 sudo -u alice touch /shared/test.txt # 以 bob 身份编辑文件 sudo -u bob echo "Hello" >> /shared/test.txt
场景 2:限制用户访问
-
锁定用户:
sudo usermod -L alice # 锁定 alice sudo usermod -U alice # 解锁 alice -
限制用户 Shell:
sudo usermod -s /sbin/nologin alice # 禁止登录
五、注意事项
-
权限分配原则:
- 遵循最小权限原则,避免过度授权。
- 敏感文件(如
/etc/passwd)应限制为root可写。
-
特殊权限:
- SUID:允许用户以文件所有者的权限执行(如
/usr/bin/passwd)。 - SGID:目录中新文件的组继承目录的组。
- Sticky Bit:仅文件所有者可删除文件(如
/tmp)。
- SUID:允许用户以文件所有者的权限执行(如
-
查看用户信息:
id alice # 查看用户 UID、GID 及所属组 -
切换用户:
su - alice # 切换到 alice 用户 sudo -u alice command # 以 alice 身份执行命令
2782

被折叠的 条评论
为什么被折叠?



