Есть каталог 'dir1', владельцем которого является root:root. Статистика показывает:
Access: (0750/drwxr-x---) Uid: ( 0/ root) Gid: ( 0/ root)
и когда я вхожу как root, я id
вижу:
uid=0(root) gid=0(root) groups=0(root)
Однако когда я пытаюсь cd
войти в этот каталог, я получаю:
-bash: cd: dir1/: Permission denied
есть идеи, почему это может происходить и как это исправить?
решение1
Может быть, это SELinux?
Попробуйте проверить с
ls -ladZ dir1
или попробуйте временно отключить SELinux
setenforce 0
# To emable "setenforce 1"
решение2
Размещен ли рассматриваемый каталог на NFS? Если да, то вы можете обнаружить, что root:root сопоставлен с более безопасным пользователем (например, nobody:guest) на сервере.
Если у вас есть доступ к серверу и вы хотите, чтобы удаленные пользователи имели привилегии root, вам нужно будет добавить эту no_root_squash
опцию в соответствующий экспорт в /etc/exports
. Я настоятельно рекомендую вам прочитать документацию, прежде чем делать это.
решение3
Каталог не имеет разрешения на выполнение, которое контролирует листинг его содержимого и вход в него. Сначала, chmod +x
а затем cd
в него.
Другой возможностью может быть использование ACL. Иногда это может приводить к странным ошибкам. Попробуйте cat /etc/fstab | grep acl
и если он там есть, попробуйте getfacl dir1
.