如何查看linux当前用户权限
如何查看linux当前用户权限详细介绍
在 Linux 系统中,查看当前用户权限可以通过以下几种常用方法实现,涵盖用户基本信息、文件 / 目录权限、组权限及 sudo 权限等方面:
一、查看当前用户基本信息
- 查看当前用户名
bash直接显示当前登录的用户名(如
user1)。 - 查看用户 ID(UID)、组 ID(GID)及所属组
bash输出示例:
plaintextuid=1000(user1) gid=1000(user1) 组=1000(user1),27(sudo),110(lxd)uid:用户 ID(普通用户通常 ≥1000,root 为 0)。gid:主组 ID(用户默认所属组)。组:附加组(用户所属的其他组,如sudo组表示拥有 sudo 权限)。
二、查看文件 / 目录权限
- 查看当前用户对文件 / 目录的权限
使用ls -l命令查看文件 / 目录的详细权限,权限分为 用户(User)、组(Group)、其他用户(Others) 三类,每类包含读(r)、写(w)、执行(x)权限。
bash文件/目录路径~
输出示例(以文件
test.txt为例):
plaintext-rw-r--r-- 1 user1 user1 0 Apr 22 10:00 test.txt- 第一个字符
-表示文件类型(d为目录,l为链接)。 - 接下来 9 个字符分为三组:
- 第一组
rw-:当前用户(user1)对文件的权限(可读、可写,不可执行)。 - 第二组
r--:用户所属组(user1 组)的权限(仅可读)。 - 第三组
r--:其他用户的权限(仅可读)。
- 第一组
- 第一个字符
- 查看更详细的权限(包括特殊权限)
使用stat命令查看文件的完整权限,包括 SUID(s)、SGID(s)、粘滞位(t) 等特殊权限:
bash文件/目录路径
三、查看用户所属的所有组
bash
输出示例:
plaintext
user1 : user1 sudo lxd
- 主组(第一个组)通常与用户名相同,附加组(如
sudo)决定用户可访问的资源(如加入sudo组可使用sudo命令)。
四、查看 sudo 权限(若有)
如果当前用户属于 sudo 组(通过 groups 命令确认),可通过以下命令查看能以哪些用户身份执行哪些命令:
bash
输出示例:
plaintext
User user1 may run the following commands on this host:(ALL : ALL) ALL
- 表示用户
user1可以使用sudo以任何用户身份执行任何命令(即拥有管理员权限)。
五、总结常用命令
| 需求 | 命令 |
|---|---|
| 当前用户名 | whoami |
| 用户 ID 及所属组 | id |
| 所有所属组 | groups |
| 文件 / 目录权限 | ls -l <路径> |
| 详细权限(含特殊权限) | stat <路径> |
| sudo 可执行命令 | sudo -l(需有 sudo 权限) |
示例场景
- 查看当前用户对家目录的权限:
bash~输出如
drwx------ 10 user1 user1 4096 Apr 22 10:00 /home/user1,表示用户对家目录有读、写、执行权限(rwx)。 - 确认是否能使用 sudo:
先执行groups查看是否包含sudo组,再执行sudo -l查看具体权限。
通过以上方法,可全面了解当前用户在 Linux 系统中的权限,包括文件访问权限、组归属及管理员操作权限。