Инструмент, чтобы показать разрешения пути в Linux?

13

Есть ли в Linux инструмент, который будет принимать путь, такой как /var/log/httpd/error_log, и печатать разрешение для каждой ветви пути, то есть:

/var:                     root:root,         0755
/var/log:                 root:root,         0755
/var/log/httpd:           www-data:root,     0700
/var/log/httpd/error_log: www-data:www-data, 0644

Такой инструмент значительно упростит устранение неполадок с разрешениями, особенно с исключительно длинными путями, такими как на файловых серверах и т.

Soviero
источник

Ответы:

24

Вы хотите namei.

# namei -l /var/log/nginx/error.log
f: /var/log/nginx/error.log
drwxr-xr-x root  root  /
drwxr-xr-x root  root  var
drwxr-xr-x root  root  log
drwx------ nginx nginx nginx
-rw-r--r-- nginx nginx error.log

Обратите внимание, что эта команда специфична для Linux и может отсутствовать в других операционных системах. Также не путайте это с namei()системным вызовом.

Майкл Хэмптон
источник
2
добавляет в список удобных команд
Nathan C
Это отлично сработало для моих целей, один "принять" и +1 для вас.
Совьеро