Если вы хотите работать под пользователем user и выполнять любые административные команды без ввода sudo и без запроса пароля, то проще всего добавить его в группу sudo и настроить правило NOPASSWD.
Все команды выполняются под root.
Шаг 1. Создать пользователя
Создайте пользователя и задайте пароль:
adduser user
Система попросит:
New password:
Retype new password:
Остальные поля можно пропустить клавишей Enter.
Проверка:
id user
Должно появиться что-то вроде:
uid=1001(user) gid=1001(user) groups=1001(user)
Шаг 2. Добавить пользователя в группу sudo
usermod -aG sudo user
Проверка:
groups user
Должно быть:
user : user sudo
Шаг 3. Разрешить sudo без пароля
Создайте отдельный файл настроек:
visudo -f /etc/sudoers.d/user
Вставьте:
user ALL=(ALL:ALL) NOPASSWD:ALL
Шаг 4. Проверить права файла
chmod 440 /etc/sudoers.d/user
Проверка:
ls -l /etc/sudoers.d/user
Должно быть:
-r--r----- 1 root root ...
Шаг 5. Проверить синтаксис sudo
visudo -c
Ожидаемый результат:
/etc/sudoers: parsed OK
/etc/sudoers.d/user: parsed OK
Шаг 6. Проверить вход под пользователем
Не закрывая root-сессию, откройте второе SSH-подключение:
ssh user@IP_СЕРВЕРА
Проверка пользователя:
whoami
Результат:
user
Шаг 7. Проверить права root
Проверка получения root:
sudo -i
После команды не должно быть запроса пароля.
Проверка:
whoami
Результат:
root
Шаг 8. Проверить установку пакетов
Вернитесь под пользователя user:
exit
Установите любой небольшой пакет:
sudo apt update
sudo apt install tree -y
Пароль запрашиваться не должен.
Проверка:
tree --version
Дополнительно (рекомендуется)
Если планируете использовать только пользователя user, после настройки SSH-ключей имеет смысл:
- Запретить вход по паролю.
- Запретить вход под
root. - Разрешить вход только по SSH-ключам.