Я установил компьютер Ubuntu для своих сестер. Существует учетная запись администратора, к которой имеет доступ только я, и есть две обычных учетной записи.
Время от времени меня приглашают установить дополнительную программу, проверить настройки или устранить проблему. Вместо того, чтобы выходить из системы и затем входить в учетную запись администратора, было бы намного проще, если бы я мог решить проблему с терминала, когда мне вручают компьютер.
Например, я хотел проверить политики iptables при входе в обычную учетную запись.
Когда я набрал sudo iptables -L -v
, я не смог получить доступ к этой команде, поскольку обычная учетная запись пользователя, в которую я вошел, не имела привилегий, и он дал сообщение о том, что об инциденте будет сообщено .
Я снова вошел в учетную запись администратора и добавил пользователя в группу sudo.
При повторном тестировании команды iptables при входе в систему как обычная учетная запись она запрашивала только обычный пароль пользователя . Я не хочу это. В целях безопасности я бы предпочел, чтобы для выполнения этих команд использовался только пароль root , особенно при входе в учетную запись обычного пользователя.
Как я могу выполнять команды, требующие прав суперпользователя при входе в учетную запись без прав администратора и гарантируя, что для выполнения этих команд можно использовать только пароль root?
Вы можете войти в учетную запись sudo с терминала, а затем выполнить команду sudo. В общем, откройте терминал и выполните
su - sudousername
, а затем вы можете запустить sudo из терминала. ]
Для этого вы можете использовать опцию -c в su
.
Например. su -c 'iptables -L -v' sudoer_username
См .: http://manpages.ubuntu.com/manpages/precise/en/man1/su.1.html