当尝试检查 / 下的磁盘使用情况时,我发现 root 无权访问某些虚拟文件系统。我也无法检查虚拟文件系统的权限。为什么是这样?
lanix ~ # du -sk / | sort -rn | head
du: cannot access ‘/proc/11983/task/11983/fd/4’: No such file or directory
du: cannot access ‘/proc/11983/task/11983/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/11983/fd/4’: No such file or directory
du: cannot access ‘/proc/11983/fdinfo/4’: No such file or directory
du: cannot access ‘/run/user/1000/gvfs’: Permission denied
5851640 /
lanix ~ # cd /run/user/1000/gvfs
-su: cd: /run/user/1000/gvfs: Permission denied
lanix ~ # ls -l /run/user/1000/gvfs
ls: cannot access /run/user/1000/gvfs: Permission denied
lanix ~ # ls -ld /run/user/1000/gvfs
ls: cannot access /run/user/1000/gvfs: Permission denied
来自 /etc/sudoers
# User privilege specification
root ALL=(ALL:ALL) ALL
答案1
在这里查看更多内容:
/proc 是一个伪文件系统;它是 RAM 的一部分,包含每个现有进程的信息。因此,如果当 du 尝试对某个进程进行计数时该进程不再存在,或者如果 >某个进程同时关闭了文件描述符(子目录 fd 或 fdinfo),您会收到 >此消息。您必须记住,du 首先会构建一个要计数的文件和>目录列表,然后会计算它们的大小。同时,您的系统上将会发生很多变化 - 进程完成,文件描述符关闭等等。