Я сталкиваюсь со странной проблемой на машине Unix / Linux:
Я являюсь членом группы, назовем ее группой A, и определенный файл (у которого другой владелец) также принадлежит группе A. Разрешения этого файла
-rw-rw----
поэтому я ожидал, что смогу открыть этот файл, но это не так: я получу сообщение об ошибке «Отказано в доступе» при попытке просмотреть содержимое файла (используя cat).
Поскольку разрешения кажутся правильными, что еще может быть причиной этого? Существуют ли «первостепенные» ограничения разрешений? Если так, как я узнаю?
permissions
files
nfs
group
Lagerbaer
источник
источник
Ответы:
Вы вышли из системы и снова вошли в систему с момента добавления в группу A?
Если нет, то ваши текущие процессы входа в систему будут иметь только членство в группах, которое имело место во время входа в систему, а не изменения с тех пор. И любые дочерние процессы этого входа будут иметь одинаковое членство в группе (т. Е. Если вы вошли в X, то каждое приложение, включая ваш эмулятор терминала и оболочку)
Вы можете проверить это, войдя снова в другую консоль или через ssh, или что-то в этом роде
exec sudo -u $(id -u -n) -i
(чтобы эффективно убить и заменить текущую оболочку новой оболочкой - любые фоновые процессы, принадлежащие этой оболочке, будут потеряны)источник
В NFS это зависит от того, какой режим безопасности вы используете, но в традиционном, список групп, к которым принадлежит пользователь, отправляется клиентом на сервер, и существует ограничение на количество групп, которые могут быть отправлены (это было 16 в последний раз я проверял).
Итак, клиент говорит: я uid 1234 и, кстати, я член групп 12, 13, 14 ... Если вы находитесь в более чем 16 группах, этот список будет сокращен, и будут группы для который сервер не знает, вы являетесь его участником.
Это, вероятно, объяснение этому. Только системный администратор локальной и / или удаленной машины может что-то сделать с этим, либо изменив модель безопасности или настройку сервера NFS, либо уменьшив количество групп, в которые вы входите.
источник
Как вы заметили в комментарии, у вас нет прав на чтение
/home/username
. Но читать/home/username/path1/path2/file
, вам нужно выполнить разрешения для всего пути.Чтобы отладить это, запустите
namei -l /home/username/path1/path2/file
от имени пользователя, который читает файл.источник
Может быть ACL. Видеть
Возможно, по какой-то причине группы, в которые вы должны входить, установлены неправильно. Проверить с
Как насчет
В каком типе файловой системы она находится?
Какой-либо apparmor, SELinux или любой другой обязательный контроль доступа в системе?
Вы уверены, что файл не содержит текст «Отказано в доступе», верно ;-)?
источник