1

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

# create my group and add a member
sudo addgroup dev
sudo adduser martyn dev

Теперь, войдя как "martyn", проверьте, что мой пользователь был добавлен в группу "dev"

groups martyn
martyn : martyn dev

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

sudo chgrp -R dev myproject

Просто чтобы проверить:

martyn@localhost:/var/www$ ls -l
total 4
drwxrwxr-x 3 dev dev 4096 May 31 15:53 myproject

Теперь вот где это не удается. Я хочу создать файл в myproject (вошел в систему как "martyn", член "dev"):

vi myproject/test

..но когда я пытаюсь сохранить файл, я получаю следующую ошибку:

"myproject/test" E212: Can't open file for writing

Почему, как пользователь "martyn", который является членом "dev", я не могу написать этот файл? Даже если я создаю файл так, чтобы он существовал, измените владельца на "dev", затем попробуйте отредактировать и сохранить - я получаю ту же ошибку.

2 ответа2

0

Это работает для меня на Arch Linux:

$ sudo useradd martyn
$ sudo passwd martyn
$ sudo groupadd example 
$ sudo usermod --append --groups example martyn
$ sudo mkdir /var/www /var/www/myproject
$ sudo chgrp example /var/www/myproject
$ sudo chmod g+w /var/www/myproject
$ su - martyn
$ groups
example martyn
$ touch /var/www/myproject/file
$ ls -l /var/www/myproject/file
-rw-r--r-- 1 martyn martyn 0 May 31 11:13 /var/www/myproject/file

Вы уверены, что SELinux не включен (запустите getenforce)?

-1

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

chown -R dev:dev myproject/

и затем установите права с помощью команды chmod :

chmod -R 0775 myproject/

0775 разрядные нотные устанавливает режим каталога для rwxrwxr-x что дает dev пользователя и все членам dev группа доступ rwx к директории и файлам.

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

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