您好,登錄后才能下訂單哦!
FTP是文件傳輸協議,正是由于這種協議使得主機間可以共享文件。 FTP 使用TCP生成一個虛擬連接用于控制信息,然后再生成一個單獨的 TCP 連接用于數據傳輸。
vsftpd是一款在LINUX發行版中最主流的FTP服務器程序;特點是小巧輕快,安全易用;能讓其自身特點得發發揮和掌握。如果使用系統用戶登錄FTP,是比較危險的,所以我們主要采用vsftpd虛擬用戶登錄FTP服務器進行常見的操作,當然配置就相對復雜一點。(centos7安裝)
1、首先安裝FTP以及虛擬用戶需要用到的軟件及認證模塊
yum install vsftpd -y yum install pam* libdb4-utils libdb4 --skip-broken –y
創建并生成vsftpd數據庫文件vim /etc/vsftpd/vuser_passwd.txt,內容如下:
第一行為FTP虛擬用戶,登錄用戶名,第二行為密碼,第三行為用戶名,依次類推。
[root@server vsftpd]# cat /etc/vsftpd/vuser_passwd.txt test1 123456 test2 456789
2、生成數據庫文件命令
[root@server vsftpd]# db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db [root@server vsftpd]# chmod 700 /etc/vsftpd/vuser_passwd.db
3、配置PAM驗證文件
將配置文件vim /etc/pam.d/vsftpd 改為如下兩行認證語句:(如果是32位,lib64需改成lib,如果RedHat,加入的語句不一樣,需注意)
[root@server vsftpd]# vim /etc/pam.d/vsftpd #%PAM-1.0 auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
4、創建vsftpd映射本地用戶
所有的FTP虛擬用戶需要使用一個系統用戶,這個系統用戶不需要密碼,也不需要登錄。主要用來做虛擬用戶映射使用。
[root@server vsftpd]# useradd -s /sbin/nologin ftpuser
5、修改完整版vsftpd.conf配置文件
[root@server vsftpd]# vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO //禁止匿名用戶訪問 local_enable=YES // 允許本地用戶登錄FTP write_enable=YES //允許用戶在FTP目錄有寫入的權限 local_umask=022 //設置本地用戶的文件生成掩碼為022,默認是077 dirmessage_enable=YES //激活目錄信息,當遠程用戶更改目錄時將出現提示信息 xferlog_enable=YES //啟用上傳和下載日志功能 connect_from_port_20=YES //啟用FTP數據端口的連接請求 xferlog_file=/var/log/xferlog xferlog_std_format=YES //是否使用標準的ftpd xferlog日志文件格式 ascii_upload_enable=YES //設定支持ASCII模式的上傳功能 ascii_download_enable=YES //設定支持ASCII模式的下載功能 listen=YES //使用vsftpd處于獨立啟動監聽端口模式 guest_enable=YES //設定啟用虛擬用戶功能 guest_username=ftpuser //指定虛擬用戶的宿主用戶,CentOS中已經有內置的ftpuser用戶了 pam_service_name=vsftpd //設置PAM認證服務配置文件名,文件存放在/etc/pam.d/目錄 userlist_enable=YES //用戶列表中的用戶是否允許登錄FTP服務器,默認是不允許 tcp_wrappers=YES //使用tcp_wrappers作為主機訪問控制方式 user_config_dir=/etc/vsftpd/vsftpd_user_conf //設定虛擬用戶個人vsftp的CentOS FTP服務文件存放路徑。存放虛擬用戶個性的CentOS FTP服務文件(配置文件名=虛擬用戶名) virtual_use_local_privs=YES //虛擬用戶和本地用戶有相同的權限 vsftpd_log_file=/var/log/vsftpd.log
保存重啟,service vsftpd restart 即可使用虛擬用戶登錄,這時候所有的虛擬用戶共同使用/home/ftpuser目錄上傳下載。
6、如果想使用自己獨立的目錄,可以在/etc/vsftpd/vsftpd_user_conf目錄創建各自的配置文件,如給
test1創建獨立的配置文件:
[root@server vsftpd]# vim /etc/vsftpd/vsftpd_user_conf/test1 //內容如下,建立自己的FTP目錄。 local_root=/home/ftpuser/test1 //鎖定虛擬wugk用戶登錄FTP后的目錄 write_enable=YES //表示用戶具有創建和刪除的權限 anon_world_readable_only=YES //表示用戶可以瀏覽FTP目錄及下載文件 anon_upload_enable=YES //表示用戶可以上傳文件 anon_mkdir_write_enable=YES //表示用戶有創建和刪除目錄的權限 anon_other_write_enable=YES //表示用戶具有文件改名和刪除文件的權限
[root@server vsftpd]# vim /etc/vsftpd/vsftpd_user_conf/test2 //內容如下,建立自己的FTP目錄。 local_root=/home/ftpuser/test2 write_enable=YES anon_world_readable_only=YES anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES
要創建/home/ftpuser/test1和/home/ftpuser/test2
[root@server vsftpd]# mkdir -p /home/ftpuser/{test1,test2}
[root@server vsftpd]# chown -R ftpuser:ftpuser /home/ftpuser如果啟用vsftpd日志需手動建立日志文件
[root@server vsftpd]# touch /var/log/xferlog
[root@server vsftpd]# touch /var/log/vsftpd.log
重啟,使用客戶端登錄FTP,測試即可。
7、配置PASV模式(可選)
vsftpd默認沒有開啟PASV模式,現在FTP只能通過PORT模式連接,要開啟PASV默認需要通過下面的配置。打開/etc/vsftpd/vsftpd.conf,在末尾添加
#開啟PASV模式
pasv_enable=YES
#最小端口號
pasv_min_port=61000
#最大端口號
pasv_max_port=61200 pasv_promiscuous=YES
#在防火墻配置內開啟40000到40080端口
-A INPUT -m state --state NEW -m tcp -p -dport 40000:40080 -j ACCEPT
#重啟iptabls和vsftpd
service iptables restart
service vsftpd restart免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。