* Дозволи користувача nix дійсно прості, але все може заплутатися, коли вам доведеться врахувати весь доступ до батьківського каталогу, перш ніж дістатися до заданого файлу. Як я можу перевірити, чи є у користувача достатньо привілеїв? Якщо ні, то який каталог забороняє доступ?
Наприклад, припустимо користувача joe
та файл /long/path/to/file.txt
. Навіть якщо його file.txt
було дозволено до 777, Джо все одно повинен мати доступ /long/
, і тоді, /long/path/
і тоді /long/path/to/
. Що мені потрібно - це спосіб це автоматично перевірити. Якщо у joe
нього немає доступу, я також хотів би знати, де йому відмовили. Можливо, він може отримати доступ /long/
, але ні /long/path/
.
namei <path> || exit 1
дозволяє дуже легко виявити проблему з дозволом у сценарії.