版本說明:
Windows 10
CentOS 7
WinSCP 5.7.7 (Build 6257)安全
使用 WinSCP 登陸 CentOS 上傳文件,使用的是普通用戶,且已加入 sudoers
,向 /usr/local
目錄上傳文件時,提示沒有權限。ssh
sshd
服務正在運行sudoers
獲取 sftp-server
的位置優化
/etc/ssh/sshd_config
文件中獲取:sudo cat /etc/ssh/sshd_config | grep sftp
結果:ui
Subsystem sftp /usr/libexec/openssh/sftp-servercode
sudo updatedb
locate sftp-server
結果:
/usr/libexec/openssh/sftp-server
/usr/share/man/man8/sftp-server.8.gzserver
Advanced Site Settings
對話框中,選中 Environment
→ SFTP
節點,在右邊的 Protocol options
- SFTP server
輸入框中,填入 sudo -s /usr/libexec/openssh/sftp-server
,這裏的 /usr/libexec/openssh/sftp-server
換成在你的系統中,由第 3 步獲得的路徑,以後保存。在 CentOS 中執行 sudo visudo
以編輯 /etc/sudoers
文件get
myloginname ALL=(ALL) ALL
改成: myloginname ALL=(ALL) NOPASSWD: ALL
。這一步的目的是切換爲 root
角色時不須要輸入密碼,由於 WinSCP 只能執行不須要請求用戶輸入其餘信息(好比:密碼等)的命令。Defaults requiretty
這一行,在前面加一個 #
號註釋掉這一行,這一步的目的是關閉控制終端。到此,便可以 root
角色登陸系統啦!it
也許你擔憂因爲上述解決方案的第 5 步,在切換爲 root
時不須要輸入密碼,會形成系統不安全。
確實是這樣,若是你係統安全要求較高,我建議你新建一個賬戶,專門用於 WinSCP 中以 root
角色登陸。io
原文連接:http://xueliang.org/article/detail/20160926003344351class