linux查看权限命令分类
linux查看权限命令分类详细介绍
在 Linux 中,查看文件或目录权限的命令可以根据权限类型和功能分为几类,以下是主要分类及常用命令:
一、基本权限查看(传统权限:r/w/x)
用于查看文件的所有者、所属组、其他用户的读 / 写 / 执行权限(r/w/x),以及文件类型、大小、修改时间等基本信息。
1.
ls 命令(最常用)
- 命令格式:
ls -l <文件/目录>或ll <文件/目录>(ll是ls -l的别名,部分系统默认支持)。 - 输出示例:plaintext
-rw-r--r-- 1 user group 1024 Apr 21 10:00 example.txt^- 文件类型(-表示普通文件,d表示目录,l表示链接等)
^- 所有者权限(rw-:读、写,不可执行)
^- 所属组权限(r--:只读)
^- 其他用户权限(r--:只读)
- 功能:显示文件的 9 位基本权限(所有者 / 组 / 其他用户各 3 位),以及文件的基本属性(所有者、所属组、大小、时间等)。
2.
stat 命令
- 命令格式:
stat <文件/目录>。 - 输出示例(部分关键信息):plaintext
File: example.txtSize: 1024 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 123456 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ user) Gid: ( 1000/ group)
Access: 2025-04-21 10:00:00 ...
- 功能:显示更详细的文件状态,包括权限(以数字和符号两种形式显示,如
0644和-rw-r--r--)、inode 信息、访问 / 修改时间等。
二、特殊权限查看(SUID/SGID/ 粘滞位)
特殊权限附加在基本权限上,用于控制程序执行或目录访问的特殊行为(如SUID让普通用户以文件所有者权限执行程序)。
命令:
ls -l(同上,但需注意特殊权限的显示)
- 特殊权限显示:
- SUID:所有者权限中的执行位(x)变为
s(如rwsr-xr-x,若没有执行权限则显示rwS)。 - SGID:所属组权限中的执行位(x)变为
s(如r-xr-sr-x,若没有执行权限则显示r-S)。 - 粘滞位(Sticky Bit):其他用户权限中的执行位(x)变为
t(如rwxrwxrwt,若没有执行权限则显示rwxrwxrwt中的t,无执行权限时为rwxrwxrwT)。
- SUID:所有者权限中的执行位(x)变为
- 示例:plaintext
-rwsr-xr-x 1 root root 12345 /usr/bin/sudo # SUID权限(所有者执行位为s)drwxrwsr-x 2 group group 4096 /var/tmp # SGID权限(所属组执行位为s)
drwxrwxrwt 2 root root 4096 /tmp # 粘滞位(其他用户执行位为t)
三、扩展权限查看(ACL 权限)
当传统权限(9 位)和特殊权限不足以满足需求时,可使用访问控制列表(ACL)为特定用户或用户组设置更精细的权限。
命令:
getfacl
- 命令格式:
getfacl <文件/目录>。 - 输出示例:plaintext
# file: example.txt# owner: user
# group: group
user::rw- # 所有者权限(基本权限)
user:alice:rwx # 特定用户alice的权限(ACL规则)
group::r-- # 所属组基本权限
group:developers:rw- # 特定组developers的权限(ACL规则)
mask::rwx # 有效权限掩码
other::r-- # 其他用户基本权限
- 功能:显示文件的 ACL 权限规则,包括针对特定用户 / 组的额外读写执行权限。
四、目录权限与继承关系查看
1.
ls -ld 查看目录本身权限
- 命令格式:
ls -ld <目录>(-d选项仅显示目录本身,而非目录内的文件)。 - 示例:plaintext
drwxr-xr-x 2 user group 4096 Apr 21 10:00 /home/user/dir # 目录权限
2.
find 递归查看目录下文件权限
- 命令格式:
find <路径> -type f -ls(显示指定路径下所有文件的详细权限)。 - 用途:批量查看目录树中文件的权限,支持过滤条件(如按所有者、权限值筛选)。
总结
| 分类 | 命令 | 核心功能 |
|---|---|---|
| 基本权限查看 | ls -l/ll |
显示 9 位基本权限(所有者 / 组 / 其他用户的 r/w/x)、文件类型、所有者、时间等。 |
| 详细文件状态 | stat |
显示包括权限(数字 + 符号)、inode、时间戳等更全面的文件元数据。 |
| 特殊权限查看 | ls -l |
显示 SUID(s)、SGID(s)、粘滞位(t)等特殊权限标识。 |
| 扩展 ACL 权限查看 | getfacl |
显示针对特定用户 / 组的精细权限规则(需文件系统支持 ACL,如 ext4/xfs)。 |
| 目录权限单独查看 | ls -ld |
仅显示目录本身的权限,而非目录内的文件。 |
| 递归查看目录下权限 | find ... -ls |
批量查看目录树中文件的权限,支持复杂过滤(如按权限值-perm 644筛选)。 |
根据需求选择合适的命令:日常查看用ls -l,处理复杂权限用getfacl,排查问题时用stat获取更多细节。