18

Я использую сервер Ubuntu 10.04 и испытываю некоторые противоречивые впечатления от пользователей / групп. Например:

sudo touch test_file                    # create empty file

sudo groupadd test                      # create 'test' group

sudo chown root:test test_file          # change group of file to 'test'

sudo chmod g+rwx test_file              # give write permissions to group

sudo usermod -a -G test {my-user}       # add my user to 'test' group

touch test_file                         # touch the file as my current user

Последняя строка выдает ошибку прав доступа.

Я гарантировал, что мой пользователь является частью группы 'test' (groups {my-user} подтверждает это). Группа test_file также определенно установлена в «test», и для группы установлены разрешения.

Почему мой пользователь не может записать файл в тестовый файл?

4 ответа4

28

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

4

Как выход из системы, так и перезагрузка сервера не помогли мне.

Этот метод, однако, работает для меня: (ссылка на этот ответ)

chmod g+rwxs <parent folder>
0

Перезагрузите компьютер, чтобы убедиться, что никакие застрявшие процессы не препятствуют правильному применению ваших пользователей и групп во время выхода из системы и входа в систему.

Эти шаги должны дать вашему пользователю группы test разрешение на test_file

sudo touch test_file 
sudo groupadd test
sudo chown root:test test_file
sudo chmod g+rwx test_file
sudo usermod -a -G test {my-user}

Перезагрузите компьютер или выйдите из операционной системы вашего пользователя. Перезапуск терминала не достаточно.

touch test_file

Пользователь может записать в файл, потому что он является частью группы «test», и у группы есть разрешение rwx.

0

Вы можете использовать команду newgrp для изменения идентификатора текущей группы пользователя. От man newgrp:

Команда newgrp используется для изменения текущего идентификатора группы во время сеанса входа. Если необязательный параметр - то рабочая среда пользователя будет инициализируется , как если бы пользователь вошел в систему , иначе текущей среды, включая текущий рабочий каталог, остается неизменным.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .