Для команды cd отказано в доступе

Я создал группу для разработчиков, чтобы предоставить им доступ к: / 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

Что со мной не так?

0
задан 13 December 2015 в 23:37
2 ответа

Ваша проблема в том, что вы не перезапустили сеанс после получения нового членства в группе. Да, id justme сообщает вам, что когда justme войдет в в будущем , он (вы) станет членом группы devmaster ]. Но это не повлияет на его (ваши) текущие сеансы оболочки, о чем вам сказал бы id -a .

Выйдите из системы и войдите снова, проверьте, что вы приобрели новое членство в группе с id -a , затем посмотрите, можете ли вы cd / var / dev (или / var / lib / dev , ваш вопрос неоднозначен ).

2
ответ дан 4 December 2019 в 13:45

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

$ sudo usermod -G devmaster justme

нуждался в -a option:

$ sudo usermod -a -G devmaster justme

Потому что в противном случае вторичные группы полностью заменяются devmaster , вместо того, чтобы объединяться с какой-либо группой, указанной ранее, и поскольку justme ] был исходной административной учетной записью, я не входил в группы sudo, adm, cdrom, plugdev и другие 5.

Итак, я не мог использовать sudo , и, поскольку не было ' Для любой другой учетной записи пользователя в системе мне пришлось перезагрузить компьютер, перезагрузить в безопасном режиме и открыть оболочку root, чтобы добавить себя в группу sudo и в другие потерянные группы.

0
ответ дан 4 December 2019 в 13:45

Теги

Похожие вопросы