Skip to content

权限管理命令

权限管理命令用于控制文件、目录的访问权限以及用户和组的管理。

命令列表

权限控制

chmod

修改文件或目录权限

chown

修改文件或目录的所有者

chgrp

修改文件或目录的所属组

umask

设置默认权限掩码

用户切换

su

切换用户身份

sudo

以其他用户身份执行命令

用户管理

useradd

添加新用户账户

userdel

删除用户账户

usermod

修改用户账户

passwd

修改用户密码

chpasswd

批量修改用户密码

组管理

groupadd

添加新组

groupdel

删除组

groupmod

修改组属性

groups

显示用户所属组

gpasswd

管理组密码和成员

扩展属性

getfacl

获取文件访问控制列表

setfacl

设置文件访问控制列表

lsattr

显示文件扩展属性

chattr

修改文件扩展属性

权限基础知识

标准权限

Linux文件权限使用三组权限位:

  • 所有者权限 (user): 文件/目录的所有者
  • 组权限 (group): 文件/目录所属组的成员
  • 其他权限 (other): 其他所有用户

每组权限包含三个权限位:

  • r (read): 读权限 - 4
  • w (write): 写权限 - 2
  • x (execute): 执行权限 - 1

权限表示方法

bash
# 符号表示法
chmod u+rwx,g+rw,o+r filename

# 数字表示法  
chmod 764 filename

# 常用权限组合
chmod 755 script.sh    # 可执行文件
chmod 644 document.txt # 普通文件
chmod 600 private.key  # 私密文件
chmod 755 directory/   # 目录权限

特殊权限

bash
# SUID (Set User ID) - 4000
chmod u+s executable

# SGID (Set Group ID) - 2000  
chmod g+s executable

# Sticky Bit - 1000
chmod +t directory/

实用示例

批量权限管理

bash
# 递归修改目录权限
chmod -R 755 /var/www/html/

# 批量修改文件所有者
chown -R www-data:www-data /var/www/

# 查找并修改权限
find /path -type f -exec chmod 644 {} \;
find /path -type d -exec chmod 755 {} \;

用户组管理

bash
# 创建用户并指定组
useradd -g users -G wheel,docker newuser

# 将用户添加到组
usermod -aG sudo username

# 查看用户组信息
groups username
id username

基于 MIT 许可发布