上一篇博客中提到了winscp這個軟件,這個軟件可以利用sftp協議對linux服務器就行連接,然后方便我們對文件進行操作,但是如果是利用普通用戶進行登陸的話,在對文件進行相關操作的時候會出現一些permission denied的提示,並且錯誤的返回碼是3,以下就針對這個問題提供解決方法。
1.查看sftp應用程序的路徑,這個路徑在后面設置winscp的時候需要使用:
cat /etc/ssh/sshd_config | grep sftp
終端顯示的結果如下:
2.設置用戶權限:
vim /etc/sudoers
然后在打開的文本中找到下面的語句:
root ALL=(ALL) ALL
按下鍵盤i啟用插入模式,在root ALL=(ALL) ALL結尾處按回車在其下面增加以下語句(我的用戶名為ubuntu,你需要改成自己的用戶名)
ubuntu ALL=NOPASSWD:/usr/libexec/openssh/sftp-server
修改后先按下鍵盤ESC鍵,然后向上找到下面語句
Defaults requiretty
按下鍵盤i啟用插入模式,在Defaults requiretty 前面加#號把該語句注釋掉,注意:如果在文本中沒有找到該語句,則只要完成 在root ALL=(ALL) ALL結尾處按回車在其下面增加以下語句 這一步即可!
最后保存退出編輯,輸入命令
:wq
如果改錯了想從新再來不想保存退出,敲入命令(注意是3個字符)
:q!
3、在winscp端進行設置
輸入主機名(即IP地址)、用戶名和密碼,然后點擊高級
在箭頭所指位置輸入sudo + sftp應用程序的路徑
點擊Shell,在框框內輸入sudo -即可
最后點擊確定,然后點擊保存,在進行登入就可以完成文件操作了!