天天看點

linux篇——CentOS7安裝vsftpd3.0.2、使用者權限配置CentOS7安裝vsftpd、使用者權限配置

CentOS7安裝vsftpd、使用者權限配置

vsftpd(very secure ftp daemon)是一款運作在Linux作業系統上的FTP服務程式,不僅完全開源而且免費,還具有很高的安全性、傳輸速度,以及支援虛拟使用者驗證。

vsftpd 允許使用者以三種認證模式登入FTP伺服器。

  • 匿名開放模式:是一種最不安全的認證模式,任何人都可以無需密碼驗證而直接登入。
  • 本地使用者模式:是通過Linux系統本地的賬戶密碼資訊進行認證的模式,相較于匿名開放模式更安全,而且配置起來也很簡單。
  • 虛拟使用者模式:是這三種模式中最安全的一種認證模式,它需要為FTP服務單獨建立使用者資料庫檔案,虛拟出用來進行密碼驗證的賬戶資訊,而這些賬戶資訊在伺服器系統中實際上是不存在的,僅供FTP服務程式進行認證使用。這樣,即使黑客破解了賬戶資訊也無法登入伺服器,進而有效降低了破壞範圍和影響。

1、yum 安裝

yum install -y vsftpd
           

2、建立一個不能登入系統的使用者ftpuser用于映射虛拟使用者,ftp根目錄

useradd -d /home/ftpsite -s /sbin/nologin ftpuser
chmod 550 /home/ftpsite/
           

修改配置檔案 /etc/vsftpd/vsftpd.conf, 先備份一份

cd /etc/vsftpd
cp -a vsftpd.conf vsftpd.conf.bak
vim vsftpd.conf
anonymous_enable=NO     #關閉匿名開放模式
local_enable=YES        #允許本地使用者模式 虛拟使用者模式也要開啟
guest_enable=YES        #開啟虛拟使用者模式
guest_username=ftpuser  #指定用于映射虛拟使用者的系統賬戶
#啟用ASCII模式的傳輸ascii_upload_enable=YES
ascii_download_enable=YES
           
#将所有使用者限定在其主目錄内chroot_local_user=YES
chroot_list_enable=NO#如果有使用者不需要限定在主目錄以下設定chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list     #這個檔案需要自己建立
           

chroot_local_user=YES #所有使用者限定在其主目錄内

chroot_list_enable=YES #啟用例外

/etc/vsftpd/chroot_list #這裡的使用者名都不受限制,可以切換出主目錄,使用者名一行填寫一個

chroot_local_user=NO #所有使用者都不受限制,可以切換出主目錄

chroot_list_enable=YES #啟用例外

/etc/vsftpd/chroot_list #這裡的使用者名都受到限制,限定在其主目錄内,使用者名一行填寫一個

3、建立虛拟使用者

vim virtual_user
test1
test111
test2
test222
           

建立了2個賬戶,test1、test2。第一行使用者名,第二行密碼,依此類推:

使用 db_load 指令生成 vsftpd 的認證檔案,将使用者資訊檔案轉換為資料庫并使用hash加密:

db_load -T -t hash -f virtual_user virtual_user.db
chmod 600 virtual_user.db
rm -f virtual_user
           

4、建立虛拟使用者所需的PAM配置檔案,對虛拟使用者的安全和賬戶權限進行驗證

vim /etc/pam.d/vsftpd.virtual
auth       required     pam_userdb.so db=/etc/vsftpd/virtual_user    #不需要填字尾
account    required     pam_userdb.so db=/etc/vsftpd/virtual_user
           

修改 /etc/vsftpd/vsftpd.conf,指定剛建立的PAM檔案

pam_service_name=vsftpd.virtual
           

5、給不同虛拟使用者設定不同權限,及主目錄

前面已近建立了test1、test2兩個虛拟使用者,分别建立主目錄

mkdir /home/ftpsite/test1
mkdir /home/ftpsite/test2
chown ftpuser:ftpuser /home/ftpsite/test1
chown ftpuser:ftpuser /home/ftpsite/test2
           

建立虛拟使用者配置檔案,及存放目錄,配置檔案的名稱要跟之前 virtual_user.db 裡使用者名一緻

mkdir /etc/vsftpd/virtual_user_conf
vim /etc/vsftpd/virtual_user_conf/test1
local_root=/home/ftpsite/test1   #設定使用者主目錄
allow_writeable_chroot=YES       #2.3.5之後,如果使用者被限定在了其主目錄下,則該使用者的主目錄不能再具有寫權限了,可以去掉寫權限或加上這項
anon_world_readable_only=NO      #隻要檔案所有者對檔案有讀權限即可下載下傳
write_enable=YES                 #寫入開關,是下面幾個權限的前提
anon_upload_enable=YES           #上傳
anon_mkdir_write_enable=YES      #建立檔案夾
anon_other_write_enable=YES      #删除、覆寫、重命名
           

使用者test2

vim /etc/vsftpd/virtual_user_conf/test2
local_root=/home/ftpsite/test2
allow_writeable_chroot=YES
anon_upload_enable=YES
           

修改 /etc/vsftpd/vsftpd.conf,加上虛拟使用者配置目錄

user_config_dir=/etc/vsftpd/virtual_user_conf
           

6、啟動vsftp,添加防火牆端口

systemctl start vsftpd
systemctl enable vsftpd
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
           

7、連結測試 test1 test2 兩個權限是不一樣的

繼續閱讀