Skip to content

1. rwx的含义

  • r(read):读权限,可以查看文件内容或列出目录内容。
  • w(write):写权限,可以修改文件内容或修改目录结构(如创建、删除、重命名文件)。
  • x(execute):执行权限,可以执行文件或进入目录。

2. rwx对应的数字

  • r:4
  • w:2
  • x:1
  • 权限位的数字表示是这三个值的和。例如,rwx(读、写、执行)对应的数字是4+2+1=7

3. 授权

ugo授权
  • u(user):文件或目录的属主。
  • g(group):文件或目录的属组。
  • o(other):其他用户。
  • a(all):所有用户(u、g、o的总和)。
  • 授权命令:chmod
    • 例如:chmod ugo+x file 为属主、属组和其他用户增加执行权限。
    • chmod u-w file 移除属主的写权限。
    • chmod u=rwx,g=r-x,o=r-- file 设置具体权限。
数字授权
  • 语法格式:chmod [数字] file
  • 例如:chmod 644 file 设置文件权限为属主读写(6=4+2),属组和其他用户只读(4)。
  • chmod 755 directory 设置目录权限为属主读写执行(7=4+2+1),属组和其他用户读执行(5=4+1)。

4. 解决权限决绝报错

  • 文件可读写:rw
  • 文件可执行:r-x(对于脚本文件,最高权限是rwx
  • 目录可查看可进:r-x
  • 创建、删除、改名:rwx(针对目录)

5. umask

  • 默认创建权限:
    • 目录:777 减去 umask
    • 文件:666 减去 umask 值(因为文件默认没有执行权限,所以最大是666而不是777)
  • 查看umask值:umask
  • 修改umask值(临时生效):umask [新值]
  • 例如:umask 022,则新创建的目录权限为755,文件权限为644

6. 隐藏权限

  • 使用chattrlsattr命令管理。
  • +a:只能追加内容到文件中,不能删除或修改现有内容。
  • +i:文件或目录变为不可变状态,不能删除、修改、重命名。
  • 例如:chattr +a file 为文件设置追加权限;chattr +i directory 为目录设置不可变权限。

7. 特殊权限

  • SUID(Set User ID):
    • 给命令设置SUID权限后,所有用户执行此命令时都将拥有属主的权限。
    • 例如:chmod u+s /usr/bin/rm 使所有用户都能以root权限删除文件。
  • SGID(Set Group ID):
    • 类似SUID,但用户执行命令时将拥有属组的权限。
  • 粘滞位(Sticky Bit):
    • 通常用于/tmp等目录,使得只有文件的所有者或root才能删除或重命名该文件,即使其他用户有写权限。
    • 例如:目录权限为1777(或drwxrwxrwt)时,表示该目录具有粘滞位。

8. 修改文件属主属组

  1. chown命令基本语法:

    chown 属主.属组,用于修改文件的属主和属组。

  2. 案例 1:

1.txt的属主和属组修改为xu用户,命令为chown xu.xu 1.txt,并通过ll 1.txt查看文件权限,显示属主和属组都为xu,权限为-rw-r--r--。、

  1. 案例 2:

只修改文件的属主为root,命令为chown root 1.txt,再次查看文件权限,属主变为root,属组仍为xu

  1. 案例 3:

只修改属组为www,先将属主和属组都改为root,然后使用chown.xu 1.txt将属组改回xu,查看文件权限确认修改结果。

  1. 案例 4:

递归修改文件的属主和属组,使用-R(大写)选项,如chown -R xu.xu xu/,可以修改xu目录下所有文件和子目录的属主和属组,通过ll xu/查看修改后的结果。

感谢阅读,欢迎交流!