在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 file
a
(仅追加):chattr +a log.txt
lsattr
查看。ls -Z
查看:bash
-rw-r--r--. root root system_u:object_r:etc_t:/etc/passwd
ls -l
:显示基础权限和特殊位。stat
命令:查看详细权限(八进制+文本):bash
stat file.txt
输出示例:Access: (0754/-rwxr-xr--) Uid: ( 1000/ user) Gid: ( 1000/ group)
通过理解这些权限组件,可以精确控制文件访问和安全策略。