Я хочу загрузить файлы из системы Linux с помощью клиента Windows. Хотя существует множество клиентов SFTP, у меня возникла проблема: мне нужно получить доступ к файлам, где мне нужны права root. В системе Linux у меня отключена учетная запись root, я использую sudo для получения прав root. Как выполнить "sudo" с помощью клиента SFTP? Я не хочу менять свою систему Linux! Спасибо за любую подсказку!
решение1
Поскольку sftp не запускает команды, вам придется запустить сам модуль sftp с помощью sudo
. Но поскольку после входа в систему терминал не подключен, вы должны иметь возможность работать sudo
без пароля.
Подробную инструкцию по использованию WinSCP см. здесьhttps://winscp.net/eng/docs/faq_su#sudo
решение2
Если ваш сервер допускает только протокол SFTP, вы не можете объединить его с sudo, вам придется найти другой метод. Если ваш сервер допускает произвольные команды оболочки, вы можете использовать sudo, но большинство программ передачи файлов не имеют функции для его вызова и передачи пароля.
Одним из клиентов, позволяющим комбинировать ssh с sudo для доступа к файлам, является Emacs (черезБродяга, который встроен в Emacs с версии 23). См.Открыть файл через SSH и Sudo с помощью Emacs. Вы можете использоватьнаправлен(также встроенная функция Emacs) для управления файлами.
Было бы удобнее использовать SSH, чтобы стать root. Если вы используете защищенный паролем ключ, который принимается только с localhost, безопасность эквивалентна стандартной настройке sudo. СмотритеКопирование защищенных файлов между серверами в одну строку?