Сервер на базе 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.

  1. Dahaka
    26 Июнь 2010 в 13:55 | #1

    Статьи мне понравились. Спасибо. Продолжение будет?

  2. 26 Июнь 2010 в 14:00 | #2

    @Dahaka
    Будут.. постараюсь в ближайшее время написать еще пару статей. Может есть какие-нибудь конкретные пожелания по тематике?

  3. Dahaka
    15 Сентябрь 2010 в 01:46 | #3

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

    З.Ы. Извиняюсь за такое длительное время ожидания ответа.

  1. 19 Май 2010 в 22:19 | #1

Confirm that you are not a bot - select a man with raised hand: