Namei vs ls. Отладка прав доступа по новому.

При отладке проблем с правами доступа привычная команда ls -la не всегда показывает всю картину. В таких случаях на помощь приходит утилита namei. Она разбивает путь до файла или папки на компоненты и детально показывает права доступа для каждого из них.


Отлаживал сегодня багу связанную с правами доступа. В суть произошедшего вникать не будем.

Главное, что багу помогла решить утилита — namei. Устанавливать не нужно, идет в коробке.

Утилита namei — разбивает путь до папки/файла на составляющие и выводит права доступа для каждой из них.

Из этого нихуя не понятно, давай просмотрим на практике.

У меня php работает под юзером bashdays. Но при открытии админки, нихуя не работает.


Проверяю путь до админки:

namei -l /var/www/bashdays/htdocs/wp-admin/index.php

f: /var/www/bashdays/htdocs/wp-admin/index.php
drwxr-xr-x root     root     /
drwxr-xr-x root     root     var
drwxr-xr-x bashdays bashdays www
drwxr-xr-x bashdays bashdays bashdays
drwx--x--x bashdays bashdays htdocs
drwx------ root root wp-admin
-rw-r--r-- bashdays bashdays index.php


Хм… и вижу, что с правами каталога wp-admin что-то совсем не так.

Но почему не использовать ls -la?

ls -la  /var/www/bashdays/htdocs/wp-admin/index.php

-rw-r--r-- bashdays bashdays /var/www/bashdays/htdocs/wp-admin/index.php

Вот и ответ.

Ключи для namei:

l — показывает подробный вывод (long listing) для каждого компонента пути.
m — показывает права доступа (в виде числового значения, как ls -l).
o — показывает владельца и группу каждого компонента.
v — детализирует информацию о путях и ошибках.
x — показывает права доступа в виде rwx (читаемо).

Давай сравним

namei

  • разбирает полный путь на компоненты
  • показывает каждый компонент пути и его права
  • отображает права доступа на каждый узел пути
  • раскрывает симлинки и показывает, куда они ведут
  • выводит ошибки если путь где-то прерывается

ls

  • показывает только содержимое текущего каталога
  • показывает права только конечного узла
  • показывает права доступа в текущем каталоге
  • не показывает цепочку ссылок (только сами ссылки)
  • меньше подходит для цепочек узлов.
Мнение эксперта
Роман Шубин
Роман Шубин
CEO & CTO, действующий девопс-инженер в «Цифровой улей»
Задать вопрос
Я namei пользуюсь достаточно редко, но метко. В основном руки заточены на ввод именно ls -la. Тут уж как привык. Возможно namei тебе зайдет.

Изучай.

Namei vs ls. Отладка прав доступа по новому.