Назад | Перейти на главную страницу

В доступе отказано для команды 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

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

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

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

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

$ sudo usermod -G devmaster justme

нуждался в -a вариант:

$ sudo usermod -a -G devmaster justme

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

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