1 min read

sudoers и visudo: точечный доступ вместо полного root

sudoers и visudo: точечный доступ вместо полного root

Хук

Однажды я зашёл в серверную, а там парень из техподдержки сидел под root. Он просто хотел перезапустить nginx. И сделал это.

Но root остался открыт. Вся сессия. Полный доступ ко всему.

Предыстория

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

Когда я пришёл туда как внешний консультант, первым делом спросил: «А кто еще знает root?» Ответил главный инженер: «Ну, наверное, человек пять, может, семь…».

Проблема

С каждым новым сотрудником root-доступ расширялся. Никто не знал точного списка. Полный root — это право делать всё без ограничений: удалить лог, переписать конфиг, стереть базу.

Достаточно одной случайной команды — и сервис ляжет. А ответственность размазывается. «Я думал, это кто-то другой сделал».

Полный root — это не привилегия, а бомба замедленного действия.

Почему это важно

Любая ошибка с root-доступом — простой бизнеса. Пока вы ищете виновного, клиенты не получают услугу. Аудит действий становится невозможным — кто что менял под root, не видно.

Для компании это прямые убытки и потеря репутации. Я видел проекты, где после пары таких инцидентов инвесторы начали задавать неудобные вопросы.

Решение

Мы внедрили точечный доступ через sudoers. Вместо «можешь всё» — «можешь только restart nginx, reload php-fpm и посмотреть логи». Для редактирования sudoers используем visudo — он проверяет синтаксис, не даёт сломать файл.

Пример настройки для тимлида техподдержки:

  • 🚀 Специфичные команды: /usr/bin/systemctl restart nginx, /usr/bin/systemctl reload php-fpm, /bin/journalctl
  • 🛡 Запрет оболочки: не давать sudo -i или sudo /bin/bash
  • 🔍 Логирование: все sudo-команды пишутся в auth.log с указанием пользователя
  • 📋 Регулярный аудит: раз в месяц проверяем список sudoers и удаляем лишнее

Результат

Через две недели root больше никто не использовал в повседневной работе. Каждый мог сделать ровно то, что ему нужно, и не мог случайно навредить.

Количество инцидентов с серверами упало до нуля. А мне перестали звонить в три утра с вопросом «Сергей, а кто тут базу дропнул?».


📬 Свяжитесь с нами

Хотите внедрить это в своем бизнесе? Пишите нам!

Связаться с нами
Telegram
WhatsApp
Email