![Отказано в разрешении на запуск «ls»](https://rvso.com/image/632752/%D0%9E%D1%82%D0%BA%D0%B0%D0%B7%D0%B0%D0%BD%D0%BE%20%D0%B2%20%D1%80%D0%B0%D0%B7%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%B8%D0%B8%20%D0%BD%D0%B0%20%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%20%C2%ABls%C2%BB.png)
Я запускаю свой сервер как пользователь root, но, несмотря на это, при запуске команды ls
я получаю следующую ошибку:
bash: /bin/ls: Permission Denied.
Я пытался изменить разрешения этого файла с помощью, chmod
но разрешение также отклонено. В чем причина этого?
решение1
Этому есть несколько возможных причин.
- Файловая система смонтирована
noexec
. - Повреждение файловой системы, которое необходимо исправить с помощью fsck.
- Файловая система является чужой, и неправильный перевод разрешений приводит к отказу в привилегиях.
- В каталоге, содержащем двоичный файл, не установлен бит выполнения (что приводит к проблеме с обходом)
- В подкаталоге каталога не установлен бит выполнения (применяется только в том случае, если двоичный файл вложен более чем в один каталог)
- В двоичном файле не установлены биты чтения и выполнения для вашего идентификатора пользователя или идентификатора группы.
- Вы на самом деле не root (UID 0), хотя в имени учетной записи указано
root
. Хотя это и маловероятно, но возможно. Обратите внимание, чтоroot
это не на 100% то же самое, что UID 0, который является «специальным» идентификатором, обходящим проверки привилегий.root
Однако счет таков :нанесенный на картук UID 0. - Правила SELinux/grsecurity запрещают все. (спасибо Янне Пиккарайнен! у меня был небольшой психологический блок из-за этой досады.)
- Один или несколько двоичных файлов скомпрометированы. В этом случае вы не можете доверять ничему, что вы запускаете.
Чтобы по-настоящему понять, что происходит, необходимо больше информации.