FTP實驗報告
製作人:全心全意
準備工作:
linux1:192.168.100.4
關閉防火牆、selinux機制
配置yum源
匿名訪問
1.安裝vsftpd服務和客戶端
[root@localhost ~]# yum -y install vsftpd
—————————————————-
2.建立FTP目錄
[root@localhost ~]# mkdir /var/ftp/test{1..3} [root@localhost ~]# ls /var/ftp/ pub test1 test2 test3
—————————————————–
3.FTP目錄755許可權,屬主ftp
[root@localhost ~]# chown ftp /var/ftp/test1 [root@localhost ~]# chmod 755 /var/ftp/test1
———————————————————–
4.配置匿名訪問配置檔案
[root@localhost ~]# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak [root@localhost ~]# cat /etc/vsftpd/vsftpd.conf.bak | grep -v "^#" > /etc/vsftpd/vsftpd.conf [root@localhost ~]# vi /etc/vsftpd/vsftpd.conf 1 #匿名使用者 2 anonymous_enable=YES 3 anon_umask=022 4 anon_root=/var/ftp 5 anon_upload_enable=YES 6 anon_mkdir_write_enable=YES 7 anon_other_write_enable=YES 8 anon_max_rate=0 9 #本地使用者 10 local_enable=NO 11 #全域性配置 12 listen=YES 13 listen_address=192.168.100.4 14 listen_port=21 15 write_enable=YES 16 download_enable=YES 17 dirmessage_enable=YES 18 xferlog_enable=YES 19 xferlog_std_format=YES 20 connect_from_port_20=YES 21 pasv_enable=YES 22 pasv_max_port=24600 23 pasv_min_port=24500 24 pam_service_name=vsftpd 25 userlist_enable=YES 26 userlist_deny=YES 27 max_clients=0 28 max_per_ip=0 29 tcp_wrappers=YES
———————————————————-
4.啟動vsftpd服務
[root@localhost ~]#/etc/rc.d/init.d/vsftpd start 為vsftpd 啟動vsftpd: [確定]
———————————————————-
5.測試匿名訪問
[root@localhost ~]# ftp 192.168.100.4 Name (192.168.100.4:root):ftp Password: ftp> cd test1 ftp> mkdir 11 ftp> dir drwxr-xr-x 2 14 50 4096 Aug 25 06:51 11 ftp> rename 11 22 ftp> dir drwxr-xr-x 2 14 50 4096 Aug 25 06:51 22 ftp> rmdir 22 ftp> dir ftp> exit
==============================================
本地使用者訪問
1.修改為本地使用者訪問配置檔案
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf 1 #匿名使用者 2 anonymous_enable=NO 3 anon_umask=022 4 anon_root=/var/ftp 5 anon_upload_enable=YES 6 anon_mkdir_write_enable=YES 7 anon_other_write_enable=YES 8 anon_max_rate=0 9 10 #本地使用者 11 local_enable=YES 12 local_umask=077 13 chroot_local_user=YES 14 15 #全域性配置 16listen=YES 17 listen_address=192.168.100.4 18 listen_port=21 19 write_enable=YES 20 download_enable=NO 21 dirmessage_enable=YES 22 xferlog_enable=YES 23 xferlog_std_format=YES 24 connect_from_port_20=YES 25 pasv_enable=YES 26 pasv_max_port=24600 27 pasv_min_port=24500 28 pam_service_name=vsftpd 29 userlist_enable=YES 30 userlist_deny=YES 31 max_clients=0 32 max_per_ip=0 33 tcp_wrappers=YES
———————————————————
2.建立使用者和密碼
[root@localhost ~]# useradd kaixin -s /sbin/nologin [root@localhost ~]# passwd kaixin 更改使用者kaixin 的密碼。 新的密碼: 無效的密碼:WAY 過短 無效的密碼:過於簡單 重新輸入新的密碼: passwd:所有的身份驗證令牌已經成功更新。
———————————————————–
3.重啟vsftpd服務
[root@localhost ~]# service vsftpd restart 關閉vsftpd: [確定] 為vsftpd 啟動vsftpd: [確定]
——————————————————
4.測試
[root@localhost ~]# ftp 192.168.100.4 Name (192.168.100.4:root):kaixin Password: ftp> ls ftp> mkdir 111 ftp> dir drwx------ 2 500 500 4096 Aug 25 09:45 111 ftp> put install.log.syslog ftp> dir drwx------ 2 500 500 4096 Aug 25 09:45 111 -rw------- 1 500 500 10033 Aug 25 09:45install.log.syslog ftp> exit [root@localhost ~]# cd ~kaixin [root@localhost kaixin]# ls 111 install.log.syslog
======================================
虛擬使用者訪問
1.安裝db4-utils
[root@localhost ~]# yum -y install db4-utils
——————————————–
2.建立文字格式的使用者名稱、密碼列表
[root@localhost ~]# vi /etc/vsftpd/vusers.list aaa 123 bbb 123
———————————————-
3.建立Berkeley DB格式的資料庫檔案
[root@localhost ~]# cd /etc/vsftpd/ [root@localhost vsftpd]#db_load -T -t hash -f vusers.list vusers.db [root@localhost vsftpd]# file vusers.db vusers.db: Berkeley DB (Hash,version 9, native byte-order) [root@localhost vsftpd]# cd
(-f:指定資料來源檔案,-T:允許非Berkeley DB的應用程式使用從文字格式轉換的DB資料檔案,-t hash:指定讀取資料檔案的基本方法)
—————————————————-
4.新增虛擬使用者的對映賬號、建立FTP根目錄
[root@localhost ~]# useradd -d /var/ftproot -s /sbin/nologin virtual [root@localhost ~]# chmod 755 /var/ftproot/
—————————————————–
5.為虛擬使用者建立PAM認證檔案
[root@localhost ~]# vi /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
—————————————————–
6.修改vsftpd配置,新增虛擬使用者支援,註釋匿名訪問許可權
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf 1 #匿名使用者 2 anonymous_enable=NO 3 anon_umask=022 4 anon_root=/var/ftp 5 #anon_upload_enable=YES 6 #anon_mkdir_write_enable=YES 7 #anon_other_write_enable=YES 8 #anon_max_rate=0 9 10 #本地使用者 11 local_enable=YES 12 local_umask=077 13 chroot_local_user=YES 14 15 #全域性配置 16 listen=YES 17 listen_address=192.168.100.4 18 listen_port=21 19 write_enable=YES 20 download_enable=YES 21 dirmessage_enable=YES 22 xferlog_enable=YES 23 xferlog_std_format=YES 24 connect_from_port_20=YES 25 pasv_enable=YES 26 pasv_max_port=24600 27 pasv_min_port=24500 28 pam_service_name=vsftpd.vu 29 userlist_enable=YES 30 userlist_deny=YES 31 max_clients=0 32 max_per_ip=0 33 tcp_wrappers=YES 34 35 #虛擬使用者 36 guest_enable=YES 37 guest_username=virtual
——————————————————-
7.為不同的虛擬使用者建立獨立的配置檔案
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf 38 user_config_dir=/etc/vsftpd/vusers_dir //新增本行 [root@localhost ~]# mkdir /etc/vsftpd/vusers_dir [root@localhost ~]# cd /etc/vsftpd/vusers_dir/ [root@localhost vusers_dir]#vi aaa anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES [root@localhost vusers_dir]#touch bbb
———————————————————-
8.過載vsftpd服務
[root@localhost vusers_dir]#service vsftpd reload 關閉vsftpd: [確定] 為vsftpd 啟動vsftpd: [確定]
——————————————————–
9.測試
[root@localhost ~]# ftp 192.168.100.4 Name (192.168.100.4:root):aaa Password: ftp> mkdir 111 ftp> dir drwxr-xr-x 2 501 501 4096 Aug 25 10:26 111 ftp> cd 111 ftp> put install.log.syslog ftp> renameinstall.log.syslog install.log ftp> dir -rw-r--r-- 1 501 501 10033 Aug 25 10:27install.log ftp> get install.log 10033 bytes received in3.2e-05 secs (313531.26 Kbytes/sec) ftp> exit 221 Goodbye. [root@localhost ~]# ftp192.168.100.4 Name (192.168.100.4:root):bbb Password: ftp> dir drwxr-xr-x 2 501 501 4096 Aug 25 10:27 111 ftp> cd 111 ftp> dir -rw-r--r-- 1 501 501 10033 Aug 25 10:27install.log ftp> put install.log 550 Permission denied. ftp> rename install.log 22 550 Permission denied. ftp> get install.log 10033 bytes received in5.2e-05 secs (192942.30 Kbytes/sec) ftp> exit 221 Goodbye. [root@localhost ~]# ftp 192.168.100.4 Name (192.168.100.4:root):kaixin Password: 530 Login incorrect.
測試結果:
aaa:可登陸,能正常瀏覽,可上傳、下載、修改檔案
bbb:可登陸,能正常瀏覽,可下載,不可上傳、修改檔案
系統使用者:不可登陸