Задать вопрос
@Drovosek01

Почему при ls с указанием пути получаю Permission denied, но находясь в этой же папке и выполнив ls без указания пути — команда работает?

Пытаюсь разобраться в теме Unix'овых пользователей и провожу эксперименты.

Нахожусь в macOS Monterey 12.7 Intel.

Есть директория /Users/myuser/xgen и если у нее такие права, если выполнить ls -ld /Users/myuser/xgen
drwxr-xr-x  2 myuser  staff  64 Mar  6  2024 /Users/myuser/xgen


Если я пытаюсь посмотреть выполнить эту же команду ls -ld /Users/myuser/xgen от имени другого пользователя, например так:
sudo -u _mysql ls -l /Users/myuser/xgen
то получаю ошибку ls: /Users/myuser/xgen: Permission denied

Но если я предварительно перейду в это директорию, с помощью cd /Users/myuser/xgen
А потом выполню ls текущей директории от имени стороннего пользователя sudo -u _mysql ls -ld
Тогда я получаю ответ без ошибок:
drwxr-xr-x 2 myuser staff 64 Mar 6 2024 .

Почему так?
  • Вопрос задан
  • 875 просмотров
Подписаться 3 Простой 1 комментарий
Решения вопроса 1
При указании полного пути требуются execute права ("x") на каждую папку в цепочке родителей.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы