1. 程式人生 > >centos 6.5 設定FTP伺服器 與客戶機連線FTP伺服器

centos 6.5 設定FTP伺服器 與客戶機連線FTP伺服器

伺服器端

1.yum install vsftp

   service vsftpd restart  (ftp服務端的程序是vsftpd)

2.vsftpd伺服器檔案

配置檔案: /etc/vsftpd/vsftpd.conf

伺服器根目錄:  /var/ftp/pub/

vsftpd.ftpusers:位於/etc目錄下。它指定了哪些使用者賬戶不能訪問FTP伺服器,例如root等。vsftpd.user_list:位於/etc目錄下。該檔案裡的使用者賬戶在預設情況下也不能訪問FTP伺服器,僅當vsftpd.conf配置檔案裡啟用userlist_enable=NO選項時才允許訪問。vsftpd.conf:位於

/etc/vsftpd目錄下。來自定義使用者登入控制、使用者許可權控制、超時設定、伺服器功能選項、伺服器效能選項、伺服器響應訊息等FTP伺服器的配置。(1)使用者登入控制anonymous_enable=YES,允許匿名使用者登入。no_anon_password=YES,匿名使用者登入時不需要輸入密碼。local_enable=YES,允許本地使用者登入。deny_email_enable=YES,可以建立一個檔案儲存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。

banned_email_file=/etc/vsftpd.banned_emails
,當啟用deny_email_enable
功能時,所需的電子郵件黑名單儲存路徑(預設為/etc/vsftpd.banned_emails)(2)使用者許可權控制write_enable=YES,開啟全域性上傳許可權。local_umask=022,本地使用者的上傳檔案的umask設為022(系統預設是077,一般都可以改為022)anon_upload_enable=YES,允許匿名使用者具有上傳許可權,很明顯,必須啟用write_enable=YES,才可以使用此項。同時我們還必須建立一個允許ftp使用者可以讀寫的目錄(前面說過,ftp是匿名使用者的對映使用者賬號)anon_mkdir_write_enable=YES,允許匿名使用者有建立目錄的權利。
chown_uploads=YES,啟用此項,匿名上傳檔案的屬主使用者將改為別的使用者賬戶,注意,這裡建議不要指定root賬號為匿名上傳檔案的屬主使用者!chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主使用者賬號,此處的whoever自然要用合適的使用者賬號來代替。chroot_list_enable=YES,可以用一個列表限定哪些本地使用者只能在自己目錄下活動,如果chroot_local_user=YES,那麼這個列表裡指定的使用者是不受限制的。

chroot_list_file=/etc/vsftpd.chroot_list
,如果chroot_local_user=YES,則指定該列表(chroot_local_user)的儲存路徑(預設是/etc/vsftpd.chroot_list)nopriv_user=ftpsecure,指定一個安全使用者賬號,讓FTP伺服器用作完全隔離和沒有特權的獨立使用者。這是vsftpd系統推薦選項。async_abor_enable=YES,強烈建議不要啟用該選項,否則將可能導致出錯!ascii_upload_enable=YESascii_download_enable=YES,預設情況下伺服器會假裝接受ASCⅡ模式請求但實際上是忽略這樣的請求,啟用上述的兩個選項可以讓伺服器真正實現ASCⅡ模式的傳輸。  注意:啟用ascii_download_enable選項會讓惡意遠端使用者們在ASCⅡ模式下用“SIZE/big/file”這樣的指令大量消耗FTP伺服器的I/O資源。  這些ASCⅡ模式的設定選項分成上傳和下載兩個,這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳指令碼等惡意檔案而導致崩潰),而不會遭受拒絕服務攻擊的危險。(3)使用者連線和超時選項idle_session_timeout=600,可以設定預設的空閒超時時間,使用者超過這段時間不動作將被伺服器踢出。data_connection_timeout=120,設定預設的資料連線超時時間。(4)伺服器日誌和歡迎資訊dirmessage_enable=YES,允許為目錄配置顯示資訊,顯示每個目錄下面的message_file檔案的內容。ftpd_banner=Welcometo blah FTP service,可以自定義FTP使用者登入到伺服器所看到的歡迎資訊。xferlog_enable=YES,啟用記錄上傳/下載活動日誌功能。xferlog_file=/var/log/vsftpd.log,可以自定義日誌檔案的儲存路徑和檔名,預設是/var/log/vsftpd.loganonymous_enable=YES允許匿名登入local_enable=YES允許本地使用者登入write_enable=YES開放本地使用者寫許可權local_umask=022設定本地使用者生成檔案的掩碼為022

#anon_upload_enable=YES此項設定允許匿名使用者上傳檔案#anon_mkdir_write_enable=YES開啟匿名使用者的寫和建立目錄的許可權dirmessage_enable=YES當切換到目錄時,顯示該目錄下的.message隱藏檔案的內容xferlog_enable=YES啟用上傳和下載日誌connect_from_port_20=YES啟用FTP資料埠的連線請求#chown_uploads=YES是否具有上傳許可權.使用者由chown_username引數指定。#chown_username=whoever指定擁有上傳檔案許可權的使用者。此引數與chown_uploads聯用。#xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES使用標準的ftpdxferlog日誌格式#idle_session_timeout=600此設定將在使用者會話空閒10分鐘後被中斷#data_connection_timeout=120將在資料連線空閒2分鐘後被中斷#ascii_upload_enable=YES啟用上傳的ASCII傳輸方式#ascii_download_enable=YES啟用下載的ASCII傳輸方式#ftpd_banner=Welcometo blah FTP service 設定使用者連線伺服器後顯示訊息#deny_email_enable=NO此引數預設值為NO。當值為YES時,拒絕使用banned_email_file引數指定檔案中所列出的e-mail地址使用者登入。#banned_email_file=/etc/vsftpd.banned_emails指定包含拒絕的e-mail地址的檔案.

#chroot_list_enable=YES設定本地使用者登入後不能切換到自家目錄以外的別的目錄#chroot_list_file=/etc/vsftpd.chroot_list

#ls_recurse_enable=YES

pam_service_name=vsftpd設定PAM認證服務的配置檔名稱,該檔案存放在/etc/pam.d/

userlist_enable=YES此項配置/etc/vsftpd.user_list中指定的使用者也不能訪問伺服器,若新增userlist_deny=No,則僅僅/etc/vsftpd.user_list檔案中的使用者可以訪問,其他使用者都不可以訪問伺服器。如過userlist_enable=NO,userlist_deny=YES,則指定使檔案/etc/vsftpd.user_list中指定的使用者不可以訪問伺服器,其他本地使用者可以訪問伺服器。listen=YES指明VSFTPD以獨立執行方式啟動tcp_wrappers=YESVSFTPD中使用TCP_Wrappers遠端訪問控制機制,預設值為YES

a. 建立FTP賬戶

#adduser -d /tmp/test -g ftp -s /sbin/nologin test  //建立一個test使用者,目錄為/tmp/test, 不能用作登陸系統用

#passwd test   //設定密碼

b.限制使用者目錄,不得改變目錄到上級

修改/etc/vsftpd/vsftpd.conf

#chroot_list_enable=YES    

#chroot_list_file=/etc/vsftpd.chroot_list 

b1.註釋去掉

b2.新增一個檔案 /etc/vsftpd/chroot_list

內容寫需要限制的使用者名稱: test

重啟vsftpd

客戶端

1.安裝ftp客戶端

yum install ftp

ftp

> open  ftp_server_ip

>username

>passwd

2.用瀏覽器連線的時候會出現oops 500 chroot.

原因是是selinux的問題,它有一個叫做”Allow ftp to read/write in the user home directories” 的選項。
使用如下命令 /usr/sbin/setsebool -P ftp_home_dir on  開啟選項

或者  setsebool-P ftpd_disable_trans=1

vsftpd伺服器常見錯誤: http://wenku.baidu.com/link?url=ekVgUTbq2-Ol9itQC6KSpWRuZd42b3d_TYFeqqWHfDi31Gb58aO-hQHv4luPS1PtG2f7IZaRqSKWoJinXq_eT4Ymty57cah-Wp9WVfzZ8pK