Почему член группы не может изменить файл в группе, частью которой он является?

Я понял это. Мне нужно было использовать adduser username group вместо.

Я добавил пользователя с помощью команды

useradd -G myapp_user newusername

затем я изменил группу в общей папке, к которой я хочу, чтобы пользователь имел доступ. Вот строка, использующая ls -l Я вижу, что группа была установлена.

drwxrwxr-x 3 root myapp_user 4096 Jul  9 19:13 public

Я перехожу на него и делаю это снова, и вижу файлы, подобные приведенным ниже, с группой. Я также вижу rwx как в общей папке, так и в содержимом каталога.

-rwxrwxr-x 1 root myapp_user   4403 Oct 10  2007 info.png

Затем я вхожу в систему как пользователь и CD в папку, которую я написал touch a и я получил ошибку разрешения. Я не могу добавлять, удалять или делать что-либо, хотя я вижу, что 775 - это разрешение. Я тоже пробовал useradd -G myapp_user newusername чтобы найти пользователя уже входит в группу

что мне не хватает? Должен ли я что-то очистить, прежде чем это вступит в силу? перезагрузить что-нибудь? почему пользователь не может изменить что-либо в общей папке?

используя putty и winscp. Но сейчас просто замазка.

я написал id newusername и получил ниже. Почему имя группы не включено?!

uid=1000(newusername) gid=1000(newusername) groups=1000(newusername)

4 ответа

Решение

Использование adduser username group вместо

Вы правильно настраиваете группы, но список групп пользователей устанавливается при первом входе в систему и обычно не будет переоцениваться. Если вы вносите изменения в список групп пользователей, вам нужно либо выйти из системы и снова войти в нее, либо запустить newgrp команда.

Положить newusername в myapp_user группа с gpasswd -a newusername myapp_user, Вы должны закрыть любую открытую сессию для newusername и выполните новый вход в систему, чтобы новая группа вступила в силу.

После использования ответа пользователя 274: вы установили права доступа к папке? Вы должны установить его, чтобы позволить участникам изменять элементы, которые может изменять владелец, члены группы или все остальные.

Я предлагаю вам использовать калькулятор chmod и после этого использовать команду ниже:

      chmod -R XXX .
  • «-R» — это флаг «Рекурсивно устанавливать эти разрешения». Необязательный.
  • «XXX» — это chmod, который вы получили на калькуляторе.
  • "." это текущий каталог. Вы можете указать, замените его своим абсолютным путем, по которому вы можете применить разрешения.

Таким образом, я мог загружать файлы со своим именем пользователя по SFTP в определенную папку, на которую у меня раньше не было разрешения. Остерегайтесь: установка 7 для параметра «Все» может быть опасна для вашей системы, поэтому используйте ее, помня о безопасности.

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