当我们使用FileZilla通过SFTP协议与Linux服务器进行连接时,如果用普通用户来登录的话,上传文件的过程中会出现permission denied的提示,说用户无权限错误的返回码为3,以下是该问题的解决方法。
1. 查找sftp-server 文件夹所在的系统路径
先进入root用户,然后使用如下命令来查看sftp-server 文件夹所在的系统路径:
[root@vm ~]# find / -name sftp-server -print
得到如图所示的结果:
2. 设置用户权限,给普通用户访问SFTP二进制文件的权限
得到sftp-server文件路径后,输入以下命令来编辑修改 /etc/sudoers配置文件
[root@vm ~]# visudo
在文本中找到如下语句
root ALL=(ALL) ALL
按下键盘i
启用插入模式,在root ALL=(ALL) ALL结尾处按回车在其下面增加以下语句(iotspark是普通用户名,改成你自己的!)
iotspark ALL=NOPASSWD:/usr/libexec/openssh/sftp-server
如图所示:
同时,将文件中的如下一行注释掉:
Defaults requiretty
如图所示: