Ошибки разрешений, хотя разрешения широко открыты

8

Я установил анаконду на нашу новую виртуальную машину и не могу перечислить ее содержимое. Я могу изменить свой каталог на ... / anaconda /, но когда я печатаю, ls -lя получаю:

ls: cannot open directory .: Permission denied

Тем не менее, когда я вхожу:

sudo ls -l

я получил

total 92
drwxrwxrwx.   2 gcw8 PosixUsers 12288 May 26 15:30 bin
drwxrwxrwx.   2 gcw8 PosixUsers 12288 May 26 15:30 conda-meta
drwxrwxrwx.   3 gcw8 PosixUsers  4096 Mar 27 16:33 docs
drwxrwxrwx.   2 gcw8 PosixUsers  4096 Mar 27 16:33 envs
drwxrwxrwx.   2 gcw8 PosixUsers  4096 Mar 27 16:33 etc
drwxrwxrwx.   6 gcw8 PosixUsers  4096 May 26 15:19 Examples
drwxrwxrwx.  41 gcw8 PosixUsers  4096 May 26 15:19 include
drwxrwxrwx.  11 gcw8 PosixUsers 20480 May 26 15:19 lib
-rw-rwxrwx.   1 gcw8 PosixUsers  3700 Nov  7  2013 LICENSE.txt
drwxrwxrwx. 185 gcw8 PosixUsers 12288 May 26 15:30 pkgs
drwxrwxrwx.   3 gcw8 PosixUsers  4096 Mar 27 16:33 plugins
drwxrwxrwx.  10 gcw8 PosixUsers  4096 Mar 27 16:33 share
drwxrwxrwx.   3 gcw8 PosixUsers  4096 Mar 27 16:48 ssl

Команда groupsуказывает, что я являюсь членом PosixUsers, и я тот, кто изначально создал это, так почему я не могу получить к нему доступ? В какой-то момент я бежал, chmod -R ugo+rwx .../anaconda/но я до сих пор не понимаю, как это может привести к этой ошибке. Во всяком случае, это должно облегчить это. Я использую CentOS, и все это делается через ssh. Кто-нибудь может увидеть проблему?

Г. Уорнер
источник

Ответы:

13

Обратите внимание .на конец permissions ( drwxrwxrwx.): это означает, что здесь задействован контекст SELinux. Вы должны получить это право для вашего пользователя, чтобы иметь возможность перечислить содержимое каталога.

Чтобы увидеть контексты для вашего каталога, запустите

sudo ls -alZ

( -Zопция показывает требуемые контексты SELinux).

В вики CentOS есть хорошая страница о SELinux. Вы найдете больше информации о последнем символе в разрешениях на «+» и «s» в строках разрешений .

Стивен Китт
источник
@son_of_fire: Стивен прав, +для любой другой комбинации ограничений доступа, .зарезервирован только для SELinux. ИМО будет принадлежать в ответ, хотя.
0xC0000022L