sam*_*ers 4 linux ls filesystems systemd-run
我看到一些文件/目录即使是 root 用户也无法访问:
find: ‘/run/user/1000/gvfs’: Permission denied.
所以我更深入地跑了ls -l;下面是输出。
/run/user/125# ll
ls: cannot access 'gvfs': Permission denied
total 4
drwx------ 12 gdm gdm 340 Sep 3 10:20 ./
drwxr-xr-x 4 root root 80 Sep 3 10:19 ../
srw-rw-rw- 1 gdm gdm 0 Sep 3 10:19 bus=
drwx------ 3 gdm gdm 60 Sep 3 10:19 dbus-1/
drwx------ 2 gdm gdm 60 Sep 3 10:19 dconf/
drwx--x--x 2 gdm gdm 60 Sep 3 10:19 gdm/
prw-rw-r-- 1 gdm gdm 0 Sep 3 10:19 gnome-session-leader-fifo|
drwx------ 3 gdm gdm 60 Sep 3 10:19 gnome-shell/
drwx------ 2 gdm gdm 140 Sep 3 10:19 gnupg/
d????????? ? ? ? ? ? gvfs/
-rw------- 1 gdm gdm 318 Sep 3 10:19 ICEauthority
d--------- 3 gdm gdm 160 Sep 3 10:19 inaccessible/
drwx------ 2 gdm gdm 100 Sep 3 10:19 keyring/
srw-rw-rw- 1 gdm gdm 0 Sep 3 10:19 pk-debconf-socket=
drwx------ 2 gdm gdm 80 Sep 3 10:19 pulse/
srw-rw-rw- 1 gdm gdm 0 Sep 3 10:19 snapd-session-agent.socket=
drwxr-xr-x 3 gdm gdm 100 Sep 3 10:19 systemd/
Run Code Online (Sandbox Code Playgroud)
为什么我们看到?file/dir gvfs?
Ste*_*itt 12
问号表示ls无法读取相应信息;它报告说,在其输出的顶部:
ls: cannot access 'gvfs': Permission denied
Run Code Online (Sandbox Code Playgroud)
gvfs 除了其所有者之外的所有用户都无法访问,即使是 root 用户也无法访问,因为它是用户拥有的 FUSE 挂载——即使是 root 用户也无法访问此类挂载,以防止恶意 FUSE 进程利用这种情况:
$ mount|grep /run/user/125/gvfs
gvfsd-fuse on /run/user/125/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=125,group_id=125)
Run Code Online (Sandbox Code Playgroud)
挂载点显示的信息来自挂载的“内部”,唯一允许读取 FUSE 挂载的用户是所有者。(是的,考虑到root用户的预期特权,这有点令人惊讶。)
| 归档时间: |
|
| 查看次数: |
400 次 |
| 最近记录: |