搭建匿名訪問的FTP服務

1,安裝FTP服務軟件

 
  1. [root@localhost ~]# mount /dev/sr0 /media/cdrom/
  2. mount: block device /dev/sr0 is write-protected, mounting read-only
  3. [root@localhost ~]# yum -y install vsftpd //ftp服務軟件包

2,準備匿名FTP訪問目錄 
FTP其實就是在server端創建一個共享目錄,client端連過來就可以從這個目錄下載或上傳數據

 
  1. [root@localhost ~]# cd /var/ftp/ //yum安裝的FTP默認就有ftp目錄,沒有的話需要創建
  2. [root@localhost ftp]# ls
  3. pub //FTP下的pub目錄就是共享目錄
  4. [root@localhost ftp]# ll
  5. total 4
  6. drwxr-xr-x. 2 root root 4096 Mar 1 2013 pub //因為需要程序用戶往里寫數據,所以必須把屬主改成ftp這個程序用戶
  7. [root@localhost ftp]# id ftp
  8. uid=14(ftp) gid=50(ftp) groups=50(ftp) //ftp這個程序用戶默認有
  9. [root@localhost ftp]# chown ftp pub/ // 改目錄的屬主

3,開放匿名用戶配置并啟動vsftpd服務 
image_1crce9vm926r1ro1gab1kfq1ref9.png-27.6kB
打開配置文件 
image_1crceufnq18lu1h81gfl17b5t6213.png-37.4kB

image_1crcfdb2i15qp1idu4tlba61ovd2g.png-32.2kB 
匿名配置文件就好了,開啟服務

 
  1. [root@localhost vsftpd]# /etc/init.d/vsftpd start
  2. Starting vsftpd for vsftpd: [ OK ]
  3. [root@localhost vsftpd]# ss -antup | grep vsftpd //開啟服務需要過濾一下端口,有的時候顯示開了,其實沒開
  4. tcp LISTEN 0 32 *:21 *:* users:(("vsftpd",1081,3))

image_1crcfoqln198f12vq1ta21mqbhh03t.png-21kB

image_1crcfrvuopfq121q107q1r751kie4a.png-7.2kB

image_1crcg3vabcb41auh1r41d1t8ht4n.png-52.6kB

image_1crcg8vruqpe5h0npt182c1gmq5k.png-21.9kB

image_1crcg9pcp17q21lhv1eqg15qgnil61.png-6.3kB

ftp的命令和Linux里的命令不一樣需要自己看用help命令看

 

搭建本地用戶驗證的 FTP 服務

image_1crcgmpo0162ft5s1elecaf1vad6u.png-18.6kB

image_1crcgqls711f2ppr1q4s1verv467b.png-10.3kB

image_1crch1f4b88p50ua3dciv1afg7o.png-23.9kB

image_1crch3kdp1q0o1bhl1nod1mvg197a8l.png-10.9kB

image_1crch6mr2gdfh46rgj1lrh1na49i.png-23.8kB

image_1cre5hhlc5n7a6u140vskf1gc59.png-10.4kB

image_1cre5ktprlsl148q1kth1ij6n3vm.png-35.4kB 
服務器端關閉Linux的selinux防火墻配 
setenforce 0 表示關閉selinux防火墻

 

匿名用戶的FTP

image_1cre632fk1ieu1mld1gid1hpv34613.png-18.2kB
1,建立虛擬用戶賬號數據庫 
vsftpd 服務使用 Berkeley DB 格式的數據庫文件來存放虛擬用戶賬號,使用 db_load 工具生成數據庫文件。(若未安裝,安裝包在安裝光盤 1 中,軟件名為 db4-utils) 
image_1cre681sv7c41p5the2h2919ns1g.png-6kB

image_1cre6hmbteaqhfa5iin751l7n2a.png-17.1kB

image_1cre6k6r81in5jonvdjk8p5u137.png-8.2kB

image_1cre99olcfe7d771ti0193q14ko3k.png-17.3kB

注:db_load 命令 
-T:允許非 Berkeley 的程序使用該數據庫 
-t:指定算法 (hash:哈希,散列) 
-f:指定源文件 
注意:生成的數據庫文件必須為“.db”格式 
image_1cre9hpc4hfr1p3srnmc4fn3741.png-18.3kB

2,添加虛擬映射賬號,為FTP根目錄修改權限

 
  1. [root@localhost vsftpd]# useradd -d /var/ftproot/ -s /sbin/nologin virtual //這是映射賬號,所有虛擬賬號鏈接過來都會成為這個賬號,指定家目錄
  2. [root@localhost vsftpd]# ll -d /var/ftproot/
  3. drwx------. 2 virtual virtual 4096 Nov 4 18:47 /var/ftproot/
  4. [root@localhost vsftpd]# chmod 755 /var/ftproot/ // 把家目錄的權限修改了
  5. [root@localhost vsftpd]# ll -d /var/ftproot/
  6. drwxr-xr-x. 2 virtual virtual 4096 Nov 4 18:47 /var/ftproot/
  7. [root@localhost vsftpd]#

3,添加PAM認證 
image_1creaeoic3po6f11a6uik11fig4r.png-8kB

image_1creadejn1dmg1itatu4135d9tn4e.png-6.8kB

4,修改vsftp.conf配置文件,重啟服務

image_1creaiebndof1i89bbh18ut1orl58.png-13.2kB

image_1creau7r3edd13r5iq45lb151f95.png-17.4kB

image_1creavojue4u1kub1m9q1csu17d7a2.png-10.9kB

image_1creb1qo1viq1tohe3u1vgsbg0af.png-12.2kB

image_1creb6gic1au11opm1mn25su15gsas.png-31.7kB 
5,實現每個虛擬用戶不同根目錄、不同權限的管控 
(1)創建用戶控制目錄,并創建虛擬所對應的同名配置文件 
image_1crebf9u71qrcf8lfeb80813gbp.png-22.6kB 
修改 zhangsan 的配置文件,使其可以上傳、建立目錄、刪除文件、重命名文件、最大傳輸速率 1 字節/秒、根目錄為/var/zhangsan 

image_1crebtfhf16rb9bsbga13kr1uthd3.png-6.5kB

image_1crebvl13lti1geb1nqp1ifr1rtpdg.png-11.2kB

image_1crebp93or6f167n1a3vil71r0scm.png-8.3kB

image_1crec5ka11uvb1longct188g1raqdt.png-10.3kB 
修改 lisi 的配置文件,使其僅可以下載上傳,不開放其他權限,不限制傳輸速率,根目錄為/var/lisi 
image_1crecgiodl1r12ucdq21s6h1tbeea.png-9.3kB

image_1creckhra1kq2ahl8aj3q6tden.png-9.3kB 
image_1crecn8pd1ekg1ki7fi2j541lspf4.png-10.5kB 

wangwu 的配置文件不做修改,其權限為配置文件中的默認權限,根目錄為/var/ftproot,僅可以下載,無法上傳。

(2)修改 vsftpd.conf 主配置文件,重啟服務 
image_1crecs2od1cvvn8j1a0th0h4sefh.png-7.9kB 
image_1crecvffarkgcds1p9iuso1qitfu.png-12.7kB

image_1cred0icl66o1gmf171k1kitgqsgb.png-11.2kB 
(3)客戶端測試 
image_1cred32ng1al0guu32l179iemvgo.png-20.5kB

image_1cred4g11ql61b5eak91r2v1n7ih5.png-32kB


image_1cred6ger1hjh14t3vof8bu1uooii.png-33kB