文章彙整

安裝與設定ftp使用者,禁止ssh與sftp登入(以Ubuntu為例)

By Astral Web 1 year agoNo Comments
首頁  /  網站設計與開發  /  安裝與設定ftp使用者,禁止ssh與sftp登入(以Ubuntu為例)

blocked ssh and sftp (2)

在linux伺服器上因為是開源環境,所以能選擇的FTP軟體很多,今天介紹的是以vsftp為例,因為他的管理算是比較簡單的,想要調整權限或是使用者路徑也只要再多費一點工就可以做到。

 

既然是以Ubuntu為例,如何安裝軟體就不用太多作介紹了。

 

系統指令
sudo apt-get install vsftpd

 

 

 

安裝好後,我們這次的目的有以下兩點:

  1. 限制使用者帳號,讓使用者帳號不會看到其他目錄,或是有機會切換到其他目錄。
  2. 設定針對FTP帳號,因此關閉帳號的SSH連線(SFTP)。
  3. 更改使用者的登入路徑。

 

  • 設定vsftp限制使用者的帳號權限。

 

請開啟vsftpd的設定檔,有幾個設定需要啟用或修改:

 

/etc/vsftpd.conf

……

# 開啟允許寫入

write_enable=YES

……

# YES限制登入的使用者無法更換目錄(顯示都會是根目錄 / )

chroot_local_user=YES

……

 

重新啟動vsftpd:

 

系統指令
sudo /etc/init.d/vsftpd restart

 

但 chroot_local_user 設定啟用後,使用FTP連線會顯示錯誤:

blocked ssh and sftp (3)

這需要再增加一行設定,並再重新啟動vsftp:

 

/etc/vsftpd.conf

……

# 允許chroot寫入有寫入權限

allow_writeable_chroot=YES

……

 

這個設定才可以處理掉writable跟chroot之間的衝突,如果增加了設定但還是發生相同的錯誤,這是因為安裝的vsftpd版本太舊,請依以下方式重新安裝vsftpd:

 

系統指令

sudo add-apt-repository ppa:thefrontiergroup/vsftpd

sudo apt-get update

sudo apt-get install vsftpd

 

  • 關閉使用者帳號的SSH功能(SSH,SFTP)。

 

這個步驟就非常的簡單了,請開啟sshd_config檔案,增加一行(peter-test1為使用者):

 

/etc/ssh/sshd_config

DenyUsers peter-test1

 

重啟ssh:

 

系統指令
sudo service ssh restart

 

  • 更改使用者的登入路徑。

 

因為使用者的登入就是到linux使用者的家目錄,請開啟/etc/passwd來修改:

blocked ssh and sftp (1)

如圖,以此例將/home/peter-test1改到你想指定給他的路徑即可,請注意不要刪到前後的冒號。

 

當然更改路徑後,別忘了要修改新路徑的使用者,這樣使用者才可以修改或上傳內容,例如新增一個/home/zzz資料夾:

 

系統指令
sudo chown peter-test1:peter-test1 /home/zzz

 

指令中紅色是使用者,藍色是新資料夾位置,請依需要修改。

 

參考資料:

 

How to Install and Configure vsftpd on Ubuntu 14.04 LTS

 

ubuntu FTP SERVER 安裝設置( vsftp 版本)

 

How to disable SFTP for a user, but keep FTP enabled

 

500 OOPS: vsftpd: refusing to run with writable root inside chroot() Keep user jailed

 

Fixing 500 OOPS: vsftpd: refusing to run with writable root inside chroot ()

 

以上內容由Astralweb 歐斯瑞編寫製作

 000

推薦文章

Category:
  網站設計與開發

留下回應

你的電子郵件地址不會被公開.

取得獨家電子商務祕技

建立更好的策略靈感

跟上全球的網路趨勢

絕佳的電商解決方案

電子商務戰略全指南

每月發送電商戰略指南,只要填寫E-mail即可訂閱!

請到您的信箱確認,即可完成訂閱。