为什么 df -h 不显示已安装的分区?

为什么 df -h 不显示已安装的分区?

为什么我需要运行“df -h”和 sudo 来显示我刚刚添加的已安装的 lvm 分区?

当我使用 sudo 运行命令时,我得到以下结果:

/dev/mapper/centos00-root       4,9G    1,4G  3,6G  28% /
devtmpfs                        1,9G       0  1,9G   0% /dev
tmpfs                           1,9G    4,0K  1,9G   1% /dev/shm
tmpfs                           1,9G    8,6M  1,9G   1% /run
tmpfs                           1,9G       0  1,9G   0% /sys/fs/cgroup
/dev/sda1                       969M    119M  784M  14% /boot
/dev/mapper/centos00-opt         15G     41M   14G   1% /opt
/dev/mapper/centos00-var         20G    129M   18G   1% /var
/dev/mapper/centos00-home       4,7G     20M  4,5G   1% /home
/dev/mapper/postgres-database   118G     36G   77G  32% /var/lib/pgsql/9.6
tmpfs                           380M       0  380M   0% /run/user/16777220

当我以普通用户身份运行命令时,我得到相同的结果,但没有该行:

/dev/mapper/postgres-database   118G     36G   77G  32% /var/lib/pgsql/9.6

我有其他服务器,没有这个问题。我使用 CentOS Linux 版本 7.4.1708

更新#1

这是评论中询问的命令的输出:

$ findmnt -o TARGET,PROPAGATION /dev/mapper/postgres-database
TARGET             PROPAGATION
/var/lib/pgsql/9.6 shared

我尝试了另一个目标,得到了相同的答案:

$ findmnt -o TARGET,PROPAGATION /dev/mapper/centos00-var
TARGET PROPAGATION
/var   shared

答案1

df使用 检索文件系统信息(已用/可用/总空间)statfs()。的输入参数statfs()是路径 - 文件或目录名。的输出statfs()是文件所属的文件系统的信息。

如果您没有打开特定文件系统上的路径的权限,则无法获取文件系统信息。

postgres 数据目录只能由特定用户和组读取。否则,任何用户都可以绕过数据库内配置的读取访问控制。

相关内容