Admin » 03 май 2022, 17:20
Обсуждение статьи
SUDO
Использование SUDO
Зачем нужна команда SUDO
Для выполнения команд с правами root в основном, но так же от имени других пользователей. Исторически сложилось, что использовать su является не безопасным, для серверов с большим числом пользователей. Поэтому рекомендуется во избежания больших ошибок использовать команду sudo. Поэтому надо взять за правило все команды от лица суперпользователя испольнять через sudo. В Дебиан через ssh под учетной записью суперпользователя не зайти.
Установка SUDO
По умолчанию уже установлена. Для верности запустим установку. Выполняем команду su - вводим пароль root. Не забыв обновить пакеты перед установкой..
Код: Выделить всё
sudo apt update
sudo apt upgrade -y
sudo apt install sudo
Настройка SUDO
Все настройки хранятся в файле sudoers.
Добавление пользователя с правами root
Откроем файл для редактирования:
Находим строку User privilege specification для поиска в nano используем команду Ctrl+w. Дописываем под ней имя_юзера ALL=(ALL:ALL) ALL
Код: Выделить всё
# User privilege specification
root ALL=(ALL:ALL) ALL
# Добавить пользователя с рут правами
имя_юзера ALL=(ALL:ALL) ALL
Сохранить файл Ctrl+O Enter, закрыть Ctrl+X
Выполнение команды SUDO без ввода пароля
Чтобы отключить ввод пароля для пользователя нужно немного изменить запись User privilege specification открываем sudoers изменяем права юзера на ALL=(ALL) NOPASSWD: ALL:
Код: Выделить всё
# User privilege specification
root ALL=(ALL:ALL) ALL
# Добавить пользователя с рут правами
имя_юзера ALL=(ALL) NOPASSWD: ALL
Сохранить файл Ctrl+O Enter, закрыть Ctrl+X
Отключение SU для пользователя SUDO
Если это необходимо, а для единоличного использования сервера достаточно и двух предидущих настроек, то меняем запись юзера на ALL=(ALL) NOPASSWD: ALL, !DISABLE_SU
Код: Выделить всё
# User privilege specification
root ALL=(ALL:ALL) ALL
# Добавить пользователя с рут правами
имя_юзера ALL=(ALL) NOPASSWD: ALL, !DISABLE_SU
Сохранить файл Ctrl+O Enter, закрыть Ctrl+X
Не забыть выйти из рута набрав команду:
Теперь все важные команды выполняем через sudo
Все написано вкратце без лишней воды, для начала этих знаний достаточно. Более углублено можно почитать документацию
Обсуждение статьи [url=https://wildserver.ru/sudo/]SUDO[/url]
[size=200][b]Использование SUDO[/b][/size]
[size=150][b]Зачем нужна команда SUDO[/b][/size]
[size=100]Для выполнения команд с правами [b][i]root[/i][/b] в основном, но так же от имени других пользователей. Исторически сложилось, что использовать [b][i]su[/i][/b] является не безопасным, для серверов с большим числом пользователей. Поэтому рекомендуется во избежания больших ошибок использовать команду [b][i]sudo[/i][/b]. Поэтому надо взять за правило все команды от лица суперпользователя испольнять через sudo. В Дебиан через [url=https://wildserver.ru/ssh-server/][b][i]ssh[/i][/b][/url] под учетной записью суперпользователя не зайти.[/size]
[size=150][b]Установка SUDO[/b][/size]
[size=100]По умолчанию уже установлена. Для верности запустим установку. Выполняем команду [b][i]su -[/i][/b] вводим пароль [b][i]root[/i][/b]. Не забыв обновить пакеты перед установкой..[/size]
[code]sudo apt update
sudo apt upgrade -y
sudo apt install sudo[/code]
[size=150][b]Настройка SUDO[/b][/size]
[size=100]Все настройки хранятся в файле [b][i]sudoers[/i][/b].[/size]
[size=125][b]Добавление пользователя с правами root[/b][/size]
[size=100]Откроем файл для редактирования:[/size]
[code]sudo nano /etc/sudoers[/code]
[size=100]Находим строку [b][i]User privilege specification[/i][/b] для поиска в nano используем команду [b][i]Ctrl+w[/i][/b]. Дописываем под ней [b][i]имя_юзера ALL=(ALL:ALL) ALL[/i][/b][/size]
[code]# User privilege specification
root ALL=(ALL:ALL) ALL
# Добавить пользователя с рут правами
имя_юзера ALL=(ALL:ALL) ALL[/code]
[size=100]Сохранить файл [b][i]Ctrl+O[/i][/b] [b][i]Enter[/i][/b], закрыть [b][i]Ctrl+X[/i][/b][/size]
[size=125][b]Выполнение команды SUDO без ввода пароля[/b][/size]
[size=100]Чтобы отключить ввод пароля для пользователя нужно немного изменить запись [b][i]User privilege specification[/i][/b] открываем [b][i]sudoers[/i][/b] изменяем права юзера на [b][i]ALL=(ALL) NOPASSWD: ALL[/i][/b]:[/size]
[code]# User privilege specification
root ALL=(ALL:ALL) ALL
# Добавить пользователя с рут правами
имя_юзера ALL=(ALL) NOPASSWD: ALL[/code]
[size=100]Сохранить файл [b][i]Ctrl+O[/i][/b] [b][i]Enter[/i][/b], закрыть [b][i]Ctrl+X[/i][/b][/size]
[size=125][b]Отключение SU для пользователя SUDO[/b][/size]
[size=100]Если это необходимо, а для единоличного использования сервера достаточно и двух предидущих настроек, то меняем запись юзера на [b][i]ALL=(ALL) NOPASSWD: ALL, !DISABLE_SU[/i][/b][/size]
[code]# User privilege specification
root ALL=(ALL:ALL) ALL
# Добавить пользователя с рут правами
имя_юзера ALL=(ALL) NOPASSWD: ALL, !DISABLE_SU[/code]
[size=100]Сохранить файл [b][i]Ctrl+O[/i][/b] [b][i]Enter[/i][/b], закрыть [b][i]Ctrl+X[/i][/b][/size]
[size=100]Не забыть выйти из рута набрав команду:[/size]
[code]exit[/code]
[size=100]Теперь все важные команды выполняем через sudo[/size]
[size=100]Все написано вкратце без лишней воды, для начала этих знаний достаточно. Более углублено можно почитать [url=https://manpages.debian.org/bullseye/sudo-ldap/sudo.8.en.html]документацию[/url][/size]