cd в каталог без разрешения

Когда cd ать в одном из моих каталогов, называемых openfire следующей ошибки возвращается:

bash: cd: openfire: Permission denied

Есть ли способ обойти это?

Ответ 1

Войдите в режим суперпользователя и cd в каталог, в который вам не разрешено входить. Sudo требует пароль администратора.

sudo su
cd directory

Ответ 2

@user812954 ответ был весьма полезным, за исключением того, что я должен был сделать это в два этапа:

sudo su
cd directory

Затем, чтобы выйти из режима "суперпользователя", просто введите exit.

Ответ 3

Если это ваш каталог, дайте ему доступ к нему:

chmod u+rx,go-w openfire

Это дает вам разрешение использовать каталог и файлы в нем (x) и перечислить файлы, находящиеся в нем (r); он также лишает группу и других пользователей права на запись в каталоге, что обычно является правильным (хотя иногда вы можете захотеть разрешить группе создавать файлы в вашем каталоге, но подумайте об использовании липкого бита в каталоге, если вы это сделаете).

Если это чужой каталог, вам, вероятно, понадобится помощь владельца, чтобы изменить разрешения, чтобы вы могли получить к нему доступ (или вам потребуется помощь от root для изменения разрешений для вас).

Ответ 4

chmod +x openfire работал для меня. Он добавляет разрешение на выполнение в папку openfire.

Ответ 5

У вас есть несколько вариантов:

  • Используйте другую учетную запись пользователя, одну с правами e x ecute в этом каталоге.
  • Измените права доступа на каталог, чтобы позволить пользователю учетной записи электронной x разрешения ecute.
    • Либо используйте chmod(1) чтобы изменить разрешения или
    • Используйте команду setfacl(1) чтобы добавить запись списка управления доступом для своей учетной записи пользователя. (Это также требует установки файловой системы с опцией acl, см. mount(8) и fstab(5) для получения подробных сведений о параметре mount.)

Невозможно предложить правильный подход, не зная больше о проблеме; почему права на каталоги установлены так, как они есть? Зачем вам нужен доступ к этому каталогу?

Ответ 6

Если у вас нет прав sudo, чтобы изменить его или его в вашей собственной группе/учетной записи, вы не сможете войти в него.

Проверьте man chmod в терминале для получения дополнительной информации об изменении разрешений каталога.