Сейчас по проекту работаем постоянно с виртуалками, хостим всё на машине с Debian. Накатили ОС, раздали всем учетки. Если нужны действия от рута, то, как и положено, делаем через sudo с вводом пароля. Ничего особенного.
В целом, работа идет, но каждый раз вводить пароль бесконечно бесит. Но что еще больше бесит, так это то, что при работе с WinSCP при попытке доступа к файлу, который доступен только root, нет возможности ввести пароль для поднятия прав. И вот как решить это, я вам расскажу:
Нужно сделать две вещи: 1) Файл sudoers. Мы добавили нужного юзера в sudoers.d/coolusername-sftp и добавили ему права на работу с WinSCP без запроса пароля для повышения прав.
coolusername ALL=(root) NOPASSWD: /usr/lib/openssh/sftp-server
Так, при выполнении sftp команд юзером coolusername не будет запрашиваться пароль.
2) Поменять настройки терминала в WinSCP Открываем WinSCP, выбираем хост, который хотим открыть. Прежде, чем присоединяться, нажимаем “Edit” в правой части экрана, кнопка “Advanced…” станет активной. Жмем ее, в новом окне в списке выбираем Shell. В правой части в поле “Shell:” вводим sudo -s.
Всё, теперь при попытке доступа к файлам, принадлежащим root, не должно быть ошибок доступа.
Обязательно имейте ввиду безопасность вопроса. У нас тестовый сервер, ломаем что хотим. Однако, полный sftp-доступ к root файлам обычным юзером может стать источником проблем.
Короче, это плохая практика, и если кто-то может поделиться опытом как это решить более правильно, буду рад почитать подсказки.