寫在前面:
最近,因爲工作需要,搭建了一臺FTP服務器供業務部門使用。實現不同的業務部門登錄時,被限制在該業務部門對應的目錄內,且能夠在該目錄內上傳文件。
下面我將在這篇文章中,介紹Linux Suse 11.4版本操作系統,搭建FTP服務器的過程。
建設方法:
在Linux Suse 11.4的版本中,自帶FTP server功能。我們可以在Yast—Network Services中看到。
點擊FTP Server,提示需要安裝VSFTP服務,如果是虛擬機的話,將ISO在虛擬光驅中掛載,操作系統會自動讀取虛擬光驅中的安裝文件安裝VSFTP服務
VSFTP服務安裝好後,進入下面這個頁面
這裏,需要對FTP進行設置,根據我的需求可以概括爲:
-
只允許認證用戶登錄
-
允許認證用戶上傳
-
用戶上傳的文件用戶本身可讀可寫,用戶所在組和其他組均只可讀。
-
不同的FTP用戶,登錄後的目錄不同
根據以上需求,我需要進行如下設置
只允許認證用戶登錄,且允許上傳
用戶上傳的文件用戶本身可讀可寫,用戶所在組和其他組均只可讀。
這對應到umask 022.
umask 022 對應的是文件權限755,即文件所屬用戶本身可讀可寫,文件所屬組和其他組均只可讀。
設置用戶登錄後的FTP根目
經過這樣的設置,我們實現的是用戶登陸以後,所看到的目錄爲/srv/ftp_test.而要實現不同用戶登陸後,進入不同的目錄還需要進行如下設置:
配置完成後,點擊finish,將配置保存並重啓VSFTP服務。
之後,爲了實現上面的需求,我們需要修改VSFTP配置文件
打開VSFTP配置文件
# vi /etc/vsftpd.conf
在配置文件中,添加
user_config_dir=/etc/userconfig
之後,我們在etc目錄下,創建目錄userconfig
在userconfig中,創建針對每個用戶的文件,文件名與用戶名相同,以風險部爲例,風險部登錄FTP服務器的用戶爲fengxian.創建fengxian文件
# vi fengxian
寫入你希望該用戶登陸後所在的目錄
local_root=/srv/ftp_test/fengxian_file
配置完成後,需要重啓vsftp服務
service vsftpd restart
至此,便完成了FTP服務器的搭建,實現我提到的幾點需求。
尾巴:
在我的實際工作中,需要針對100多個用戶創建不同的登錄目錄。同時需要根據需求,在每個用戶的目錄內,統一創建新需求所需的目錄。結合python語法實現這些功能,將事半功倍。