为什么我需要运行“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 数据目录只能由特定用户和组读取。否则,任何用户都可以绕过数据库内配置的读取访问控制。