Обновление прав sudo

На одном из моих серверов я предоставил основному пользователю веб-сервера доступ к /usr/bin и /tmp. Я сделал это так, чтобы ceartain-скрипты могли вызывать exim без необходимости иметь полные права sudo.

Теперь я хочу добавить полные права sudo для этого конкретного пользователя через синтаксис ALL = (ALL).

Мой вопрос заключается в следующем: если я преобразую синтаксис user = /usr/bin, /tmp в полный sudo, будут ли работать те же сценарии. Я знаю, когда вы вводите sudo one в командной строке, вам нужно ввести пароль. Но вышеупомянутые скрипты запускаются через cron, и сейчас им не требуется пароль при запуске. Так изменит ли это предоставление пользователю полных прав администратора?

Я знаю, может быть, это простой вопрос, но я не хочу совершать ошибку, которую можно избежать, на чем-то таком простом.

Еще несколько деталей для вас. Эта учетная запись пользователя является тем же пользователем, который "владеет" всеми общедоступными веб-страницами. Я просто хочу иметь полноценного пользователя sudo для задач администратора без необходимости входа в систему как root. С точки зрения безопасности, дадите ли вы когда-нибудь полные права sudo пользователю, которому принадлежат файлы, обслуживаемые веб-сервером? Или вы просто создадите другого пользователя только для администрирования?

Спасибо за вашу помощь!

1 ответ

Я бы подумал, что точные права sudo безопаснее, чем разрешить доступ к / usr / bin с правами на чтение, конечно, / tmp должен быть для всех пользователей верным и доступным.

Чтобы предоставить полные права sudo, что-то вроде этого работает в файле sudoers:

example_name ALL = / bin / bash

Затем пользователь запускает:

судо баш

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

Чтобы позволить пользователю запускать службу, такую ​​как exim, будет работать что-то вроде следующего:

example_name ALL = / etc / init.d / exim4 start, /etc/init.d/exim4 stop, /etc/init.d/exim4 restart, /etc/init.d/exim4 reload

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

Кроме того, предоставление прав sudo определенным двоичным файлам может иметь неожиданные последствия, если указанный двоичный файл позволяет запустить оболочку (например, vim). В этом случае оболочка запускается с такими же повышенными привилегиями и в основном дает вам root-доступ. Аналогичная ситуация происходит, когда вы предоставляете права sudo для запуска make, тогда пользователь может использовать make для размещения файлов в самых разных местах.

Таким образом, остерегайтесь того, какие права sudo вы предоставляете и как вы их предоставляете. Если бинарный файл, такой как vim, имеет ограниченный режим, то лучше использовать его вместо этого. Всегда лучше быть в безопасности и предоставлять как можно меньше прав для выполнения задачи и расширения в каждом конкретном случае.

Другие вопросы по тегам