Просто хочу получить совет. У меня есть root-доступ к серверу, и я хочу создать второго пользователя и выполнять все через sudo, если мне это нужно, вместо того, чтобы входить в систему как root. Файл / etc / sudoers читается как:
Defaults env_reset
root ALL=(ALL) ALL
%sudo ALL=(ALL) ALL
Я добавил в систему второго пользователя «bob» и добавил их в группу sudo, которая должна гарантировать, что они могут выполнять команды root. При попытке выполнить какое-либо привилегированное действие я получаю следующую ошибку:
sudo: must be setuid root
Я понимаю, что мне нужно будет установить SUID с
chmod u+s /usr/bin/sudo (or should this be g+s?)
что позволит мне выполнить sudo.
Есть ли какие-либо соображения безопасности, которые я должен учитывать при таком подходе, и правильно ли это? Во многих сообщениях по этому поводу говорится, что это ошибка, но настроен виртуальный сервер, и мне был предоставлен только root-доступ. Я считаю /usr/bin/sudo
умышленно не был установлен SUID, чтобы ограничить его запуск другими пользователями и гарантировать, что я должен его явно установить.
Вы действительно должны chmod u+s /usr/bin/sudo
.
Что мне показалось странным, так это то, что все мои установки сервера Ubuntu (с 10.04LTS до 12.04LTS) всегда поставлялись с этим набором +. Так что да, это правильно. Более того, выполнение действий через sudo вместо использования root - хороший подход с точки зрения безопасности. Журнал /var/log/auth.log
регистрирует все, что было сделано с помощью вызовов sudo.
Я бы посоветовал вам выполнить следующие команды:
chown root /usr/bin/sudo
chgrp root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
chmod 0440 /etc/sudoers
chmod u+s /usr/bin/sudo
Конечно, вы должны запускать их как root!