Как мне сделать что-то подобное:
Есть два пользователя: пользователь с обычными привилегиями и администратор с правами администратора.
Я хочу сделать так:
user@localhost:~$ sudo vim
[sudo] password for administrator: <admin's password here>
И теперь я нахожусь в учетной записи администратора.
Просто добавьте пользователя в группу sudo:
sudo adduser <username> sudo
Более подробное объяснение: https://help.ubuntu.com/community/RootSudo#Allowing_other_users_to_run_sudo [ 112]
Если вам действительно нужно запустить vim как пользователь с именем «administrator» (не root!), Вы должны использовать
sudo -u adminstrator vim
Но даже в этом случае обычный пользователь должен быть членом группы sudo.
sudo vim
означало бы выполнение команды vim
от имени суперпользователя. Если вы ищете команду для запуска оболочки, используйте
sudo -i
или
sudo su
. Они позволят вам ввести пароль вашего пользователя и пользователь должен быть в файле sudoers.
Если вы не хотите, чтобы пользователь был добавлен в этот файл, вы можете просто использовать команду
su
, которая позволит вам ввести в корень (администратор) счет.
И, наконец, если есть учетная запись под названием administrator
, вы можете сделать
su administrator
, чтобы получить к ней доступ.
Если вы имели в виду, что при входе в систему как user
вы хотите выполнить команду как administrator
, вам необходимо выполнить:
user@localhost:~$ sudo -u administrator vim
Однако пароль user
будет спросил не тот из adminitrator
. Для этого вам нужно запустить от имени администратора (hmm) следующую команду для настройки sudo
:
visudo
Затем прокрутите вниз в открытом файле и найдите другое определение Defaults
. В этом разделе, предпочтительно в конце, добавьте новую строку с:
Defaults targetpw
И сохраните файл и выйдите. Обратите внимание, что это изменит поведение по умолчанию для всех пользователей sudo, поэтому если вашему пользователю administrator
необходимо использовать sudo
для получения привилегий root, вам лучше знать пароль root
!