Centos安裝ftp

需求:搭建一個ftp,給予一個賬號,僅對一個backup目錄存在權限

注意配置文件裏   #註釋必須頂頭寫,下面這種寫法有問題

local_root=/home/www/backup  #虛擬用戶主目錄,用戶和組必須指定爲宿主用戶

 

1.安裝vstpd

yum install vsftpd -y

2.安裝libdb-utils

安裝Berkeley DB工具,用於生成虛擬用戶認證文件

yum install libdb-utils   #Centos7
 
yum install db4 db4-utils   #Centos6

3.創建屬主用戶

所有虛擬用戶都是映射屬主用戶的目錄權限,由於虛擬用戶家目錄需求爲backup,該目錄權限爲www,因此使用www用戶。

4.修改主配置文件(vim /etc/vsftpd/vsftpd.conf)

listen=YES   #使用ipv4進行監聽
anonymous_enable=NO    #關閉匿名訪問
dirmessage_enable=YES
xferlog_enable=YES   #啓動日誌
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_list_enable=YES    #限制用戶不能離開特定目錄
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES
guest_enable=YES      #啓動後,所有非匿名用戶將映射到guest_username進行訪問,並且轉換成一個虛擬用戶
guest_username=www
user_config_dir=/etc/vsftpd/vuser_conf   #虛擬用戶配置文件目錄
pam_service_name=vsftpd    #pam認證文件名稱
local_enable=YES    #啓用本地系統用戶,包括虛擬用戶
connect_from_port_20=NO  #關閉ftp-data端口,相當於不使用主動模式
pasv_enable=YES
pasv_min_port=33000
pasv_max_port=34000

直接替換配置文件內容

listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES
guest_enable=YES
guest_username=www
user_config_dir=/etc/vsftpd/vuser_conf
pam_service_name=vsftpd
local_enable=YES

 

5.創建chroot文件

touch /etc/vsftpd/chroot_list

6.創建虛擬用戶列表

echo -e "ftpuser\n123456" > /etc/vsftpd/vuser

7.生成虛擬用戶認證文件

db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db
chmod 600 /etc/vsftpd/vuser.db

8.配置虛擬用戶認證

cp /etc/pam.d/vsftpd{,.bak}

echo -e \
"auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser\n\
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser" > /etc/pam.d/vsftpd

9.配置虛擬用戶配置文件

mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/ftpuser  #文件名與對應FTP虛擬用戶一致

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/www/backup  #虛擬用戶主目錄,用戶和組必須指定爲宿主用戶
anon_umask=020

10.配置防火牆和selinux

setsebool -P ftpd_full_access on

iptables -I INPUT -p tcp --dport 21 -j ACCEPT  #FTP連接端口
iptables -I INPUT -p tcp --dport 33000:34000 -j ACCEPT  #pasv模式下的隨機端口
iptables-save >/etc/sysconfig/iptables  #保存防火牆配置

11.重啓vsftpd

service vsftpd restart

12.開機啓動vsftpd

chkconfig vsftpd on

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章