配置vsftpd服務
FTP服務器默認匿名能夠訪問。
1.搭建yum倉庫
[root@accp~]# vim /etc/yum.repos.d/dvd.repo
[server]
name=redhat6
baseurl=file:///mnt/rheldvd 爲本地光盤路徑
enabled=1
gpgcheck=0html
[root@accp~]# yum install -y vsftpd* yum安裝vsftpd服務
[root@accp~]# service vsftpd restart 重啓完服務後,默承認以匿名用戶訪問shell
[root@accp~]# vim /etc/vsftpd/vsftpd.conf
chown_uploads=YES 設置匿名上傳內容的屬主爲"tom"
chown_username=tom
********************************************************
2.創建用戶驗證訪問
創建一個用戶並設置密碼
[root@accp~]# useradd harry
[root@accp~]# passwd harry
[root@accp~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enabl=NO/YES 控制匿名用戶訪問 註釋掉匿名訪問不能關閉匿名,註釋匿名是設置爲默認設置,默認設置是能夠匿名訪問
ftp_username=ftp 此參數用來設置匿名用戶的用戶名
anon_root=/var/ftp 設定匿名訪問的根目錄
anon_world_readable_only=NO 控制是否容許用戶下載可閱讀的文件,YES爲能夠下載,NO爲不能夠下載但可瀏覽。
anon_upload_enable=NO 容許匿名ftp用戶訪問並上傳文件
anon_mkdir_write_enable=NO 是否容許匿名用戶有建立目錄的權利
anon_other_write_enable=NO 匿名用戶是有除上傳以外的其它權限
local_enable=YES 本地用戶訪問
write_enable=YES 本地用戶寫入
local_umask=022 寫入的權限爲755
chroot_local_user=YES 全部用戶禁錮在家目錄中,提升安全性,本地用戶在訪問時只能訪問本身家目錄。
chroot_list_enable=YES 指定用戶訪問限止在本身的home目錄下
chroot_list_file=/etc/vsftpd/chroot_list 在/etc/vsftpd/chroot_list文件中列出的是被限制的用戶的列表。
dirmessage_enable=YES 訪問某用戶的FTP時顯示的歡迎信息,在用戶的家目錄中編輯「vim .message」,方可顯示效果
data_connection_timeout=120 數據傳輸時間爲120秒
pam_service_name=vsftpd 可插拔模塊 "vim /etc/pam.d/vsftpd" 控制 "vim /etc/vsftpd/ftpusers"中的用戶denny與allow
默認爲denny
userlist_enable=YES YES與NO 決定"vim /etc/vsftpd/user_list" 中的用戶可否被訪問
tcp_wrappers=YES 是否啓用tcp_wrappers主機訪問控制防護設置,"vim /etc/hosts.deny" "vim /etc/hosts.allow"
ftpd_banner=welcome to ftp service 定製FTP歡迎信息
banner_file=/etc/vsftpd/banner 使用歡迎文件
dirmessage_enable=YES 當用戶切換到一個目錄時,是否顯示目錄切換信息
xferlog_enable=YES 是否記錄ftp傳輸過程
xferlog_file=/var/log/vsftpd.logftp 傳輸日誌的路徑和名字默認是/var/log/vsftpd.log
xferlog_std_format=YES 是否使用標準的ftp xferlog模式
connet_from_port_20=YES 是否確信商品傳輸來自20
chown_uploads=YES 設定是否改變匿名上傳的文件的擁有者
chown_username=username 設定匿名上傳的文件的的擁有者
idle_session_timeout=600 設置默認的斷開不活躍session的時間
data_connection_timeout=120 設置數據傳輸超時時間
ascil_upload_enable=YES
ascil_download_enable=YES 是否使用ascil碼方式上傳和下載文件
userlist_enable=YES 在/etc/vsftpd/user_list 文件中列表出用戶不能訪問FTP服務器
tcp_wrappers=YES 是否支持tcp_wrappers
數據庫
[root@accp~]# service vsftpd restart 每當修改完配置,就重啓一次vim
********************************************************
3.創建虛擬用戶訪問
以上vsftpd 已經安裝完畢,在此不作詳細說明
安裝yum install -y db4-utils-4.7.25-16.el6.x86_64 數據庫文件,須要將虛擬用戶轉換爲數據庫文件,(這裏爲RHEL6.0的db4版本文件)
或 yum install -y db4* 所有安裝
[root@accp~]# yum install -y db4*
創建帳戶文件(vim /etc/vsftpd/virtual.file)
[root@accp~]# vim /etc/vsftpd/virtual.file
tom 奇數爲用戶名,偶數爲密碼
tigerzhang
john
tigerzhang
將virtual.file 文本內容加載到db數據庫
[root@accp~]# cd /etc/vsftpd
[root@accp vsftpd]# db_load -T -t hash -f virtual.file virtual.db
注:在db_load命令中,"-T"選項容許應用程序可以將文本文件轉譯載入進數據庫。因爲咱們以後是將虛擬用戶的信息以文件方式存儲在centos
文件裏的,爲了讓vsftpd這個應用程序可以經過文原本載入用戶數據,必需要使用-T。
"-t " 用來指定轉譯載入的數據庫類型。能夠指定的數據類型有Btree、Hash、Queue、Recon數據庫,這裏選Hash。
"-f"用於指定用戶名/密碼列表文件,如:virtual.file。參考:"/usr/share/doc/db4-utils-4.3.29/utility/db_load.html"
[root@accp~]# chmod 600 /etc/vsftpd/virtual.* 下降文件權限加強安全性安全
採用pam驗證模塊,若是沒有能夠進行"yum install -y pam*"安裝,
[root@accp~]# vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/virtual
account required pam_userdb.so db=/etc/vsftpd/virtual
若是是32位系統則須要把lib64換成lib,不然會報530錯誤沒法登陸,也可加"/lib64/security/pam_userdb.so"。
創建系統賬戶
[root@accp~]# useradd -d /var/ftp -s /sbin/nologin luce
vsftpd虛擬用戶須要有一個對應的系統用戶賬號,該賬號無需登陸shell,該用戶賬號的宿主目錄做爲全部虛擬用戶登陸後共同的FTP棣目錄,即服務器
luce做爲virtual.file文件內的用戶映射。
[root@accp~]# chmod 755 /var/ftp 給虛擬用戶目錄一個權限
修改配置文件
[root@accp~]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES 禁錮在家目錄中,加強安全性
guest_enable=YES 啓用用戶映射功能
virtual_use_local_privs=YES
pam_service_name=vsftpd.vu 修改使用的PAM文件位置(與指定的PAM驗證文件名一致)
user_config_dir=/etc/vsftpd/virt_dir給虛擬用戶我的vsftp的配置文件一個存放路徑,/etc/vsftpd/virt_dir裏面的文件都是虛擬用戶的專用session
配置文件,注意:配置文件名必須和虛擬用戶名相同
[root@accp~]# service vsftpd restart 重啓服務
[root@accp~]# mkdir /etc/vsftpd/virt_dir
[root@accp~]# cd /etc/vsftpd/virt_dir
[root@accp~]# vim luce 此文件裏的配置能夠根據須要配置項目
guest_enable=YES (在centos下yes必須爲小寫字母)
guest_username=luce
local_root=/var/ftp/
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=100000app
1.創建虛擬用戶訪問
以上vsftpd 已經安裝完畢,在此不作詳細說明
安裝yum install -y db4-utils-4.7.25-16.el6.x86_64 數據庫文件,須要將虛擬用戶轉換爲數據庫文件,(這裏爲RHEL6.0的db4版本文件)
或 yum install -y db4* 所有安裝
[root@accp~]# yum install -y db4*
創建帳戶文件(vim /etc/vsftpd/virtual.file)
[root@accp~]# vim /etc/vsftpd/virtual.file
tom 奇數爲用戶名,偶數爲密碼
tigerzhang
john
tigerzhang
將virtual.file 文本內容加載到db數據庫
[root@accp~]# cd /etc/vsftpd
[root@accp vsftpd]# db_load -T -t hash -f virtual.file virtual.db
注:在db_load命令中,"-T"選項容許應用程序可以將文本文件轉譯載入進數據庫。因爲咱們以後是將虛擬用戶的信息以文件方式存儲在tcp
文件裏的,爲了讓vsftpd這個應用程序可以經過文原本載入用戶數據,必需要使用-T。
"-t " 用來指定轉譯載入的數據庫類型。能夠指定的數據類型有Btree、Hash、Queue、Recon數據庫,這裏選Hash。
"-f"用於指定用戶名/密碼列表文件,如:virtual.file。參考:"/usr/share/doc/db4-utils-4.3.29/utility/db_load.html"
[root@accp~]# chmod 600 /etc/vsftpd/virtual.* 下降文件權限加強安全性
採用pam驗證模塊,若是沒有能夠進行"yum install -y pam*"安裝,
[root@accp~]# vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/virtual
account required pam_userdb.so db=/etc/vsftpd/virtual
若是是32位系統則須要把lib64換成lib,不然會報530錯誤沒法登陸,也可加"/lib64/security/pam_userdb.so"。
創建系統賬戶
[root@accp~]# useradd -d /var/ftp -s /sbin/nologin luce
vsftpd虛擬用戶須要有一個對應的系統用戶賬號,該賬號無需登陸shell,該用戶賬號的宿主目錄做爲全部虛擬用戶登陸後共同的FTP棣目錄,即
luce做爲virtual.file文件內的用戶映射。
[root@accp~]# chmod 755 /var/ftp 給虛擬用戶目錄一個權限
修改配置文件
[root@accp~]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES 禁錮在家目錄中,加強安全性
guest_enable=YES 啓用用戶映射功能
virtual_use_local_privs=YES
pam_service_name=vsftpd.vu 修改使用的PAM文件位置(與指定的PAM驗證文件名一致)
user_config_dir=/etc/vsftpd/virt_dir給虛擬用戶我的vsftp的配置文件一個存放路徑,/etc/vsftpd/virt_dir裏面的文件都是虛擬用戶的專用
配置文件,注意:配置文件名必須和虛擬用戶名相同
[root@accp~]# service vsftpd restart 重啓服務
[root@accp~]# mkdir /etc/vsftpd/virt_dir
[root@accp~]# cd /etc/vsftpd/virt_dir
[root@accp~]# vim luce 此文件裏的配置能夠根據須要配置項目
guest_enable=YES (在centos下yes必須爲小寫字母)
guest_username=luce
local_root=/var/ftp/
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=100000
********************************************************
注意:
1.搭建完服務器後,要注意查看iptables 防火牆 和 setsebool
iptables -F
iptables -X
getsebool -a 查看全部的bool信息
setsebool -P 修改bool信息 將某一個條目改成 "on" 開啓。
setsebool -P allow_ftpd_anon_write on
chcon -t public_content_rw_t /var/ftp/mydir 設置上下文
chcon -t public_content_rw_t/var/ftp/mydir 更改目錄的條目
特此聲明,因爲在下是一個剛出道的學生,以上實驗是本身在VMware裏搭建的服務,而且運行正常。若有問題望君能及時分享提出寶貴修改意見,以供
可以學習參考,謝謝!!!