版本说明:
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