sudo

Команда sudo (домашняя страница: Sudo Main Page) позволяет просто и безопасно повысить привилегии пользователя в операционной системе, любому пользователю, даже маленькой девочке Lindsey Lamer. Утилита visudo редактирует файл /etc/sudoers, в котором хранятся настройки sudo (substitute user and do, дословно «подменить пользователя и выполнить»).

Опции в файле sudoers применяются в том порядке в каком они указаны в файле конфигурации. Поэтому более общие правила должны идти вначале, а более частные уточнения должны располагаться ближе к концу.
  • Разрешить пользователю tstroot запускать все команды без дополнительного ввода пароля
    tstroot ALL=(ALL) NOPASSWD:ALL
  • Запуск. Ключ -H обязателен, иначе команда sudo будет выполняться в домашнюю директорию предыдущего пользователя (например /root).
    sudo -H -u gituser gitosis-init < /tmp/id_rsa.pub
  • Вы можете узнать какими привилегиями обладает конкретный пользователь следующей командой
    sudo -lU имя_пользователя

    узнать ваши собственные привилегии

    sudo -l
  • Лог sudo в отдельный файл. Добавляем две строчки в sudoers и создаем файл для записи в него логов.
    # visudo
    Defaults logfile=/var/log/sudo.log
    Defaults !syslog
    
    # touch /var/log/sudo1.log
  • Настройка доступа BackupPC для архивирование директории /etc при помощи утилиты sudo
    # visudo
    ...
    Defaults       env_reset
    
    
    backuppc ALL=NOPASSWD: /bin/tar, /usr/bin/env
    

    пришлось разрешить /usr/bin/env иначе возникает ошибка Got fatal error during xfer (sudo: no tty present and no askpass program specified)

  • Ошибка: sorry, you must have a tty to run sudo ; TTY=unknown. Она возникает если для пользователя запрещена командная оболочка, в моем случае для пользователя apache шелл был запрещен(/sbin/nologin). Для лечения в sudoers нужно закомментировать строку с опицией requiretty
    #Defaults    requiretty
    
    # sudo -L | grep requiretty
    requiretty: Only allow the user to run sudo if they have a tty

Читайте также: 3.1 Настройка GitLab Runner в Linux

PQ VPS сервера в 28+ странах.