Posted on 

WinSCP 使用一般 user 帳號(root停用時)登入使用 sudo 傳檔

有時候在用 WinSCP 傳檔時遇到只能用一般 user 帳號登入系統(root 帳號被停用),傳檔到目的地卻發現沒有權限,常常就是先傳到自己的 home 目錄,然後再使用 command line 使用 sudo 權限將檔案複製到目的地,現在不用這麼麻煩囉,只要以下幾個步驟,就可以在 WinSCP 傳檔囉:

  1. 打開 WinSCP 的站台管理員,選擇你要編輯的站台
  2. 按下編輯 Edit ->進階 Advanced…
  3. 在 環境 Environment -> SFTP 頁面,於 SFTP 伺服器 SFTP Server 的欄位手動輸入 sudo /usr/lib/sftp-server*註1
  4. 到 環境 Environment -> Shell 頁面,於 Shell 的欄位輸入 sudo su - 或手動下拉選擇也可以。
  5. 按下 OK 退出視窗,然後連線到站台,選擇上傳到某個你沒有權限的目的地,WinSCP 就會問你密碼,輸入正確後就會發現目的地就會有你的東西了

註1: sftp-server 的路徑需要在你的 linux 系統中找到正確的路徑,這有可能在以下三個地方:

  • /usr/lib/sftp-server
  • /usr/lib/openssh/sftp-server
  • /usr/libexec/openssh/sftp-server

請於上述的地方找尋你有的路徑然後將完整路徑填入 SFTP Server 欄位就好囉