FTP
1.禁止/etc/vsftpd/user_list中的列出的用戶登入ftp
(1)在配置文件中添加
userlist_enable=YES
userlist_deny=YES
(2)如果把配置改成
userlist_enable=YES
userlist_deny=NO
這時候,只有把用戶添加到/etc/vsftpd/user_list中纔可以登入!
2.不允許所有的用戶切換到根目錄以外的目錄
(1)在配置文件中修改
userlist_enable=NO
3.僅對部分目錄添加限制,不允許其切換目錄。
(1)chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
(2)vim /etc/vsftpd/vsftpd.chroot_list
abc
只是abc用戶就不能切換目錄了!
3-1
(1)將配置改成
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
(2)vim /etc/vsftpd/vsftpd.chroot_list
abc
這時候,只有abc用戶纔可以切換目錄!
4.匿名用戶的登入
讓匿名用戶可以上傳文件到------》upload文件裏面。
(1)修改主配置文件
write_enable=YES
anon_upload_enable=YES
(2)cd /var/ftp
mkdir upload
chown ftp.ftp upload/
(3)此時用戶可以上傳文件,但不能刪除文件
如果想要
anon_other_write_enable=YES
(4)但是不能創建子目錄
如果想要
添加:
anon_mkdir_wirte_enable=YES
5.虛擬用戶登入!
(1)rpm -ivh vsftpd--------
(2)cd
vim vu_list.txt
haha
123
lala
123
(3)db_load -T -t hash -f vu_list.txt /etc/vsftpd/vu_list.db
(4)chmod 600 /etc/vsftpd/vu_list.db
(5)vim /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vu_list
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vu_list
(6)useradd -d /home/ftpsite ftpuser
(7)修改主配置文件
pam_service_name=vsftpd.vu
guest_enable=YES
guest_username=ftpuser
(8)重啓ftp
發現本地用戶不可以登入,但是虛擬用戶可以登入!
5-2
對虛擬用戶設置不同的權限
(1)修改主配置文件
在原有的基礎上添加
user_config_dir=/etc/vsftpd_vu
(2)mkdir /etc/vsftpd_vu
cd /etc/vsftpd_vu
vim haha
anon_world_readable_only=NO(表示可以瀏覽和下載ftp目錄中的文件)
anon_upload_enable=YES (表示用戶可以上傳文件)
anon_mkdir_write_enable=YES(表示用戶具有建立和刪除目錄的權力)
anon_other_write_enable=YES(表示用戶具有文件改名和刪除文件的權限)
vim lala
anon_world_readable_only=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
這個時候haha可以創建、刪除文件
lala不可以!
(3)服務 restart
6 虛擬ftp服務器
(1)ifconfig eth0:0 192.168.1.11
(2)service network restart
(3)useradd -d /var/ftp2 ftp2
(4)修改配置文件
添加:
listen_address=192.168.1.10
(5)cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
vim vsftpd2.conf
pam_service_name=vsftpd
listen_address=192.168.1.11
ftp_username=ftp2
(6)/etc/init.d/vsftpd restart
1.>在vsftpd.conf文件最後一行有一條指令:
TCP_wrappers=YES,表示vsftpd服務器與TCP wrappers相結合,進行主機的訪問控制。
這樣客戶機在訪問vsftpd服務器時,
服務器會檢查/etc/hosts.allow和/etc/hosts.deny中的設置以決定請求連接的主機是否允許連接到服務器。
具體設置如下:
想要拒絕某個IP訪問此服務器,可以在/etc/hosts.deny文件中加入
vsftpd:192.168.0.18:deny
all:all:allow
想要允許某個IP段訪問此服務器,可以在/etc/hosts.allow文件中加入
vsftpd:192.168.0:allow
all:all:deny
2.>訪問速度的限制
在vsftpd.conf文件最後一行加入anon_max_rate= (單位B),這樣匿名用戶在下載或上傳文件是最大速度爲設置的值。同理想要對本地用戶進行設置,只要加入local_max_rate= (單位B)即可完成對本地用戶的速度限制。
3.>線程數的限制
在vsftpd.conf文件中加入max_per_ip= (0表示不限制),可以防止一些人使用多線程下載資源,佔用服務器的帶寬、資源。
4.>最大客戶連接限制
在vsftpd.conf文件中加入max_clients= (0表示不限制),可以防止因客戶連接數過多而導致服務器內存佔滿,死機。當客戶機數超過服務器所設置的最大值時.
5.>設置用戶登陸的主目錄
默認情況下用匿名用戶登陸ftp服務器後會進入/var/ftp目錄,而本地用戶登陸服務器後進入/home下的用戶主目錄中。
我們可以vsftpd.conf文件中加入local_root=/web,這樣在使用本地用戶登陸ftp服務器後自動進入/web目錄中
no_anon_password=YES|NO
爲NO登錄時詢問密碼,默認NO
xferlog_enable=YES|NO
是否開啓日誌
xferlog_file=[path]
後接日誌路徑
xferlog_sth_format=YES|NO
日誌是否是使用標準模式
listen=YES|NO
服務是否爲單獨模式
guest_enable=YES|NO
是否guest用戶登錄
guest_username=[name]
後接guest需要映射到的用戶名
listen_port=21
配置服務監聽的端口(單獨模式下的配置方法),默認21
listen_address=192.168.0.1
配置服務監聽的IP(單獨模式下的配置方法),如果機器只有一張網卡的話可以不用配置
chroot_list_enable=YES|NO
若開啓此選項則需要一個文件來列出需要受限制的本地用戶
chroot_local_user=YES|NO
當chroot_list_enable開啓時才生效,當爲YES的時候文件中是不受限制的用戶
chroot_list_file=[path]
用來設置剛剛所說的文件路徑
userlist_enable=YES|NO
如果本服務打開,則userlist_file指向的文件中的用戶將不可登陸,並檢查userlist_deny如果爲YES不接受文件中用戶的登錄請求,如何爲NO那麼就只有文件中用戶可以登錄
user_config_dir=[path]
配置虛擬用戶時有用,用於指定用戶配置的文件夾
virtual_use_local_privs=YES|NO
如果開啓那麼虛擬用戶將用戶本地用戶的權限,默認NO
pam_service_name=vsftpd
pam服務的名字
(3):用戶限制類
anon_max_rate=[num]
匿名用戶的最大數據傳輸速率單位B/s,默認0無限制
data_connection_timeout=[num]
空閒的連接的允許時長,單位秒,如果超過則斷開,默認300
local_max_rate=[num] ``
本地用戶的最大數據傳輸速率單位B/s,默認0無限制
max_clients=[num]
最大客戶連接數,默認0無限制
max_per_ip=[num]
同一網絡地址的最大連接數,默認0無限制
local_root=[path]
後接本地用戶登錄時的目錄,如不設定則是在用戶的家目錄
anon_root=[path]
後接匿名用戶登錄的目錄,默認在/var/ftp
五:vsftpd的高級配置
(1):修改默認監聽端口
我們在這裏只研究在Standalone模式下
編輯/etc/vsftpd/vsftpd.conf,添加修改如下類容:
Listen_port=2121
Listen_address=192.168.100.23
對於這兩條選項我們已經解釋過了,此時服務已經該去監聽這個IP和端口了,用以前的方法已經不可以訪問了。