Безпарольный sudo для выполнения одной команды (docker)

Thank you for reading this post, don't forget to subscribe!

Допу­стим пона­до­би­лось раз­ре­шить одно­му поль­зо­ва­те­лю в систе­ме выпол­нить при­ло­же­ние, тре­бу­ю­щее sudo без вво­да паро­ля. Для это­го нуж­но отре­дак­ти­ро­вать файл /etc/sudoers соответственно:

имя_пользователя ALL = (ALL) NOPASSWD: /path/to/binary

После это­го поль­зо­ва­тель смо­жет выпол­нить binary без вво­да паро­ля сле­ду­ю­щим образом:

sudo /path/to/binary

Для того, что­бы и sudo вво­дить не при­шлось. очень хоро­шо под­хо­дит docker для при­ме­ра. По умол­ча­нию все docker коман­ды выпол­ня­ют­ся с пра­ва­ми супер­поль­зо­ва­те­ля. Для того что­бы обыч­ный поль­зо­ва­тель в систе­ме смог выпол­нять docker-коман­ды без необ­хо­ди­мо­сти вво­дить sudo и пароль каж­дый раз нуж­но сна­ча­ла отре­дак­ти­ро­вать /etc/sudoers сле­ду­ю­щей строкой:

имя_пользователя ALL = (ALL) NOPASSWD: /usr/bin/docker

В файл .bashrc в домаш­нем ката­ло­ге поль­зо­ва­те­ля, нуж­но доба­вить сле­ду­ю­щую функцию:

Для при­ме­не­ния изме­не­ний выпол­ни­те следующее:

source /home/имя_пользователя/.bashrc

Мож­но объ­явить эту функ­цию гло­баль­но отре­дак­ти­ро­вав файл /etc/profile