1

У меня есть клиент, который я настроил на машине с Linux. Он не очень разбирается в технологиях, и ему просто необходим простой пароль для входа в Ubuntu. Его имя пользователя и пароль примерно такие:

user: John
password: GoodDeals

С другой стороны, пароль пользователя root на компьютере намного сложнее, и доступ к нему должен иметь только я.

Но когда я использую команду:

sudo su -

Ubuntu запрашивает простой пароль Джона, а затем предоставляет root-доступ ко всей машине.

Это может быть проблемой, поскольку, как только сотрудник узнает простой пароль для входа на компьютер, он может получить с ним root-доступ.

Это намеренное поведение?

Почему знание пароля учетной записи пользователя автоматически дает вам root-доступ?

3 ответа3

4

По умолчанию дистрибутив Linux для Ubuntu поставляется с отключенной учетной записью root и неустановленным паролем root, поэтому для повышения уровня привилегий пользователю необходимо запускать команды с помощью sudo , что разрешено только в том случае, если пользователь является пользователем sudoer (имеющим запись в sudoers файл), который для краткости следующий:

Члены группы администраторов могут получить привилегии root

%admin  ALL=(ALL) ALL

Разрешить членам группы sudo выполнять любую команду

%sudo   ALL=(ALL:ALL) ALL

Root и пользователи в групповом колесе могут запускать что угодно на любой машине как любой пользователь

root            ALL = (ALL) ALL
%wheel          ALL = (ALL) ALL

Системные администраторы, работающие полный рабочий день, могут запускать что угодно на любой машине без пароля

FULLTIMERS      ALL = NOPASSWD: ALL

Системные администраторы, работающие неполный рабочий день, могут запускать что угодно, но для этого требуется пароль

PARTTIMERS      ALL = ALL

И команда, которую вы запускаете

sudo /sbin/su -

который при запуске пользователем sudo не запрашивает пароль (пароль sudo, а не пароль root), если RootSudoTimeout не произошло, чтобы ограничить это

джон май su только оператору

john        ALL = /usr/bin/su operator

john может su кому угодно, но root и флаги запрещены

john        ALPHA = /usr/bin/su [!-]*, !/usr/bin/su *root*
2

Понял, что Джон был в группе sudo, когда он не должен был быть. Удалил Джона из sudo с помощью этой команды:

gpasswd -d john sudo

И это решило проблему. Если он попытается повысить привилегии, он не сможет этого сделать.

2

Знание пароля учетной записи пользователя не дает root-права автоматически. Sudo предназначен для корневого доступа для привилегированных пользователей, таких как ваш John, использующих пароль пользователя, в отличие от su, которым нужен пароль root для выполнения любой команды. Показать вывод команды id для Джона. Я полагаю, вы настроили Ubuntu с этим именем пользователя, так что Джон по умолчанию входит в группу sudo.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .