一般使用者帳戶無法上傳 重要檔案至特定目錄(到需要root權限許可的地方)
錯誤訊息:權限不足 Permission denied
作法一(偷懶作法)
開一個 root account
但是這作法不安全,畢竟暴露root帳戶讓駭客猜密碼
(不需要先猜帳號,只要不停暴力猜密碼,一旦成功入侵,就能完全控制整台伺服器)
但是這作法不安全,畢竟暴露root帳戶讓駭客猜密碼
(不需要先猜帳號,只要不停暴力猜密碼,一旦成功入侵,就能完全控制整台伺服器)
修改 SSH 設定允許 root 登入
$ sudo passwd root
$ sudo nano /etc/ssh/sshd_config
將以下
PermitRootLogin prohibit-password
改為
PermitRootLogin yes
接著就可以在WinSCP上以root登入
作法二(推薦作法)
不開root帳戶,而是讓使用者的帳戶擁有root權限
$ sudo visudo
會開啟一個設定檔,離開時按Ctrl+X記得儲存
your_name ALL=(ALL:ALL) NOPASSWD: ALL
允許使用者執行全部root操作,方便但權限過大
或 更推薦以下
your_name ALL=(root) NOPASSWD: /usr/lib/openssh/sftp-server
僅授權特定 root 功能(最小權限原則),只開放scp功能的root權限
儲存立即生效,不用重新載入或者重開機
可透過查看 /etc/sudoers 檢視最底下是否有剛剛新增的那行
回到WinSCP
要做一些設定,否則登入還是以一般使用者的權限
環境 > SFTP > 協定選項 > SFTP 伺服器
將預設參數改為 sudo /usr/lib/openssh/sftp-server
儲存好後,接著就可以在WinSCP上以 your_name 登入
就能自由進出root目錄啦!!
錯誤排除
如果出現 無法初始化 SFTP 協定。主機是否正在執行 SFTP 伺服器? 錯誤訊息的話
先確認sftp-server 路徑 是否在 "/usr/lib/openssh/sftp-server"
---
順帶一提
這套 WinSCP 我們都是用SFTP進行傳輸,而非SCP (也可支援SCP)
SFTP功能比SCP來得更多,包括瀏覽資料夾、刪除、修改、拖曳...
SCP 只能"傳檔" 而沒有檔案管理能力
沒有留言:
張貼留言