# Sudo (Русский)

Ссылки по теме

- Users and groups
- su

## Установка

Для установки sudo введите:

    pacman -S sudo

## Включение sudo для пользователей

Для того, чтобы добавить пользователя как пользователя sudo ("sudoer"), отредактируйте /etc/sudoers в специальной сессии vi. Если вы не знаете как пользоваться vi, наберите следующее:

    EDITOR=nano visudo

(Ни в коем случае не редактируйте непосредственно /etc/sudoers). Чтобы дать пользователю привилегии root'а, когда он вводит "sudo" перед командой, добавьте следующую строку:

    USER_NAME   ALL=(ALL) ALL

где USER_NAME - это имя пользователя.

## Автодополнение после sudo

По умолчанию автодополнение после команды sudo не работает. Например, если в консоли написать:

    fir

и нажать клавишу Tab, то командная оболочка автоматически завершит команду:

    firefox

А если добавить в начало sudo:

    sudo fir

и нажать Tab, то ничего не произойдёт.

Чтобы автодополнение заработало, добавьте в файл ~/.bashrc строку:

    complete -cf sudo

По аналогии можно включить автодополнение после команд gksu (в среде GNOME) и kdesu (в среде KDE):

    complete -cf sudo gksu kdesu

Либо можно просто установить пакет bash-completion (программируемая автодополнялка) из репозитория extra.

Обратите внимание: Если вы установили bash-completion, перелогинились, но автодополнение не работает сделайте `/usr/share/bash-completion/bash_completion` исполняемым.

## Время действия введённого пароля

Возможно, вы хотите изменить промежуток времени, в течение которого sudo действует без ввода пароля. Этого легко добиться добавив в /etc/sudoers (visudo) следующее:

    Defaults:your_username timestamp_timeout=MINUTES

Это может выглядеть так:

    Defaults:foo timestamp_timeout=20

Где sudo для пользователя foo действует без необходимости ввода пароля в течении 20 минут.

Обратите внимание: Если вы хотите чтобы sudo всегда требовал ввода пароля, сделайте timestamp_timeout равным 0.

## Краткое обобщение

Подводя итог, следующие пункты будут полезны всем (USER_NAME - имя пользователя):

    1. pacman -S sudo
    2. добавить "USER_NAME   ALL=(ALL) ALL" to /etc/sudoers
    3. добавить "complete -cf sudo" to /home/USER_NAME/.bashrc

## OpenBox выключение/перезагрузка

Для начала добавим кнопки в менюшку openbox, с командами sudo halt и sudo reboot, теперь нужно дабавить в конфиг sudo строки

     ## Uncomment to allow members of group wheel to execute any command
     # %wheel ALL=(ALL) ALL
     %power ALL = NOPASSWD: /sbin/halt,/sbin/reboot

тем самым пользователи в группе power получили право выполнять эти команды без ввода пароля рута,есть и сторонние прроги позволяющие делать перезагрузку, и выключение, создают кнопочку на нее тыкаете и выходит окошко с тем что сделать, ищите в AUR , это самый простой вариант. Перед этим включите sudo для пользователя

## Немного развлечения

sudo может ругаться на вас каждый раз, когда вы вводите неверный пароль, вместо того чтобы просто выводить сообщение "Sorry, try again". Для включения этого "пасхального яйца":

    # sudo visudo

Найдите раздел Defaults line (прибл. строка 18) и добавьте "insults" через запятую, если там уже что-то есть. В итоге это может выглядеть так:

    #Defaults specification
    Defaults insults

Обратите внимание: Для проверки наберите sudo -K, чтобы закончить текущую сессию и позволить sudo спросить пароль снова

## Пароль root'а

Если вам требуется sudo, например для makepkg -s, но вы не хотите рисковать безопасностью, вы можете настроить sudo спрашивать пароль root вместо пароля пользователя. Добавьте "rootpw" к строке Defaults:

     Defaults timestamp_timeout=0,rootpw

## Смотрите также

- Disable root password and gain su sudo with no password

Categories:

- Security (Русский)
- Русский