Разрешения группы позволяют, но все еще получают разрешение, отклоненное

У меня есть раздел ext4, и я установил владельцем группы для всех подкаталогов mygroup:

# chgrp -R mygroup /mount/abc
# chmod -R g+swrx /mount/abc

Мой пользователь является частью этой группы. Внутри этого раздела находится папка, которой владеет пользователь nobody, а теперь группа mygroup. Мой пользователь является частью mygroup. Вот ls -l:

myuser@host:/mount/abc/folder$ ls -l
drwxr-sr-x 2 nobody      mygroup      4096 Apr 25 12:08 ./
drwxrwsrwx 6 nobody      mygroup      4096 Apr 24 07:57 ../
-rw-r-xr-- 1 otheruser   mygroup    159539 Apr 23 23:44 test.png*

myuser@host:/mount/abc/folder$ groups myuser
myuser : mygroup {... a list of other groups also...} 

myuser@host:/mount/abc/folder$ rm test.png 
rm: remove write-protected regular file ‘test.png’? y
rm: cannot remove ‘test.png’: Permission denied

myuser@host:/mount/abc/folder$ touch test.txt
touch: cannot touch ‘test.txt’: Permission denied

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

Я не совсем понимаю, как работают группы. Я думал, что если вы были частью группы, то вы наследовали разрешения этой группы. Я делаю что-то не так?

Спасибо

64
задан 25 April 2014 в 23:23

5 ответов

Вы недавно добавляли этого пользователя в эту группу, не выходя из системы или в промежутках между ними? Затем «группы» покажут группу, но у пользователя еще нет прав доступа к группе.

Вы можете показать свои действующие группы, используя

$ id

В качестве примера, если я добавлю своего пользователя ps в список группа факс , а затем введите

$ id

, он не показывает группу факс , но

$ groups ps

показывает факс .

Выполнение su для вашего собственного пользователя дает вам новую принадлежность к группе:

$ su ps
$ id

Вывод теперь также содержит факс .

86
ответ дан 25 April 2014 в 23:23

Метод, который у вас есть б / у кажется верным. Я только что попытался воспроизвести его, и он работал нормально.

Я не уверен, есть ли опечатка, но есть небольшая проблема с командой. Здесь нет необходимости упоминать "mygroup". Следующее работает

# chmod -R g+swrx /mount/abc

Даже если вы можете удалить бит s , просто выполните g + rwx . После того как вы изменили разрешения и выполните команду ls -l , отобразятся соответствующие привилегии.

10
ответ дан 25 April 2014 в 23:23

Чтобы добавить к принятому ответу (поскольку я еще не могу комментировать):

Если вы используете программное обеспечение, такое как BitVise, для создания SSH-соединения с вашим сервером, простое закрытие и повторное открытие терминала не будет считаться журналированием внутрь и наружу. Он выполняет такие действия, как перезагрузка вашего ~ / .bashrc , но не выполняет фактическое обновление группы (если вы добавили группу в сеансе «входа в систему») . Чтобы это вступило в силу, вам придется полностью выйти из системы и снова войти в систему с вашим SSH-ключом / учетными данными.

2
ответ дан 26 April 2014 в 10:23
  • 1
    @PatrickNegus обновленная спецификация Intel и сценарий Wolgang M. Reimer были выпущены в июле 2016, все - новый:-), – Stéphane Tréboux 14 October 2016 в 10:47

Для открытия каталогов необходимо установить бит x (для каталога этот бит рассматривается как бит поиска). Поэтому я использую дерево, чтобы получить только набор папок и избежать кошмара, связанного с тем, что все файлы установлены как исполняемые (параметр tree - -d Список только каталогов. ):

sudo tree -faid /mount/abc | xargs -L1 -I{} sudo chmod 755  "{}"

Предупреждение !! ! вы должны принять во внимание следующее:

  • использование chmod или chown рекурсивно в корневом каталоге / или системных каталогах приведет к уничтожению вашей ОС (на самом деле все рекурсивное в каталоге / или системные каталоги опасны)

  • это не очень хорошая практика безопасности, устанавливать такой пакет разрешений

3
ответ дан 18 April 2019 в 23:16

Вы не можете удалить файл, потому что группа mygroup не имеет прав на запись в файл test.png , а также в папку. Чтобы операции записи работали с файлом, права доступа к файлу должны выглядеть так:

-rw-rwxr-- 1 otheruser   mygroup    159539 Apr 23 23:44 test.png*

Если вы внимательно посмотрите на формат разрешений

duuugggooo

Первые три заполнителя uuu - это пользователь r ] ead, w rite и e x ecute. Следующие три заполнителя ggg предназначены для группы, а ooo - для других. Во фрагменте, опубликованном группой OP, отсутствует разрешение обряда w .

5
ответ дан 18 April 2019 в 23:16

Другие вопросы по тегам:

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