安裝
yum install vsftpd
設定
vi /etc/vsftpd/vsftpd.conf
local_enable=YES
write_enable=YES
userlist_enable=YES
userlist_deny=YES
use_localtime=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
tcp_wrappers=YES
# 關閉匿名登入
anonymous_enable=NO
# 改變 umask 讓新增的檔案屬性為 750 (umask 計算方式為:777 - 027 = 750)
local_umask=027
# 設定 idle 斷線時間(秒)
idle_session_timeout=600
# 設定 timeout 時間(秒)
data_connection_timeout=120
# 設定 chroot 避免使用者亂跑
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
# 限制最高幾個 client 連線
max_clients=20
# 限制同一個 ip 可以建立多少連線
max_per_ip=5
新增使用者及使用者可存取的資料夾位址
useradd -d [資料夾位址] -s /sbin/nologin [帳號]
passwd [帳號]
使用者權限設定
在vi /etc/vsftpd/vsftpd.conf裡新增一條
#設定特定使用者權限
userlist_file=/etc/vsftpd/user_list
--
並在/etc/vsftpd/中加入要控制的使用者名稱的文件;例如帳號:abc
vi /etc/vsftpd/user_list/abc
文件中打入
cmds_allowed=ABOR,APPE,CWD,CDUP,FEAT,LIST,MKD,MDTM,PASS,PASV,PWD,QUIT,RETR,REST,STOR,STRU,TYPE,USER
以上意思為 abc 該帳號沒有刪除文件的權限。
---
FTP 主動與被動模式連線
有些人會常會遇到連線21 跟20 port都開起來了,但是就是看不到文件或資料夾,
只要在Linux下把module掛上去就正常了
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
開機自動載入
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
及在vsftpd.conf加入設定啟動 被動模式
pasv_enable=Yes
pasv_max_port=60000
pasv_min_port=50000
---
[IPTABLES]
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
#被動模式的RANGE
iptables -I INPUT -p tcp --destination-port 50000:60000 -j ACCEPT
沒有留言:
張貼留言