Linux系統下FTP搭建教程,linuxftp搭建教程
一:安裝ftp服務
設定ip地址
掛載光碟片
關掉iptables防火牆
關掉selinux/[root@localhost~]# setenforce 0
[root@localhost ~]# cd /media/cdrom/Packages/
[root@localhost Packages]# rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
二:基於系統使用者的ftp服務
1:匿名訪問的ftp服務
1):建立測試檔案,供ftp下載用
[root@localhost ~]# tar zcf /var/ftp/vsftpdconf.tar.gz /etc/vsftpd/
[root@localhost ~]# chown ftp /var/ftp/pub/ \\pub歸屬為匿名使用者ftp
2):開放匿名使用者配置並啟動vsftpd服務
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
12 anonymous_enable=YES \\允許匿名使用者
15 local_enable=NO \\不啟用本機使用者
18 write_enable=YES \\允許寫
23 anon_umask=022 \\添加,上傳資料的許可權掩碼
27 anon_upload_enable=YES \\允許匿名上傳檔案
31anon_mkdir_write_enable=YES \\允許匿名使用者建立目錄
[root@localhost ~]# service vsftpd start
[root@localhost ~]# netstat -anpt | grep "vsftpd"
3):linux用戶端測試
[root@localhost ~]# cd /media/cdrom/Packages/
[root@localhost Packages]# rpm -ivh ftp-0.17-54.el6.x86_64.rpm \\安裝用戶端工具
[root@localhost Packages]# ftp 192.168.10.10 \\name用ftp,Password隨意
ftp> ls
ftp> lcd /opt \\將本地目錄切換到/opt下,從ftp下載的資料就會放在本地的/opt下
ftp> get vsftpdconf.tar.gz
ftp> lcd /root
ftp> cd pub
ftp> put install.log
[root@localhost ~]# wget ftp://192.168.10.10/vsftpdconf.tar.gz
2:使用者驗證的ftp服務
1):配置本機使用者驗證
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
15 local_enable=yes
18 write_enable=YES
22 local_umask=077
96 chroot_local_user=YES
[root@localhost ~]# service vsftpd start
[root@localhost ~]# useradd zhangsan
[root@localhost ~]# passwd zhangsan
[root@localhost ~]# useradd lisi
[root@localhost ~]# passwd lisi
2):用戶端驗證
[root@localhost ~]# ls > uptest.txt
[root@localhost ~]# ftp 192.168.10.10
用zhangsan和lisi的帳號密碼登入
ftp> put uptest.txt\\傳到了張三的宿主目錄裡/home/zhangsan
ftp> quit
3):使用user_list使用者列表檔案
[root@localhost ~]# vi /etc/vsftpd/user_list
只添加zhangsan,其餘的都刪掉
zhangsan
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
118 userlist_enable=YES
119 userlist_deny=no \\添加
[root@localhost ~]# service vsftpd restart
分別用zhangsan和lisi登陸驗證
3:其他配置
1):修改監聽地址與連接埠
[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
110 listen=YES
111listen_address=192.168.10.10 \\添加監聽地址
112 listen_port=2121 \\添加監聽連接埠
[root@localhost ~]# service vsftpd restart
2):用戶端測試
[root@localhost ~]# ftp 192.168.10.10 2121
3):使用ftp的被動模式
123 pasv_enable=yes
124 pasv_min_port=24500
125 pasv_max_port=24600
[root@localhost ~]# service vsftpd restart
三:基於虛擬使用者的ftp服務
1:建立虛擬使用者的帳號資料庫
1):建立文字格式設定的使用者名稱、密碼列表
[root@localhost ~]# vi /etc/vsftpd/vusers.list
添加
mike
aptech
wjq
aptech
2):建立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]# chmod 600 /etc/vsftpd/vusers.*
[root@localhost vsftpd]# ls -lh /etc/vsftpd/vusers.*
3):添加虛擬使用者的映射帳號、常見ftp根目錄
[root@localhost vsftpd]# useradd -d /var/ftproot -s /sbin/nologinvirtual
[root@localhost vsftpd]# chmod 755 /var/ftproot/
[root@localhost vsftpd]#
2:為vsftpd服務添加虛擬使用者支援
1):為虛擬使用者建立PAM認證檔案
[root@localhost vsftpd]# vi /etc/pam.d/vsftpd.vu
auth required pam_userdb.sodb=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
2):修改vsftpd,添加虛擬使用者支援
[root@localhost vsftpd]# vi /etc/vsftpd/vsftpd.conf
刪除
112 listen_port=2121
118 userlist_enable=YES
119 userlist_deny=no
添加
15 local_enable=yes
18 write_enable=YES
23anon_umask=022
118pam_service_name=vsftpd.vu \\添加
120 guest_enable=yes \\添加
121 guest_username=virtual \\添加
3):為不同的虛擬使用者建立獨立的設定檔
[root@localhost vsftpd]# vi /etc/vsftpd/vsftpd.conf
122user_config_dir=/etc/vsftpd/vusers_dir\\添加
[root@localhost vsftpd]# mkdir /etc/vsftpd/vusers_dir/
[root@localhost vsftpd]# cd /etc/vsftpd/vusers_dir/
[root@localhost vusers_dir]# vi mike
添加
anon_upload_enable=yes
anon_mkdir_write_enable=yes
[root@localhost vusers_dir]# touch wjq
[root@localhost vusers_dir]# service vsftpd restart
4):分別用mike和wjq兩個使用者登入驗證