Linux 文件权限管理

查看当前用户的权限

  1. 查看当前用户:使用whoami命令来查看你当前登录的用户名。
  2. 查看用户所在的组:使用groups命令来查看当前用户属于哪些组。
  3. 查看文件或目录的权限
    • 使用ls -l命令可以查看当前目录下所有文件和文件夹的权限。
    • 使用ls -l 文件名来查看特定文件或目录的权限。

这些命令显示的输出会帮助你理解当前用户对特定文件和目录的访问权限。

使用chmod命令设置权限

chmod命令用于改变文件或目录的访问权限。这个命令可以使用符号表示法或数字八进制表示法来指定权限。

符号表示法

  • u 表示用户(文件的拥有者)
  • g 表示组
  • o 表示其他(非拥有者和非组成员的其他用户)
  • a 表示所有人(等同于ugo

权限类型包括:

  • r 读权限
  • w 写权限
  • x 执行权限

例子:

  • 给文件拥有者添加执行权限:chmod u+x 文件名
  • 给组添加写权限并删除执行权限:chmod g+w,g-x 文件名
  • 给其他用户设置读和执行权限:chmod o=rx 文件名
  • 给所有用户设置所有权限:chmod a=rwx 文件名

数字八进制表示法

  • 读、写、执行权限分别对应数字 4、2、1。
  • 数字的组合表示不同的权限设置(如 7 代表读、写和执行权限,即 4+2+1)。

例子:

  • 设置拥有者有读写权限,组有读权限,其他用户无权限:chmod 640 文件名
  • 设置拥有者、组和其他用户都有读写执行权限:chmod 777 文件名

设置递归权限

如果你需要对一个目录及其所有子目录和文件设置相同的权限,可以使用-R选项来递归地应用权限:

  • 给目录及其子目录和文件设置所有人读写执行权限:chmod -R 777 目录名
  • 给目录及其子目录和文件设置拥有者读写权限,组和其他用户只读:chmod -R 744 目录名