在前期的文章,我們用兩篇文章介紹了FTP服務的原理《網絡配置文件》《 FTP 服務原理》,FTP服務包括三種認證模式,分别是匿名用戶登錄、本地用戶和虛拟用戶登錄,前兩種認證模式在文章《 FTP服務匿名用戶登錄》《FTP服務本地用戶登錄》中分别進行了演示。下面我們來以虛拟用戶的方式來登錄FTP服務,這種登錄方式是最安全的認證模式。
第一步:在/etc/vsftpd/下創建用于進行FTP認證的用戶數據庫文件 vuser.list。其中奇數行為賬戶名,偶數行為密碼。
[root@localhost vsftpd]# vim vuser.list songjiang 123456 wuyong 123456 luzhishen 123456
創建完vuser.list文件後,使用db_load命令将原始的銘文文件進行加密轉換成數據庫文件,然後再把原始的明文文件删除。
[root@localhost vsftpd]# db_load -T -t hash -f vuser.list vuser.db [root@localhost vsftpd]# file vuser.dbvuser.db : Berkeley DB (Hash, version 9, native byte-order) [root@localhost vsftpd]# chmod 600 vuser.db [root@localhost vsftpd]# rm -rf vuser.list
這個時候我們可以看到有一個 vuser.db的文件。
第二步:為了方便管理FTP服務器上的數據,把系統本地用戶的家目錄設置為/var 目錄。并将這個系統本地用戶設置為不允許登錄FTP服務。
[root@localhost vsftpd]# mkdir /etc/vsftpd/vusers_dir/[root@localhost vsftpd]# cd /etc/vsftpd/vusers_dir/[root@localhost vusers_dir]# touch songjiang[root@localhost vusers_dir]# touch wuyong[root@localhost vusers_dir]# touch luzhishen[root@localhost vusers_dir]# vim songjianganon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES
第三步:建立用于支持虛拟用戶的PAM文件,新建一個用于虛拟用戶認證的PAM文件 vsftpd.vu,其中PAM文件内“db=”參數為使用db_load命令生成賬戶密碼數據庫文件的路徑。
[root@localhost vsftpd]# vim vsftpd.confanonymous_enable=NOlocal_enable=YESguest_enable=YESguest_username=virtualallow_writeable_chroot=YESwrite_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YESlisten=NOlisten_ipv6=YESpam_service_name=vsftpd.vuuserlist_enable=YEStcp_wrappers=YESuser_config_dir=/etc/vsftpd/vusers_dir
第四步:為虛拟用戶設置不同的權限,在/etc/vsftpd/下創建vusers_dir目錄,在該目錄下創建三個文件,以虛拟用戶的名稱命名 songjiang, wuyong, luzhishen。其中在songjiang文件中寫入允許的權限
[root@localhost vusers_dir]# systemctl restart vsftpd.service[root@localhost vusers_dir]# getsebool -a | grep ftpftpd_anon_write --> offftpd_connect_all_unreserved --> offftpd_connect_db --> offftpd_full_access --> onftpd_use_cifs --> offftpd_use_fusefs --> offftpd_use_nfs --> offftpd_use_passive_mode --> offhttpd_can_connect_ftp --> offhttpd_enable_ftp_server --> offtftp_anon_write --> offtftp_home_dir --> on
第五步:修改vsftpd.conf配置文件
[root@localhost vusers_dir]# systemctl restart vsftpd.service[root@localhost vusers_dir]# getsebool -a | grep ftpftpd_anon_write --> offftpd_connect_all_unreserved --> offftpd_connect_db --> offftpd_full_access --> onftpd_use_cifs --> offftpd_use_fusefs --> offftpd_use_nfs --> offftpd_use_passive_mode --> offhttpd_can_connect_ftp --> offhttpd_enable_ftp_server --> offtftp_anon_write --> offtftp_home_dir --> on
第六步:重啟vsftpd服務,并設置SELinux域允許策略,ftpd_full_access=on,設置命令為 setsebool -P ftpd_full_access=on
[root@localhost vusers_dir]# systemctl restart vsftpd.service [root@localhost vusers_dir]# getsebool -a | grep ftp ftpd_anon_write --> off ftpd_connect_all_unreserved --> off ftpd_connect_db --> off ftpd_full_access --> on ftpd_use_cifs --> off ftpd_use_fusefs --> off ftpd_use_nfs --> off ftpd_use_passive_mode --> off httpd_can_connect_ftp --> off httpd_enable_ftp_server --> off tftp_anon_write --> off tftp_home_dir --> on
最後登錄FTP服務即可
使用虛拟賬号在window系統上同樣可以登錄到該服務。
注意,因為songjiang賬号具有讀寫權限,具有創建文件、上傳文件的功能,而wuyong,luzhishen賬号沒有上傳功能,所以使用wuyong和luzhishen登錄時,隻能下載文件,無法上傳更改文件。
相關曆史文章
1 Linux常用操作命令
1.1 文件和目錄操作
1.2 文本顯示和處理
1.3 文件和命令查找&系統消息顯示
2 shell編程
2.1 程序的創建與内部命令
2.2 流程控制語句
3:Linux網絡安全
3.1 網絡安全工具 nmap
3.2 網絡性能測試工具Netperf
4 Linux網絡配置
4.1 網絡配置文件
4.2 FTP 服務原理
4.3 FTP服務匿名用戶登錄
4.4 FTP服務本地用戶登錄
5 Linux文件系統
5.1 創建文件系統
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!