21:傳輸控制使用,進行身份驗證受權訪問數據庫
- 20:傳輸數據使用
主動模式:服務器端經過20號端口給客戶端傳輸數據,POST指令表示主動鏈接,默認工做在主動模式vim
- 被動模式:服務器端開放指定範圍的端口號等待客戶端創建數據鏈接,pasv指令表示被動模式
文本 模式:文本模式不支持傳輸流媒體數據,支持文本文件centos
- 二進制模式:使用普遍支持傳輸文本文件流媒體數據
匿名:使用ftp用戶或者anonymous帳戶驗證不須要密碼安全
本地身份驗證:須要使用帳戶密碼進行身份驗證後訪問數據服務器
- 虛擬帳戶驗證:將多個用戶映射到一個系統帳戶進行驗證
[root@centos01 ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm <!--安裝ftp服務器端--> [root@centos01 ~]# rpm -ivh /mnt/Packages/ftp-0.17-67.el7.x86_64.rpm <!--安裝ftp客戶端-->
[root@centos01 ~]# vim /etc/vsftpd/vusers.list <!--奇數行是用戶名,偶數行是密碼--> bob pwd@123 tom pwd@123 alice pwd@123
[root@centos01 ~]# db_load -T -t hash -f /etc/vsftpd/vusers.list /etc/vsftpd/vusers.db
[root@centos01 ~]# mkdir /benet [root@centos01 ~]# useradd -d /benet/ftproot -s /sbin/nologin virtual
[root@centos01 ~]# chmod 755 /benet/ftproot/
[root@centos01 ~]# vim /etc/pam.d/vsftpd.vu #%PAM-1.0 auth required pam_userdb.so db=/etc/vsftpd/vusers account required pam_userdb.so db=/etc/vsftpd/vusers
[root@centos01 ~]# mkdir /etc/vsftpd/vusers_dir
[root@centos01 ~]# vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO <!--是否容許匿名訪問--> local_enable=YES <!--是否容許本地系統用戶訪問--> write_enable=YES <!--啓用任何形式的寫入權限(如上傳、刪除文件等)--> local_umask=022 <!--設置本地用戶所上傳文件的默認權限掩碼值--> anon_umask=022 <!--設置匿名用戶所上傳文件的默認權限掩碼值--> dirmessage_enable=YES<!--用戶切換進入目錄時顯示.message文件(若是存在)的內容--> xferlog_enable=YES <!--啓用xferlog日誌,默認記錄到/var/log/xferlog--> connect_from_port_20=YES <!--容許服務器主動模式(從20端口創建數據鏈接)--> xferlog_std_format=YES <!--啓用標準的xferlog日誌格式, 若禁用此項,將使用vsftp本身的日誌格式--> listen=NO <!--是否以獨立運行的方式監聽服務--> listen_ipv6=YES chroot_local_user=YES<!--是否將FTP本地用戶禁錮在宿主目錄中--> allow_writeable_chroot=YES<!--容許被限制用戶的主目錄具備寫權限--> guest_enable=YES guest_username=virtual <!--指定映射的系統用戶名稱--> user_config_dir=/etc/vsftpd/vusers_dir/ <!--位不一樣的虛擬用戶創建獨立的配置文件--> pam_service_name=vsftpd.vu <!--指定新的PAM認證文件--> userlist_enable=YES <!--是否啓用user_list用戶列表文件--> tcp_wrappers=YES <!--是否啓用TCP_Wrappers主機訪問控制-->
[root@centos01 ~]# touch /etc/vsftpd/vusers_dir/bob [root@centos01 ~]# touch /etc/vsftpd/vusers_dir/tom [root@centos01 ~]# touch /etc/vsftpd/vusers_dir/alice
[root@centos01 ~]# vim /etc/vsftpd/vusers_dir/bob anon_upload_enable=YES <!--容許上傳數據--> anon_mkdir_write_enable=YES <!--容許建立目錄或文件--> anon_other_write_enable=YES <!--容許刪除或覆蓋文件目錄-->
[root@centos01 ~]# vim /etc/vsftpd/vusers_dir/tom anon_upload_enable=YES <!--容許上傳數據-->
[root@centos01 ~]# chown virtual:virtual /benet/ftproot/
[root@centos01 ~]# systemctl start vsftpd <!--啓動服務--> [root@centos01 ~]# systemctl enable vsftpd <!--設置開機自動啓動-->
listen=NO: 是否以獨立運行的方式監聽服務;app
listen_address=IP地址:設置監聽f t p服務的ip地址,默認監聽全部IP地址;tcp
listen_port=21:設置監聽ftp服務的端口號;ide
write_enable=YES:開啓寫入權限;ui
download_enable=YES:容許下載權限;日誌
dirmessage_enable=YES:用戶切換進入目錄時顯示 「.message」文件(若是已存在)的內容;
xferlog_enable=YES:啓用xferlog日誌,默認記錄到 /var/log/xferlog;
xferlog_std_format=YES:ftp日誌格式;
connect_from_port_20=YES:數據鏈接端口號默認20;
pasv_enable=NO:禁止被動模式鏈接;默認容許被動模式鏈接;
pasv_max_port=21600:起始端口號;
pasv_min_port=21700:結束端口號;
pam_service_name=vsftpd:開啓PAM驗證;
userlist_enable=YES:容許user_list列表用戶登陸ftp;
userlist_deny=YES:不容許user_list列表用戶登陸ftp;
max_clients=0:限制多個客戶端同時鏈接(0爲無限制);
max_per_ip=0:容許相同IP地址訪問ftp鏈接次數(0爲無限制);
tcp_wrappers=YES:ftp的訪問控制列表提高安全性使用
匿名配置項字段詳解;anonymous_enable=YES:是否容許匿名訪問;
anon_umask=022:設置匿名用戶所上傳文件的默認權限掩碼值(反掩碼);
anon_root=/var/ftp:設置匿名用戶的FTP根目錄;
anon_upload_enable=YES;是否容許匿名用戶上傳文件;
anon_mkdir_write_enable=YES:是否容許匿名用戶由建立目錄的寫入權限;
- anon_other_write_enable=YES:是否容許匿名用戶有其餘寫入權限,如對文件更名、覆蓋及刪除文件等;
local_enable=YES:是否容許本地用戶訪問;
local_umask=022:設置本地用戶所上傳文件的默認權限掩碼值(反掩碼);
local_root=/var/ftp:設置本地用戶的FTP根目錄(默認爲用戶的宿主目錄);
chroot_local_user=YES:是否將FTP本地用戶禁錮在宿主目錄中;
allow_writeable_chroot=YES:容許被限制用戶的主目錄具備寫權限;
- local_max_rate=0:限制本地用戶的最大傳輸速率(0爲無限制),單位爲字節/秒(B/s);
guest_username=test:指定映射的系統用戶名稱;
guest_enable=YES:是否啓用虛擬用戶;
allow_writeable_chroot=容許被限制用戶的主目錄具備寫權限(此項必須寫入,不然可能會報錯);
anon_world_readable_only=NO:容許用戶下載目錄內容;
anon_other_write_enable=YES:容許匿名用戶有其餘寫入權限,如重命名、覆蓋及刪除文件等;
- user_config_dir=/etc/vsftpd/vusers_dir:指定虛擬用戶獨立的配置文件目錄;
———————— 本文至此結束,感謝閱讀 ————————