Назад | Перейти на главную страницу

df требует root, чтобы показать все диски

Я использую CentOS Linux 7 (Core). У меня проблема с df команда: не показывать все диски без рута.

Сравните:

$ df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   19G  2.2G   17G  12% /
devtmpfs                 3.9G     0  3.9G   0% /dev
tmpfs                    3.9G   28K  3.9G   1% /dev/shm
tmpfs                    3.9G  201M  3.7G   6% /run
tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1                497M  282M  215M  57% /boot
tmpfs                    783M     0  783M   0% /run/user/1001

, и

$ sudo df -h
Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/centos-root         19G  2.2G   17G  12% /
devtmpfs                       3.9G     0  3.9G   0% /dev
tmpfs                          3.9G   28K  3.9G   1% /dev/shm
tmpfs                          3.9G  201M  3.7G   6% /run
tmpfs                          3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1                      497M  282M  215M  57% /boot
tmpfs                          783M     0  783M   0% /run/user/1001
/dev/mapper/postgres-postgres  148G   14G  129G  10% /var/lib/pgsql/10

В последнем примере есть одна дополнительная строка. Как исправить эту проблему? Мне нужно увидеть все диски без прав root.

В каждом каталоге от родительского до корневого должен быть установлен бит выполнения (для пользователя, группы или другого, в зависимости от ваших u и g и u и g директории). Исправьте для вашего случая:

chmod o+x /var/lib/pgsql

Ноты:

  • бит чтения не нужен
  • точка монтирования не требует бит выполнения
  • добавление вашего пользователя в группу, которой принадлежит /var/lib/pgsql может быть более безопасным
  • могут применяться другие механизмы acl, такие как расширенные атрибуты и контексты selinux