一般在各種linux的發行版中,預設帶有的ftp軟體是vsftp,從各個linux發行版對vsftp的認可可以看出,vsftp應該是一款不錯的ftp軟體。
搭建linux ftp伺服器的步驟如下:
(1)檢查vsftpd軟體是否安裝
使用如下命令可以檢測出是否安裝了vsftpd軟體,rpm -qa |grep vsftpd ,例如在我的centos 5.6中顯示的結果如下:
(2)vsftpd軟體的使用
1)使用vsftpd軟體,主要包括如下幾個命令:
啟動ftp:service vsftpd start
停止ftp:service vsftpd stop
重啟ftp:service vsftpd restart
2)或者使用帶有路徑的命令:
(3)vsftpd的配置
ftp的配置檔案主要有三個,在centos5.6中位於/etc/vsftpd/目錄下,分別是:
1)ftpusers 該檔案用來指定那些使用者不能訪問ftp伺服器。
2)user_list 該檔案用來指示的預設賬戶在預設情況下也不能訪問ftp
3)vsftpd.conf vsftpd的主配置檔案
(4)下面我們使用vi編輯vsftpd的主配置檔案:vsftpd.conf檔案。
etc/vsftpd/vsftpd.conf是vsftpd的主要配置檔案,在此檔案中以#開頭的行是注釋行,預設設定如下:
anonymous_enable=yes
#是否允許匿名登入ftp,yes表示允許。
#local_enable=yes
#是否允許本地使用者登入,本地使用者即/etc/passwd內帳號,yes表示允許。
#write_enable=yes
#是否開放寫許可權。
#local_umask=022
#設定本地使用者的檔案的掩碼是022。
#anon_upload_enable=yes
#是否允許匿名使用者上傳檔案。
#anon_mkdir_write_enable=yes
#是否允許匿名使用者建立資料夾。
dirmessage_enable=yes
#當使用者進入某個目錄時,會顯示該目錄需要注意的內容,顯示的檔案預設是.message ,需要手工在該目錄下建立,當然,可以使用message_file設定專案來修訂!
xferlog_enable=yes
connect_from_port_20=yes
#啟用ftp資料埠的連線請求(ftp-data)。
#chown_uploads=yes
#是否改變上傳檔案的屬主,這個屬主可以由chown_username決定。
#chown_username=whoever
#當chown_uploads值為yes時,上傳檔案的屬主就是chown_username定義的值了。
#xferlog_file=/var/log/vsftpd.log
#當xferlog_enable的值為yes時,日誌將記錄在xferlog_file定義的檔案中。
#xferlog_std_format=yes
#是否使用標準的ftp xferlog模式。
#idle_session_timeout=600
#如果使用者在600秒內都沒有命令動作,強制離線!
#data_connection_timeout=120
#如果資料傳送在120秒內都無法傳送成功,那客戶端的聯機就會被vsftpd強制剔除!
#nopriv_user=ftpsecure
#執行vsftpd需要的非特權系統使用者,預設是nobody。
#async_abor_enable=yes
#當設定為允許時,乙個特別的ftp命令「非同步退出」將生效。
#ascii_upload_enable=yes
#是否允許使用ascii碼方式上傳檔案。
#ascii_download_enable=yes
#ftpd_banner=welcome to blah ftp service.
#定製歡迎資訊。
#deny_email_enable=yes
#是否禁止匿名使用者使用某些郵件位址。
#banned_email_file=/etc/vsftpd/banned_emails
#當deny_email_enable=yes時,可以利用這個設定專案來規定那個email address 不可登入vsftpd ,在上面設定的檔案內,一行輸入乙個email address 即可!
#chroot_local_user=yes
#是否將所有使用者限制在自己的家目錄之內(chroot)。
#chroot_list_enable=yes
#是否啟用將某些使用者限制在它們的家目錄內。
#chroot_list_file=/etc/vsftpd/chroot_list
#如果chroot_list_enable=yes時,可以設定哪些使用者會被限制在自己的家目錄內而無法離開(chroot),一行乙個賬號即可!
#ls_recurse_enable=yes
#是否允許使用ls -r等命令。
listen=yes
#開啟ipv4監聽
#listen_ipv6=yes
#開啟ipv6監聽。
pam_service_name=vsftpd
#使用pam模組控制,vsftpd檔案在/etc/pam.d目錄下。
userlist_enable=yes
#此選項被啟用後,vsftpd將讀取userlist_file引數所指定的檔案中的使用者列表。當列表中的使用者登入ftp伺服器時,該使用者在提示輸入密碼之前就被禁止了。即該使用者名稱輸入後,vsftpd就直接禁止掉該使用者,不會再進行詢問密碼等後續步驟。
一般配置的話:
以下幾項需要去掉前面的#號:
anonymous_enable=yes
local_enable=yes
write_enable=yes
anon_upload_enable=yes
anon_mkdir_write_enable=yes
ftp 存放檔案預設路徑在/var/ftp/pub目錄下,啟動ftp服務後,可能遇到一些問題,比如不能登入進去,或者不能寫目錄、寫檔案等,需注意的事項是的:
1、pub目錄的許可權不能全開,全開會報錯,chmod 755 -r pub
2、但是這樣也會帶來乙個問題,當匿名使用者登入後,在pub下的newftp目錄下想上傳乙個檔案,會報錯,因為匿名使用者(ftp)無法在該目錄下(該目錄屬於root使用者)建立乙個新檔案的,因為該目錄下他沒有許可權,所以要加入其他使用者(o)的寫許可權,chmod o+w /var/ftp/pub/newftp.
現在許可權變為:
drwxr-xrwx 2 root root 4096 06-20 16:55 newftp
其實就是757的許可權,此時匿名使用者(ftp)就可以在該目錄下上傳檔案了。
注:
比如ftp的預設目錄是/var/ftp 想把/mnt/winsoft資料夾,對映到/var/ftp目錄中
先在/var/ftp目錄中建乙個目錄
#mkdir /var/ftp/winsoft
然後執行mount命令
#mount --bind /mnt/winsoft /var/ftp/winsoft
這樣就ok了,還可以通過ln的方式處理。
linux及windows下訪問ftp服務只需使用「ftp ip位址」命令即可:
[root@ftkylin ~]# service vsftpd restart
shutting down vsftpd: [ ok ]
starting vsftpd for vsftpd: [ ok ]
[root@ftkylin ~]# ftp 172.19.1.52
connected to 172.19.1.52 (172.19.1.52).
220 (vsftpd 2.2.0)
name (172.19.1.52:root): anonymous
331 please specify the password.
password:
230 login successful.
remote system type is unix.
using binary mode to transfer files.
ftp>
本文章源自於【
LINUX下搭建FTP伺服器
1.作業系統環境 檢視作業系統核心 root rac1 uname a linux rac1 2.6.32 220.el6.x86 64 1 smp wed nov 9 08 03 13 est 2011 x86 64 x86 64 x86 64 gnu linux 檢視作業系統發行版本 root ...
Linux下搭建FTP伺服器
接到的工作任務是,開啟21埠的ftp服務,之前21和22都是可以使用的,現在21不可以使用了 之前進行了伺服器的公升級 22上的服務是sftp,21是ftp,二者之間的區別暫不進行整理 有待補充.使用如下命令 rpm qa grep vsftpd可以檢測出是否安裝了vsftpd軟體,如果沒有安裝,使...
linux下搭建ftp伺服器
不管是自己購買的伺服器還是在vm中構建的虛擬機器,首先保證機器可以連線網路,連線網路ok後我們就開始教程 安裝ftp yum install y vsftpd配置ftp etc init.d iptables stopchkconfig iptables offsetenforce 0vi etc ...