Я создал группу для разработчиков, чтобы предоставить им доступ к: / var / lib / dev, папке, в которой уже есть некоторые папки и файлы внутри.
Я ввел следующие команды:
$ sudo useradd -d /var/dev -M -r devmaster
Итак, devmaster
- новый системный пользователь с основной группой devmaster
. Это можно проверить с помощью id
:
$ id devmaster
uid=998(devmaster) gid=998(devmaster) groups=998(devmaster)
Затем, Я изменил разрешения (используя chmod
/ chown
) следующим образом:
$ cd /var
$ sudo chown -R root:devmaster dev
$ sudo chmod -R o-wrx dev
$ sudo chmod -R g+wrx dev
И, наконец (мое имя пользователя здесь просто justme
):
$ sudo usermod -G devmaster justme
$ id justme
uid=1000(justme) gid=1000(justme)
groups=1000(justme),998(devmaster)
$ ls -lh
// Omitted
drwxrwx--- 3 root devmaster 4,0K dic 12 19:48 dev
// Omitted
Но если я попробуйте зайти в каталог:
$ cd dev
-bash: cd: dev: Permission denied
Что со мной не так?
Ваша проблема в том, что вы не перезапустили сеанс после получения нового членства в группе. Да, id justme
сообщает вам, что когда justme
войдет в в будущем , он (вы) станет членом группы devmaster
]. Но это не повлияет на его (ваши) текущие сеансы оболочки, о чем вам сказал бы id -a
.
Выйдите из системы и войдите снова, проверьте, что вы приобрели новое членство в группе с id -a
, затем посмотрите, можете ли вы cd / var / dev
(или / var / lib / dev
, ваш вопрос неоднозначен ).
Дело в том, что, хотя я действительно не знаю, почему, мне пришлось выйти из системы и снова войти в систему, чтобы проверить результаты, что работает, за исключением того, что:
$ sudo usermod -G devmaster justme
нуждался в -a
option:
$ sudo usermod -a -G devmaster justme
Потому что в противном случае вторичные группы полностью заменяются devmaster
, вместо того, чтобы объединяться с какой-либо группой, указанной ранее, и поскольку justme
] был исходной административной учетной записью, я не входил в группы sudo, adm, cdrom, plugdev и другие 5.
Итак, я не мог использовать sudo
, и, поскольку не было ' Для любой другой учетной записи пользователя в системе мне пришлось перезагрузить компьютер, перезагрузить в безопасном режиме и открыть оболочку root, чтобы добавить себя в группу sudo
и в другие потерянные группы.