CentOS7 WinScp普通用户上传文件无权限解决
CentOS7 WinScp普通用户上传文件无权限解决
Linux环境: CentOS 7.3
SFTP工具: WinSCP
问题描述:
无法使用root远程登录,使用普通用户登录无权限上传文件。
当我们使用WinSCP通过SFTP协议与Linux服务器进行连接时,如果用普通用户来登录的话,上传文件的过程中会出现permission denied的提示,说用户无权限错误的返回码为3,以下是该问题的解决方法。
-
远程登录Linux系统,先输入 su 命令,接着输入ROOT管理员密码回车,然后输入以下命令回车执行
find / -name sftp-server -print
-
【设置用户权限,给普通用户访问SFTP二进制文件的权限】
得到sftp-server文件路径后,输入以下命令来编辑修改 /etc/sudoers配置文件visudo
在文本中找到下语句root ALL=(ALL) ALL
按下键盘i,启用插入模式,在root ALL=(ALL) ALL结尾处按回车在其下面增加以下语句(dejan是普通用户名,改成你自己的!)dejan ALL=NOPASSWD:/usr/libexec/openssh/sftp-server
-
修改后,先按下键盘ESC键,然后向上找到下面语句:
Defaults requiretty
按下键盘i,启用插入模式,在 Defaults requiretty 前面加 # 号,把该语句注释掉#Defaults requiretty
【PS:我在CentOS7.3里面没找到这句话,所以跳过了这一步】 -
最后保存退出编辑,输入命令(注意是两个字符)
:x
-
如果改错了想从新再来不想保存退出,敲入命令(注意是3个字符)
:q!
-
在winscp端进行连接设置,设置好主机名,端口号,用户名,密码之后点击"高级"
-
设置SFTP
-
设置 Shell
-
确定保存后就可以登陆,然后进行文件上传了
参考链接
https://jingyan.baidu.com/album/9c69d48f87ff2913c8024e69.html?picindex=1