一、Linux FTP伺服器分類:
<1>wu-ftp
<2>proftp=profession ftp
<3>vsftp=very security ftp
設定檔:
/etc/vsftpd/vsftpd.conf //主設定檔
/etc/vsftpd.ftpusers //被禁止登入FTP的使用者檔案
/etc/vsftpd.user_list //允許登入FTP的使用者檔案
二、訪問方式
<1>匿名登入
<2>帳號登入
啟動FTP伺服器:
#service vsftpd restart
三、配置vsftp伺服器
1.vsftpd.conf各項參數說明:
#vi /etc/vsftpd/vsftpd.conf<1>anonymous_enable=YES:控制匿名登入<2>local_enable=YES:允許本地帳號登入<3>write_enable=YES:控制可寫入權限<4>local_umask=022:控制本地檔案的許可權掩碼<5>anon_upload_enable=YES:控制是否允許匿名上傳(與anon_mkdir_write_enable=YES同時開啟或關閉)<6>anon_mkdir_write_enable=YES:控制是否允許匿名寫及建立目錄的許可權<7>xferlog_enable=YES:控制上傳或下載的日誌記錄<8>connect_from_port_20=YES:控制串連連接埠<9>chown_uploads=YES:是否允許上傳的檔案擁有者(與chown_username=whoever同時開啟或關閉)<10>chown_username=whoever:允許上傳的檔案擁有者為whoever<11>xferlog_file=/var/log/xferlog:日誌記錄位置<12>xferlog_std_format=YES:標準格式登入上傳和下載記錄<13>data_connection_timeout=120:傳輸時間<14>nopriv_user=ftpsecure:使用特殊使用者ftpsecure<15>ftpd_banner=Welcome to blah FTP service:登入歡迎資訊<16>deny_email_enable=YES:拒絕郵件地址<17>banned_email_file=/etc/vsftpd/banned_emails:拒絕郵件地址名單<18>chroot_list_enable=YES:(與chroot_list_file=/etc/vsftpd/chroot_list同時開啟或關閉)<19>chroot_list_file=/etc/vsftpd/chroot_list:只能訪問本目錄,不能訪問上級目錄<20>userlist_enable=YES:啟用/etc/vsftpd.user_list檔案
2.配置匿名登入
#vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES(預設值)
啟動vsftpd伺服器:
#service vsftpd restart
#service iptables stop
匿名登入的預設目錄:
/var/ftp/pub
開啟匿名上傳和寫入權限:
#vi /etc/vsftpd/vsftp.conf
anon_upload_enable=YES
anon_mkdir_write_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_file=/etc/vsftpd/chroot_list
開啟預設共用目錄的許可權
#chmod 777 /var/ftp/pub
備忘:匿名可以上傳下載,但不能刪除;
3.本地帳號登入
<1>禁用匿名登入
修改設定檔
#vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
<2>開放那些使用者可以登入和那些使用者拒絕登入
#vi /etc/vsftpd/vsftpd.conf
userlist_deny=NO(新添加)
(備忘:設定/etc/vsftpd.user_list檔案中的使用者可登入FTP)如果是#userlist_deny=NO 注釋掉,則預設全部使用者可以登入FTP,當要限某使用者不能登入:把使用者名稱加入這個檔案當中/etc/vsftpd.ftpusers,則這個使用者名稱拒絕登入FTP。
建立使用者並加入到相應的控制檔案中
#useradd us1
#useradd us2
#passwd us1
#passwd us2
允許登入到FTP的使用者:
#echo us1>>/etc/vsftpd.user_list
#echo us2>>/etc/vsftpd.user_list
啟動FTP伺服器:
#service vsftpd restart
備忘:帳號登入FTP,預設是登入在家目錄下;
禁止登入到FTP的使用者:#echo us3>>/etc/vsftpd.ftpusers
<3>將登入後的使用者限制在本地家目錄下:
#vi /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
建立受限使用者的列表檔案並加入受限使用者名稱
#vi /etc/vsftpd.chroot_list
us2
儲存退出
#service vsftpd restart
<4>限制匿名上傳的速度:
#vi /etc/vsftpd/vsftpd.conf
anon_max_rate=5000 //預設以位元組為單位 5000表示5K速度
<5> 限制本地帳號的上傳速度:
local_max_rate=5000 //以(位元組/秒)為單位
<6> 針對不同的使用者限制不同的速度(這個速度優先限制所有使用者的速度):
#vi /etc/vsftpd/vsftpd.conf
增加下面一行
user_config_dir=/etc/vsftpd/userconf
#mkdir /etc/vsftpd/userconf 建立一個目錄
#vi /etc/vsftpd/userconf/user1 (user1是要限制速度的使用者名稱)
local_max_rate=25000
<7>定製歡迎資訊:
#vi /etc/vsftpd/vsftpd.conf
ftpd_banner=Welcome to Huayu FTP service.
<8>限制伺服器串連數和同IP串連數
1、max_clients
可使用這個參數定義最大的總聯機數。超過這個數目將會拒絕聯機,0 表示不限。預設值為0。
2、max_per_ip
使用這個參數定義每個ip address 所可以聯機的數目。超過這個數目將會拒絕聯機,0 表示不限。預設值為0。
<9>虛擬FTP使用者佈建
1、建立虛擬使用者口令庫檔案
#vi /etc/vsftpd/logins.txt
vuser1 123
vuser2 321
口令庫檔案中奇數行設定使用者名稱,偶數行設定口令
2、產生vsftpd的認證檔案
#db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db ##產生認證檔案
3、設定認證檔案只對root使用者可讀可寫
# chmod 600 /etc/vsftpd/vsftpd_login.db
4、建立虛擬使用者所需的PAM設定檔,手工建立vsftpd.vu檔案
# cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
5、建立所有FTP虛擬使用者帳號使用的系統使用者帳號,並設定該帳號宿主目錄的許可權
# useradd -d /home -s /sbin/nologin /ftpsite virtual
# chmod 700 /home/ftpsite
6、設定vsftpd.conf設定檔
#vi /etc/vsftpd/vsftpd.conf
在設定檔中添加虛擬使用者的配置內容
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu(要和剛才建的PAM檔案對應)
user_config_dir=/etc/vsftpd/user_config_dir (指定每個虛擬使用者帳號配置目錄,)
local_root=/www (這行沒有,虛擬使用者登入到/ftpsite)
7、配置虛擬使用者名稱的設定
#mkdir -p /etc/vsftpd/user_config_dir (主設定檔對應)
#mkdir -p /www/vuser1 (建立虛擬用主目錄)
#chmod -R 777 /www/vuser1 (設定許可權)
#touch /etc/vsftpd/user_config_dir/vuser1 (為vuser1許可權設定檔)
#echo "anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/www/feixiang
anon_mkdir_write_enable=YES" >/etc/vsftpd/user_config_dir/vuser1
8、重新啟動vsftpd服務程式
# service vsftpd restart
現在就應該可以用虛擬帳號登陸了.
<9>虛擬FTP使用者佈建
1、建立虛擬使用者口令庫檔案
#vi /etc/vsftpd/logins.txt
vuser1 123
vuser2 321
口令庫檔案中奇數行設定使用者名稱,偶數行設定口令
2、產生vsftpd的認證檔案
#db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db ##產生認證檔案
3、設定認證檔案只對root使用者可讀可寫
# chmod 600 /etc/vsftpd/vsftpd_login.db
4、建立虛擬使用者所需的PAM設定檔,手工建立vsftpd.vu檔案
# cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
5、建立所有FTP虛擬使用者帳號使用的系統使用者帳號,並設定該帳號宿主目錄的許可權
# useradd -d /home -s /sbin/nologin /ftpsite virtual
# chmod 700 /home/ftpsite
6、設定vsftpd.conf設定檔
#vi /etc/vsftpd/vsftpd.conf
在設定檔中添加虛擬使用者的配置內容
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu(要和剛才建的PAM檔案對應)
user_config_dir=/etc/vsftpd/user_config_dir (指定每個虛擬使用者帳號配置目錄,)
local_root=/www (這行沒有,虛擬使用者登入到/ftpsite)
7、配置虛擬使用者名稱的設定
#mkdir -p /etc/vsftpd/user_config_dir (主設定檔對應)
#mkdir -p /www/vuser1 (建立虛擬用主目錄)
#chmod -R 777 /www/vuser1 (設定許可權)
#touch /etc/vsftpd/user_config_dir/vuser1 (為vuser1許可權設定檔)
#echo "anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/www/feixiang
anon_mkdir_write_enable=YES" >/etc/vsftpd/user_config_dir/vuser1
8、重新啟動vsftpd服務程式
# service vsftpd restart
現在就應該可以用虛擬帳號登陸了.
以上就是小編為大家帶來的Linux配置VSFTP伺服器的方法全部內容了,希望大家多多支援雲棲社區~