Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

example_name ALL = / bin / bash

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

sudo 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, имеет ограниченный режим, лучше использовать его. Всегда лучше перестраховаться и предоставить как можно меньше прав для выполнения задачи и расширения в каждом конкретном случае.