Appearance
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. 隐藏权限
- 使用
chattr和lsattr命令管理。 - +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. 修改文件属主属组
chown命令基本语法:chown 属主.属组,用于修改文件的属主和属组。案例 1:
将1.txt的属主和属组修改为xu用户,命令为chown xu.xu 1.txt,并通过ll 1.txt查看文件权限,显示属主和属组都为xu,权限为-rw-r--r--。、
- 案例 2:
只修改文件的属主为root,命令为chown root 1.txt,再次查看文件权限,属主变为root,属组仍为xu。
- 案例 3:
只修改属组为www,先将属主和属组都改为root,然后使用chown.xu 1.txt将属组改回xu,查看文件权限确认修改结果。
- 案例 4:
递归修改文件的属主和属组,使用-R(大写)选项,如chown -R xu.xu xu/,可以修改xu目录下所有文件和子目录的属主和属组,通过ll xu/查看修改后的结果。