yum -y install vsftpd
touch /etc/vsftpd/chroot_list
chkconfig vsftpd on
(這個在 centos 7 不一樣,建議systemctl enable vsftpd 或用webmin設定)
2. 打開防火牆
firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload
如果有啟用被動模式的話,再加上指派給它的通訊埠範圍。
firewall-cmd --zone=public --add-port=60101-61200/tcp
firewall-cmd --reload
3. 啟動
systemctl restart vsftpd
4.設定
vi /etc/vsftpd/vsftpd.conf
connect_from_port_20 = NO
ftp_data_port = 2020
pasv_min_port = 60101
pasv_max_port = 60200
# 指定主日誌檔的位置
vsftpd_log_file = /var/log/vsftpd.log
# 記錄所有上傳下載的行為,並指定傳輸記錄日誌檔的位置
xferlog_enable = YES
xferlog_file = /var/log/xferlog
# 傳輸記錄日誌檔採用詳細記錄模式,並且不使用相容於 wu-ftp 的格式
xferlog_std_format = NO
log_ftp_protocol=YES
# 主動式傳輸在 60 秒後未連線成功就斷線
connect_timeout = 60
# 被動式傳輸在 60 秒後未連線成功就斷線
accept_timeout = 60
# 在傳輸資料時,連續 120 秒 未傳輸任何資料就斷線
data_connection_timeout = 120
# 登入後,連續 600 秒未執行任何命令操作就斷線
idle_session_timeout = 600
# 允許同時 10 個用戶端連進行連線
max_clients = 10
# 同一個 IP 允許建立 2 個連線
max_per_ip = 2
# 允許登入失敗 3 次
max_login_fails = 3
# 啟用上傳功能
write_enable = YES
# 啟用下載功能
download_enable = YES
# 登入成功後的歡迎訊息,顯示一小段文字或是從純文字檔讀取,同時只能使用一種
ftpd_banner = Welcome to my FTP site.
banner_file = /etc/vsftpd/banner
use_localtime = YES
# 支援 TCP Wrappers (/etc/hosts.allow 與 /etc/hosts.deny)
tcp_wrappers = YES
# 指定 PAM 服務對應的模組名稱為 vsftpd (在 /etc/pam.d/ 裡)
pam_service_name = vsftpd
本機使用者
# 允許本機使用者登入
local_enable = YES
# 限制本機使用者的最大傳輸速度為 10Mbps (0 代表不限制)
local_max_rate = 10000000
# 禁止離開家目錄,並指定不受限制的使用者清單
chroot_local_user = YES
chroot_list_enable = YES
chroot_list_file = /etc/vsftpd/chroot_list
# 變更根目錄之後,開放根目錄的寫入權限
allow_writeable_chroot = YES
# 限制可登入的本機使用者,選擇以白名單來管理,並指定允許登入的使用者清單
userlist_enable = YES
userlist_deny = NO
userlist_file - /etc/vsftpd/user_list
# 新建目錄的預設權限 = 755 (full 777 - umask 022),新增檔案的預設權限為 644 (full 666 - umask 022)
local_umask = 022
# 變更本機使用者登入後的預設根目錄
local_root = /var/ftp
如果要讓root可以登入
/etc/vsftpd/ftpuser 刪除 root
/etc/vsftpd/user_list 刪除 root
/etc/vsftpd/chroot_list 加上 root
5. 解除selinux的限制
setsebool -P allow_ftpd_full_access 1
setsebool -P ftpd_full_access =1 (centos7 測試OK)
虛擬帳號的設定:
1.帳密的處理
1-1建立虛擬帳號名單
[root@localhost ~]# vi /etc/vsftpd/myuserlist
一列帳號一列密碼
alan
123456
andy
123456
1-2 產生虛擬帳號的資料庫
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/myuserlist /etc/vsftpd/myuserlist.db
1-3 修改vsftpd的PAM驗證
[root@localhost ~]# vi /etc/pam.d/vsftpd
註解原來的項目,增加
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/myuserlist
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/myuserlist
2.設定檔的處理
3.個別的目錄
沒有留言:
張貼留言