Не могу войти в каталог, несмотря на правильные разрешения

У меня есть каталог (принадлежит никто , потому что он является частью монтирования привязки Docker, в сочетании с переназначением пространства имен пользователя .), что мне нужно ввести. Это соответствующий вывод ls -la :

drwxrwxr-x    2 nobody   nobody        4096 May 26 14:42 Directory

Запуск от имени root , хотя я не принадлежу ни к владельцу, ни к группе каталога, каталог доступен для чтения всем и исполняемый файл, поэтому я смогу его ввести. Однако при запуске cd Directory происходит сбой:

bash: cd: Directory: Permission denied
0
задан 17 June 2019 в 05:33
2 ответа

Думаю, вы создали свой вопрос и ответ после того, как решили свою проблему.

Обратите внимание, что длинный список GNU ls -l будет покажет вам, применяется ли к файлу альтернативный метод доступа, такой как список управления доступом, путем добавления символа в список битов режима файла.

И вместо:

drwxrwxr-x    2 nobody   nobody        4096 May 26 14:42 Directory

ваш исходный список каталогов, вероятно, показывал:

drwxrwxr-x+   2 nobody   nobody        4096 May 26 14:42 Directory
          ^
           \  Note the extra + character here.

Легко не заметить, если вы не знаете об этом соглашении, но из руководства

Когда символ, следующий за файловым режимом биты - это пробел, альтернативного метода доступа нет. Когда это печать символа, то есть такой метод.

GNU 'ls' использует символ '. ' для обозначения файла с SELinux контекст безопасности, но никакой другой альтернативный метод доступа.

Файл с любой другой комбинацией альтернативных методов доступа является отмечены символом « + ».

1
ответ дан 4 December 2019 в 13:20

В моем случае это было вызвано устаревшим списком управления доступом . Решением моей проблемы было удаление всех списков управления доступом из каталога и его подкаталогов:

# setfacl -bnR Directory/
1
ответ дан 4 December 2019 в 13:20

Теги

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