Сервер на базе FreeBSD. Sudo
В предыдущей статье «Сервер на базе FreeBSD. Настройка portsnap» мы развернули дерево портов на жесткий диск и добавили в cron задачу обновления дерева портов.
В этой статье мы рассмотрим установку программы sudo, необходимой для повышения прав обычного пользователя до прав суперпользователя, то есть root. (англ. superuser [substitute user] do, дословно «выполнить от имени суперпользователя»).
Итак, предположим, что мы продолжаем настройку нашего сервера. В данный момент мы работаем от имени пользователя root. Переходим в директорию с деревом портов:
#cd /usr/ports
Переходим в директорию, где находится собственно порт программы sudo. Актуальная версия на данный момент — 1.7.2.6:
#cd security/sudo
И начинаем установку…
#make install clean
Перед нами появится выбор опций компиляции и установки:
[ ] LDAP With LDAP support
[ ] INSULTS With all insults
[X] SHELL_SETS_HOME Set HOME env to target user in shell mode
[ ] DISABLE_ROOT_SUDO Disable root sudo
[ ] DISABLE_AUTH Disable authentication
[ ] NOARGS_SHELL Enable no arguments shell
В общем, тут каждый выбирает то, что ему нужно. Однако, если вы не знаете, что означает та или иная опция — отмечать ее не следует. Единственная опция, которую использую я — SHELL_SETS_HOME. Компиляция с этой опцией означает, что при получении прав другого пользователя, текущая директория home становится директорией этого пользователя. То есть при получении прав рута, введя
#cd ~
мы попадем в /root, а не в вашу домашнюю директорию /usr/home/username.
Итак, sudo установлено. При компиляции, при включении зависимостей портов, могут выскакивать другие вопросы. Однако, так как это наша самая первая установленная программа, мы не будем углубляться и на ответы на все вопросы будем оставлять по умолчанию.
Далее рассмотрим конфигурацию этой, несомненно важной, программы. Конфигурационный файл sudo находится здесь: /usr/local/etc/sudoers. Открываем этот файл в текстовом редакторе ee.
#ee /usr/local/etc/sudoers
Поскольку администратор сервера будет единственным, то и повышать права разрешим мы ему одному.
Добавляем в файл следующую строчку:
my_username ALL=(ALL) NOPASSWD: ALL
Где вместо my_username пишем имя пользователя, которого мы создавали для себя. Таким образом мы получаем возможность в любое время получать права суперпользователя root, даже не зная пароля.
Для того, чтоб воспользоваться всеми полученными привилегиями — войдя в систему под своим пользователем, наберите:
#sudo -s
Все, вы — root.
В следующей статье: установка bash и ssh.



Статьи мне понравились. Спасибо. Продолжение будет?
@Dahaka
Будут.. постараюсь в ближайшее время написать еще пару статей. Может есть какие-нибудь конкретные пожелания по тематике?
@PRO.Admin
На самом деле пожеланий море). Просто радует Ваше доступное пояснение. С чем столкнулся по факту: поднял Х сервер+Гном. При изменении развертки на экране теперь полосы(кроме них ничего не видно). Это я умудрился сделать на руте и естественно сохранить..(всё это дело на вирт. машине. Не страшно но принципиально разобраться в деле). При входе под остальными пользователями, картинка адекватная только в дефолте, который 1280х720. При любом изменении получаю всё те же полосы. По хендбуку пробовал перенастроить Х сервер: вписал доступные режимы, но реакции абсолютно никакой. Я понимаю что фряхе GUI мало нужен.. но всё же.. это с чего начал я). А так, в принципе, интересует всё: начиная от мелочей, далее сливание двух каналов интернета и установка почтового сервера и до… до совершенства). По факту, пока научился подымать только фтп.. да и то, без тонкой настройки.
З.Ы. Извиняюсь за такое длительное время ожидания ответа.