1.此次為了測試瞭解一下,VSFTP,採用RPM包安裝方式首先rpm -qa | grep vsftpd ---------查看有無安裝,若沒有,則要安裝,我採用的是yumyum install vsftpd見下:[root@ftp sbin]# yum install vsftpd
[root@ftp sbin]# service vsftpd status
vsftpd is stopped
[root@ftp sbin]# service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
[root@ftp sbin]#2.設定每次開機時自動運行及手工啟動它:chkconfig vsftpd onservice vsftpd startnetstat -tl 可以查看ftp連接埠是否在偵聽了!相關設定檔:/etc/vsftpd/vsftpd.conf裡面;3.至此已經可以FTP已經可以正常運行了,4.FTP配置參考以下設定:初級測試篇:(注:匿名使用者使用ftp這個系統使用者,無需密碼)a. 匿名伺服器的串連(獨立的伺服器)
在/etc/vsftpd/vsftpd.conf設定檔中添加如下幾項:
Anonymous_enable=yes (允許匿名登陸)
Dirmessage_enable=yes (切換目錄時,顯示目錄下.message的內容)
Local_umask=022 (FTP上本地的檔案許可權,預設是077)
Connect_form_port_20=yes (啟用FTP資料連接埠的資料連線)*
Xferlog_enable=yes (啟用上傳和下載的日誌)
Xferlog_std_format=yes (使用標準的日誌格式)
Ftpd_banner=XXXXX (歡迎資訊)
Pam_service_name=vsftpd (驗證方式)*
Listen=yes (獨立的VSFTPD伺服器)*
功能:只能串連FTP伺服器,不能上傳和下載註:其中所有和日誌歡迎資訊相關連的都是可選項,打了星號的無論什麼帳戶都要添加,是屬於FTP的基本選項
b. 開啟匿名FTP伺服器上傳許可權
在設定檔中添加以下的資訊即可:
Anon_upload_enable=yes (開放上傳許可權)
Anon_mkdir_write_enable=yes (可建立目錄的同時可以在此目錄中上傳檔案)
Write_enable=yes (開放本機使用者寫的許可權)
Anon_other_write_enable=yes (匿名帳號可以有刪除的許可權)
c. 開啟匿名伺服器下載的許可權
在設定檔中添加如下資訊即可:
Anon_world_readable_only=no
註:要注意檔案夾的屬性,匿名帳戶是其它(other)使用者要開啟它的讀寫執行的許可權
(R)讀-----下載 (W)寫----上傳 (X)執行----如果不開FTP的目錄都進不去
d.普通使用者FTP伺服器的串連(獨立伺服器)
在設定檔中添加如下資訊即可:
Local_enble=yes (本地帳戶能夠登陸)
Write_enable=no (本地帳戶登陸後無權刪除和修改檔案)
功能:可以用本地帳戶登陸vsftpd伺服器,有下載上傳的許可權
註:在禁止匿名登陸的資訊後匿名伺服器照樣可以登陸但不可以上傳下載e. 使用者登陸限制進其它的目錄,只能進它的主目錄
設定所有的本機使用者都執行chroot
Chroot_local_user=yes (本地所有帳戶都只能在自家目錄)
設定指定使用者執行chroot
Chroot_list_enable=yes (檔案中的名單可以調用)
Chroot_list_file=/任意指定的路徑/vsftpd.chroot_list
注意:vsftpd.chroot_list 是沒有建立的需要自己添加,要想控制帳號就直接在檔案中加帳號即可
f. 限制本機使用者訪問FTP
Userlist_enable=yes (用userlistlai 來限制使用者訪問)
Userlist_deny=no (名單中的人不允許訪問)
Userlist_file=/指定檔案存放的路徑/ (檔案放置的路徑)
註:開啟userlist_enable=yes匿名帳號不能登陸
g. 安全選項
Idle_session_timeout=600(秒) (使用者會話空閑後10分鐘)
Data_connection_timeout=120(秒) (將資料連線空閑2分鐘斷)
Accept_timeout=60(秒) (將用戶端空閑1分鐘後斷)
Connect_timeout=60(秒) (中斷1分鐘後又重新串連)
Local_max_rate=50000(bite) (本機使用者傳輸率50K)
Anon_max_rate=30000(bite) (匿名使用者傳輸率30K)
Pasv_min_port=50000 (將用戶端的資料連線連接埠改在
Pasv_max_port=60000 50000—60000之間)
Max_clients=200 (FTP的最大串連數)
Max_per_ip=4 (每IP的最大串連數)
Listen_port=5555 (從5555連接埠進行資料連線)
h. 查看誰登陸了FTP,並殺死它的進程
ps –xf |grep ftp
kill 進程號 5. 高階部分測試篇:配置本機群組訪問的FTP
首先建立使用者組 test和FTP的主目錄
groupadd test
mkdir /tmp/test
然後建立使用者
useradd -G test –d /tmp/test –M usr1
註:G:使用者所在的組 d:表示建立使用者的自己目錄的位置給予指定
M:不建立預設的自家目錄,也就是說在/home下沒有自己的目錄
useradd –G test –d /tmp/test –M usr2
接著改變檔案夾的屬主和許可權
chown usr1.test /tmp/test ----這表示把/tmp/test的屬主定為usr1
chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什麼許可權都沒有
這個實驗的目的就是usr1有上傳、刪除和下載的許可權
而usr2隻有下載的許可權沒有上傳和刪除的許可權
當然啦大家別忘了我們的主設定檔vsftpd.conf
-----------------------------------------------------------------------
修改使用者密碼或添加使用者密碼
以使用者name為例,添加使用者:useradd name,設定密碼:passwd name,然後根據提示,輸入兩次密碼即可。
刪除使用者:userdel name,其實並沒有完全刪除,只是該使用者不能登陸,其目錄下的檔案還在保留。
如:useradd username
passwd username
userdel username
---------------------------------------------------------------
要確定local_enable=yes、write_enable=yes、chroot_local_usr=yes這三個選項是有的!
6. VSFTPD.conf裡面的參數簡要說明:
Anonymous_enable=yes (允許匿名登陸)
Dirmessage_enable=yes (切換目錄時,顯示目錄下.message的內容)
Local_umask=022 (FTP上本地的檔案許可權,預設是077)
Connect_form_port_20=yes (啟用FTP資料連接埠的資料連線)*
Xferlog_enable=yes (啟用上傳和下傳的日誌)
Xferlog_std_format=yes (使用標準的日誌格式)
Ftpd_banner=XXXXX (歡迎資訊)
Pam_service_name=vsftpd (驗證方式)*
Listen=yes (獨立的VSFTPD伺服器)*
Anon_upload_enable=yes (開放上傳許可權)
Anon_mkdir_write_enable=yes (可建立目錄的同時可以在此目錄中上傳檔案)
Write_enable=yes (開放本機使用者寫的許可權)
Anon_other_write_enable=yes (匿名帳號可以有刪除的許可權)
Anon_world_readable_only=no (放開匿名使用者瀏覽許可權)
Ascii_upload_enable=yes (啟用上傳的ASCII傳輸方式)
Ascii_download_enable=yes (啟用下載的ASCII傳輸方式)
Banner_file=/var/vsftpd_banner_file (使用者串連後歡迎資訊使用的是此檔案中的相關資訊)
Idle_session_timeout=600(秒) (使用者會話空閑後10分鐘)
Data_connection_timeout=120(秒) (將資料連線空閑2分鐘斷)
Accept_timeout=60(秒) (將用戶端空閑1分鐘後斷)
Connect_timeout=60(秒) (中斷1分鐘後又重新串連)
Local_max_rate=50000(bite) (本機使用者傳輸率50K)
Anon_max_rate=30000(bite) (匿名使用者傳輸率30K)
Pasv_min_port=50000 (將用戶端的資料連線連接埠改在
Pasv_max_port=60000 50000—60000之間)
Max_clients=200 (FTP的最大串連數)
Max_per_ip=4 (每IP的最大串連數)
Listen_port=5555 (從5555連接埠進行資料連線)
Local_enble=yes (本地帳戶能夠登陸)
Write_enable=no (本地帳戶登陸後無權刪除和修改檔案)
這是一組
Chroot_local_user=yes (本地所有帳戶都只能在自家目錄)
Chroot_list_enable=yes (檔案中的名單可以調用)
Chroot_list_file=/任意指定的路徑/vsftpd.chroot_list
(前提是chroot_local_user=no)
這又是一組
Userlist_enable=yes (在指定的檔案中的使用者不可以訪問)
Userlist_deny=yes
Userlist_file=/指定的路徑/vsftpd.user_list
又開始單的了
Banner_fail=/路徑/檔案名稱 (串連失敗時顯示檔案中的內容)
Ls_recurse_enable=no
Async_abor_enable=yes
One_process_model=yes
Listen_address=10.2.2.2 (將虛擬服務綁定到某連接埠)
Guest_enable=yes (虛擬使用者可以登陸)
Guest_username=所設的使用者名稱 (將虛擬使用者映射為本機使用者)
User_config_dir=/任意指定的路徑/為使用者策略自己所建的檔案夾
(指定不同虛擬使用者設定檔的路徑)
又是一組
Chown_uploads=yes (改變上傳檔案的所有者為root)
Chown_username=root
又是一組
Deny_email_enable=yes (是否允許禁止匿名使用者使用某些郵件地址)
Banned_email_file=//任意指定的路徑/xx/
又是單的
Pasv_enable=yes ( 伺服器端用被動模式)
User_config_dir=/任意指定的路徑//任意檔案目錄 (指定虛擬使用者存放設定檔的路徑)