четверг, 14 октября 2010 г.

Ubuntu:Как разрешить пользователю выполнять некоторые административные 'функции'/скрипты/программы.

     Часто возникает вопрос, как пользователю дать возможность выполнять некоторые административные ф-ии, которые изначально доступны только из под рута с применением команды sudo в Ubuntu. Например :

  • монтирование разделов/дисков
  • выключение/перезагрузка
  • запуск демонов (к примеру демона торрент сервиса - deluged)
  • запуск сервера apache без запроса пароля
  • запуск каких-то скриптов
  • и т.п.

      И так, для примера дадим права на выключение/перезагрузку и монтирование/размонтирование пользователю Vasya:

  • открываем терминал
  • набираем sudo -s ваш_аккаунт_администратора (sudo -s временно нам даcт права рута)
  • далее набираем visudo (откроется файл для редактирования sudoers)
  • Далее, добавляем в файл следующее:
vasya localhost = NOPASSWD: /usr/sbin/shutdown,/usr/sbin/reboot,/usr/bin/mount,/usr/bin/umount
  • сохраняем файл (если все хорошо с  синтаксисом, то файл благополучно сохраниться)
      Почему надо использовать visudo, а не просто редактировать файл sudoers? В первую очередь в целях безопасности т.к. visudo не сохранит изменения, если имеется синтаксическая ошибка. А изменения в этом файле являются критичными для работы пользователей и системы... visudo также гарантирует правку файла 'sudoers' только в одной сессии.


      Вот и всё. Аналогичным образом можно разрешить исполнение каких либо других скриптов или программ без запроса пароля. Только не забываем о безопасности, т.к. отключив запрос пароля для некоторых программ мы можем создать потенциальную дырку  в безопасности нашей системы из вне...

Комментариев нет:

Отправить комментарий