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

Главное, что багу помогла решить утилита — 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:

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

namei

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

** ls**

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

В основном руки заточены на ввод именно ls -la. Тут уж как привык. Возможно namei тебе зайдет.

Изучай.