在Linux系统中,文件权限信息主要通过以下几个部分存储和管理:
owner(属主):文件所有者权限(第1-3位)group(属组):文件所属用户组权限(第4-6位)others(其他用户):其他用户权限(第7-9位)权限类型:
r (read):读取权限(数字表示为4)w (write):写入权限(数字表示为2)x (execute):执行权限(数字表示为1)示例:-rwxr-xr--
rwx = 7)r-x = 5)r-- = 4)754-:普通文件d:目录l:符号链接c/b:字符设备/块设备s:套接字p:管道文件s(如 -rwsr-xr-x)/usr/bin/passwd)。s(如 -rwxr-sr-x)Sticky Bit:
t(如 /tmp 的 drwxrwxrwt)数字表示:SUID=4, SGID=2, Sticky=1(如 1777 表示全权限+Sticky Bit)。
getfacl和setfacl命令管理。bash
setfacl -m u:alice:rwx file.txt # 赋予用户alice读写执行权限chattr设置的隐藏属性(如不可删除、仅追加等):
i(不可修改):chattr +i filea(仅追加):chattr +a log.txtlsattr查看。ls -Z查看:bash
-rw-r--r--. root root system_u:object_r:etc_t:/etc/passwdls -l:显示基础权限和特殊位。stat命令:查看详细权限(八进制+文本):bash
stat file.txt
输出示例:Access: (0754/-rwxr-xr--) Uid: ( 1000/ user) Gid: ( 1000/ group)通过理解这些权限组件,可以精确控制文件访问和安全策略。