1. 当我们使用WinSCP通过SFTP协议与Linux服务器进行连接时,如果用普通用户来登录的话,上传文件的过程中会出现permission denied的提示,说用户无权限错误的返回码为3,以下是该问题的解决方法。

  2. 1.查找sftp-server 文件夹所在的系统路径

    先输入 su 命令,接着输入ROOT管理员密码回车,然后输入以下命令回车执行

    >find / -name sftp-server -print

    CentOS7 winscp普通用户上传文件无权限问题解决
  3. 2.设置用户权限,给普通用户访问SFTP二进制文件的权限

    得到sftp-server文件路径后,输入以下命令来编辑修改 /etc/sudoers配置文件

    >visudo

    在文本中找到下语句

    root    ALL=(ALL)  ALL 

    按下键盘i启用插入模式,在root ALL=(ALL)  ALL结尾处按回车在其下面增加以下语句(dejan是普通用户名,改成你自己的!)

    dejan  ALL=NOPASSWD:/usr/libexec/openssh/sftp-server

    CentOS7 winscp普通用户上传文件无权限问题解决
  4. 修改后先按下键盘ESC键,然后向上找到下面语句

    Defaults    requiretty

    按下键盘i启用插入模式,在Defaults    requiretty 前面加#号把该语句注释掉

    #Defaults    requiretty

    CentOS7 winscp普通用户上传文件无权限问题解决
  5. 最后保存退出编辑,输入命令(注意是两个字符)

    :x      

    如果改错了想从新再来不想保存退出,敲入命令(注意是3个字符)

    :q!     

  6. 3.在winscp端进行连接设置

    设置好主机名,端口号,用户名,密码之后点击高级

    CentOS7 winscp普通用户上传文件无权限问题解决
  7. 设置SFTP

    CentOS7 winscp普通用户上传文件无权限问题解决
  8. 设置 Shell

    CentOS7 winscp普通用户上传文件无权限问题解决
  9. 9

    确定保存后就可以登陆,然后进行文件上传了。

Logo

更多推荐