FTP模式
ftp主動模式 21驗證握手 20數據傳輸
ftp被動模式 21驗證握手 1024-65535數據傳輸 ---默認FTP模式
1.安裝vsftpd
yum -y install vsftpd
/etc/logrotate.d/vsftpd 日誌滾動
/etc/pam.d/vsftpd 驗證文件
/etc/rc.d/init.d/vsftpd 啓動腳本
/etc/vsftpd/ftpusers 拒絕用戶列表
/etc/vsftpd/user_list 用戶訪問控制文件(拒絕/只允許)
/etc/vsftpd/vsftpd.conf 主配置文件
/var/ftp匿名用戶家目錄
/var/ftp/pub 匿名用戶擴展目錄
主配置文件三種配置: 全局配置,本地用戶配置local,匿名用戶anon 虛擬用戶
實例1:
只啓匿名用戶,匿名用戶可讀可寫(上傳/新建目錄/刪除/下載),禁用本地用戶:
1.vim /etc/vsftpd/vsftpd.conf
anonymous_enable=yes
local_enable=NO
write_enable=yes
local_umask=022
anon_upload_enable=YES --匿名用戶可上傳文件
anon_mkdir_write_enable=YES --可新建文件夾
anon_other_write_enable=YES --可改名/刪除
anon_umask=022 --匿名用戶上傳文件,可下載
dirmessage_enable=YES 開啓目錄消息功能
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES
給本地目錄授權:
# chown ftp /var/ftp/pub/ 或chmod 777 /var/ftp/pub/ 更改目錄本身權限
# service vsftpd restart
# netstat -tnlp |grep :21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 26761/vsftpd
# chkconfig vsftpd on
警告:不要把/var/ftp目錄權限改成777,否則開啓selinux
chmod 777 /var/ftp/pub 更改目錄本身權限
實例一:匿名用戶只能上傳不能下載:
anonymous_enable=YES 開啓匿名用戶
download_enable=NO 不能下載
anon_upload_enable=YES 匿名能上傳
(anon_mkdir_write_enable=YES 匿名能新建目錄)
實例二匿名用戶下載 被上傳的文件
在第23行增加 anon_umask=022 匿名文件上傳後權限爲755
實例三 匿名用戶上傳後自動更改屬主:指定上傳文件擁有人
46 chown_uploads=YES
47 chown_username=root
實例四 anon_world_readable_only=YES --只讀,只能下載
實例五 將本地用戶登錄鎖定在自己的家目錄
96 chroot_list_enable=YES --禁錮家目錄
#(default follows)
chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list
student --將student禁錮在家目錄中
+++++++++++
如果chroot_local_user=YES 則/etc/vsftpd/chroot_list中不受限
++++++++++
實例六 FTP自身的訪問控制
vim /etc/vsftpd/ftpusers 拒絕用戶列表
vim /etc/vsftpd/user_list
當 userlist_enable=YES 啓用/etc/vsftpd/user_list
userlist_deny=YES 拒絕的作用(默認)
userlist_deny=NO 只允許的作用
user_list中的用戶可登錄,ftpusers中的用戶不能登錄
二者有衝突,拒絕優先
user01-->/etc/vsftpd/user_list-->/etc/vsftpd/ftpusers
實例七 匿名用戶和認證用戶上傳文件夾到不同的目錄
anon_root=/var/ftp/temp --指定家目錄
local_root=/var/ftp/data
FTP虛擬主機
基於不同IP相同端口
ifconfig eth0 192.168.0.158
ifconfig eth0:0 192.168.0.159
# cd /etc/vsftpd/
# cp vsftpd.conf vsftpd2.conf
# vim /etc/vsftpd/vsftpd.conf
listen_address=192.168.0.158
listen_port=21
# vim /etc/vsftpd/vsftpd2.conf
listen_address=192.168.0.159
listen_port=21
+++++++++++++++++++++
anon_root=/var/ftp/none 基於不同IP相同端口 ftp不同家目錄
++++++++++++++++++++
# service vsftpd restart
基於相同IP的不同端口
# cd /etc/vsftpd/
# cp vsftpd.conf vsftpd2.conf
# vim vsftpd2.conf
listen_port=2121
anon_root=/var/ftp/none
local_root=/var/ftp/local
-----------------
ftp連接控制:
max_clients=100 --全局的最大連接數
max_login_fails=3 --最大的登錄失敗
max_per_ip=2 --每IP的最大連接數2個
local_max_rate=100000 --本地用戶的最大傳輸速率,單位是字節
anon_max_rate=50000
官方示例:
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS
----------------------
虛擬用戶:
Step 1) 創建虛擬用戶的數據庫:
# vim /root/logins.txt
a
123
b
456
c
789
# yum -y install db4-utils
# db_load -T -t hash -f /root/logins.txt /etc/vsftpd/login.db
--轉換格式
# chmod 600 /etc/vsftpd/login.db
Step 2) 創建PAM的配置文件,指向你新建用戶數據庫( /etc/vsftpd/login.db)
# vim /etc/pam.d/ftp
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login
[root@r1 ~]# find / -name pam_userdb.so
Step 3) 新建一個本地用戶(a b c-->virtual-->/etc/vsftpd/login.db)
# useradd -d /home/ftpsite virtual -s /sbin/nologin
# ls -ld /home/ftpsite
(which should give):
drwx------ 3 virtual virtual 4096 Jul 30 00:39 /home/ftpsite
# cp /etc/hosts /home/ftpsite
# chown virtual.virtual /home/ftpsite/hosts
Step 4)更改主配置文件,包括以下的選項:
# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
anon_world_readable_only=NO
chroot_local_user=YES
connect_from_port_20=YES
guest_enable=YES --啓用虛擬用戶
guest_username=virtual --被映射本地用戶的身份
listen=YES
pam_service_name=/etc/pam.d/ftp
pasv_min_port=30000
pasv_max_port=30999
Step 5) Start up vsftpd.
# service vsftpd start
Step 6) 測試
使用a b c三個用戶測試。。。
a
b--- 【虛擬用戶】-->21(vsftpd)-->virtual(系統用戶)-->user_list-->/etc/pam.d/ftp-->login.db-->a/123--> cd $HOME
c
擴展FTP的功能
a: mkdir /home/ftpsite/a
b: mkdir /home/ftpsite/b
c: /home/ftpsite/
# chown -R virtual.virtual /home/ftpsite/
++++++++++++++++++++++++
a 上傳 50k
b 下載 200k vip
c 什麼都可以 超級vip不限速
+++++++++++++++++++++++++
# vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/ew/
# mkdir /etc/vsftpd/ew/
# vim /etc/vsftpd/ew/a
local_root=/home/ftpsite/a
anon_world_readable_only=YES ---下載
write_enable=YES
anon_upload_enable=YES
anon_max_rate=50000
# vim /etc/vsftpd/ew/b
local_root=/home/ftpsite/b
anon_world_readable_only=NO
anon_max_rate=200000
# vim /etc/vsftpd/ew/c
local_root=/home/ftpsite
anon_world_readable_only=NO
anon_max_rate=0
anon_upload_enable=YES
write_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
定義全侷限制:
# vim /etc/vsftpd/vsftpd.conf
max_clients=100
max_per_ip=2
在服務上創建下載測試文件
# dd if=/dev/zero of=/home/ftpsite/down.iso count=10 bs=10M
vsftp服務器配置
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
在客戶機自動掛載家目錄
1.mkdir /share/home/test1 mkdir /share/home/test2 2. cp /etc/skel/.ba
feilong0663
2020-07-02 11:57:06
samba文件服務器跨windwos 局域網
文件服務器 1.局域網文件服務器;samba nfs 2. 互聯網的文件服務器 vsftpd 局域網文件服務器:samba 統一協議:sm
feilong0663
2020-07-02 11:56:55
ubuntu 18.04 安裝與卸載desk桌面,wmware克隆,設置靜態ip
fenglllle
2020-06-30 03:43:30
xshell 與 putty
efine_dxq
2020-06-22 01:11:46
Ubuntu 下安裝配置 Tomcat 7
efine_dxq
2020-02-23 22:51:52
ubuntu安裝java jdk及配置
efine_dxq
2020-02-23 22:51:52
Linux 環境下/etc/profile和/etc/profile.d 的區別和用法
efine_dxq
2020-02-23 22:51:52
Linux從一般用戶切換到root用戶
efine_dxq
2020-02-23 22:51:52
postfix服務 配置
feilong0663
2020-02-21 10:27:17
ssh 配置
feilong0663
2020-02-21 10:27:17
tcpwrapper防火牆
feilong0663
2020-02-21 10:27:17
dhcp服務器
feilong0663
2020-02-21 10:27:17
mail 配置
feilong0663
2020-02-21 10:27:17