Я выполняю сервер 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
Последняя строка производит ошибку полномочий.
Я удостоверился, что мой пользователь является частью 'тестовой' группы (groups {my-user}
подтверждает это). Группа test_file также определенно установлена 'протестировать', и полномочия группы установлены.
Почему мой пользователь не может записать в тестовый файл файла?
Можно использовать newgrp
управляйте для изменения текущего идентификатора группы пользователя. От man newgrp
:
Команда newgrp используется для изменения текущего идентификатора группы во время сессии входа в систему. Если дополнительное
-
флаг дан, среда пользователя будет повторно инициализирована, как будто пользователь вошел в систему, иначе текущая среда, включая текущий рабочий каталог, остается неизменной.