Почему пользователь Linux не может редактировать файлы в группе, частью которой он является?
Я использую Ubuntu 12.04, и у меня была такая же проблема, когда пользователь не мог писать в файл, к которому ему разрешен групповой доступ. Например:
whoami //I am user el
el
touch /foobar/test_file //make a new file
sudo chown root:www-data /foobar/test_file //User=root group=www-data
sudo chmod 474 /foobar/test_file //owner and others get only read,
//group gets rwx
sudo groupadd www-data //create group called www-data
groups //take a look at the groups and see
www-data //www-data exists.
groups el //see that el is part of www-data
el : www-data
Перезагрузите терминал сейчас, чтобы убедиться, что пользователи и группы вступили в силу. Войти как эл.
vi /foobar/test_file //try to edit the file.
Выдает предупреждение:
Warning: W10: Warning: Changing a readonly file"
Какой? Я все сделал правильно, почему не работает?
Ответ:
Сделайте полную перезагрузку компьютера. Для решения этих проблем остановки терминала недостаточно.
Я думаю, что происходит то, что apache2 также использует группу www-data, поэтому задача каким-то образом препятствовала правильному применению пользователей и групп. Вам нужно не только выйти из системы, но и остановить и перезапустить все службы, которые используют вашу группу. Если при перезагрузке этого не происходит, у вас проблемы посерьезнее.