J3qx

information archive

sudo без пароля (Linux / Unix)

Posted by j3qx на Март 10, 2016

sudo без пароля (Linux / Unix)

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

Существует 2 варианта реализации этой затеи — работающий и правильный, мы рассмотрим оба.
для примера буду использовать логин пользователя: user

Вариант номер раз — работающий

нам необходимо отредактировать файл

nano /etc/sudoers

необходимо найти и добавить после записи:

%sudo ALL=(ALL) ALL

Запись вида:

user  ALL=(ALL) NOPASSWD:ALL

После этого, можем заходить под пользователем user и набирать:

sudo -s

Система больше не будет спрашивать пароль

Вариант номер два — правильный

В принципе, все тоже самое, но нам необходимо создать файлик с содержимым

sudo nano /etc/sudoers.d/user

С содержимым:

user  ALL=(ALL) NOPASSWD:ALL

Также у этого файла должны быть определенные права доступа

chmod 644 /etc/sudoers.d/user

После этого можем логиниться в систему под учетной записью user, набирать

sudo -s

система пароль спрашивать не будет
Именно этот вариант является более предпочтительным т.к. позволяет контролировать кому и какие права доступа установлены.

Таким образом можно выдавать права определенному пользователю на выполнение определенных действий, без предоставления административных прав на всю систему.
Например: Нам необходимо предоставить права доступа на перезапуск сервиса memcached пользователю vasia, но мы не ходим его делать админом всей системы, но для выполнения этой операции требуются административные привилегии, мы их можем выдать только на выполнение одной операции.
Создаем файл:

sudo nano /etc/sudoers.d/vasia

С содержимым:

vasia ALL=NOPASSWD: /usr/bin/service memcahched restart

Теперь пользователь vasia имеет права sudo на перезапуск сервиса memchached, система не будет требовать от него пароль.

Пойдем еще дальше, а что если пользователю vasia необходимо предоставить права на несколько действий, без админсиких права на всю систему, например, нам необходимо разрешить перезапск определенного сервиса и обновление списка пакетов и установку обновлений системы, тогда файл с содержимым принимает вид:

vasia ALL=NOPASSWD: /usr/bin/service memcahched restart, /usr/bin/apt-get update, /usr/bin/apt-get upgrade

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

Отбираем права у пользователя

Отзыв привилегий в системе производится путем удаления этого файла из директории:

rm -rf /etc/sudoers.d/vasia

После этого, пользователь vasia, потеряет административный доступ.

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

sudo nano /etc/sudoers.d/powerusers

Добавим запись вида:

%powerusers ALL=NOPASSWD: /usr/bin/service memcahched restart, /usr/bin/apt-get update, /usr/bin/apt-get upgrade

Где:
%powerusers — название группы

Вот так это делается, на этом я закончу.

© http://howitmake.ru/blog/FAQ/185.html#cut
Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

 
%d такие блоггеры, как: