Как предоставить обычному пользователю разрешение на смену пароля root

Как предоставить обычному пользователю разрешение на смену пароля root

Пожалуйста, не спрашивайте почему, но возможно ли это сделать?

p/s: Я знаю, что это нехорошо, скажем так, кто-то из высшего руководства, кто не разбирается в компьютерах, хочет что-то вродеконтрольчерез сервер.

решение1

Не делайте этого... вы можете либо дать им пароль root, либо выполнить команду sudo passwd root(предполагается, что sudo настроен на использование пароля пользователя или на отсутствие пароля, и что passwd — это команда, которую sudo разрешила запускать этому пользователю).

решение2

sudoэто швейцарский армейский нож индивидуальных разрешений. Вы можете попросить пользователя запустить

sudo /usr/bin/passwd root

Чтобы увидеть, как это можно реализовать, вот соответствующий пример из страницы руководства sudoers(5).

pete           HPPA = /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root

The user pete is allowed to change anyone's password except for root on the 
HPPA machines.  Note that this assumes passwd(1) does not take multiple 
usernames on the command line.

Конечно, вам придется инвертировать логику, чтобы достичь своих целей. Итак, вы выполните visudo, и добавьте строку типа

user ALL = /usr/bin/passwd root

к /etc/sudoers.

решение3

Возможно, вы можете добавить эту строку в файл sudoer (используя visudo), заменив phuneheheее именем пользователя.

phunehehe localhost = NOPASSWD: /usr/bin/passwd

Я не знаю, нарушает ли это ваше положение «обычного пользователя», потому что после этого у него/нее появляется очень много власти.

EDIT: согласно комментарию xenoterraside :)

решение4

Если вы не доверяете владельцу учетной записи root, то, вероятно, нет способа помешать пользователю root удалить это специальное разрешение. Если вы доверяете пользователю root, то просто спросите у него текущий пароль.

Связанный контент