1. 先用rpm -qa| grep vsftpd指令檢查是否已經安裝,如果ftp沒有安裝,使用yum -y install vsftpd 安裝,(ubuntu 下使用apt-get install vsftpd)
2. service vsftpd start / service vsftpd restart
啟動要讓FTP每次開機自動啟動,執行指令: chkconfig --level 35 vsftpd on
#3. 設定ftp權限
vi /etc/vsftpd/vsftpd.conf
#將anonymous_enable=YES 改為anonymous_enable=NO
ESC返回,輸入「:wq」儲存並推出
/etc/vsftpd/vsftpd. conf
實驗一:
如果我不允許FTP匿名登陸,我們可以修改vsftpd的主設定檔來實作#vi /etc /vsftpd/vsftpd.conf 把anonymous_enable=YES 改為anonymous_enable=NO
windows中FTP伺服器可以設定歡迎詞,最大連線數,歡迎詞我們在Linux的FTP伺服器中設定呢?我要回答的是:同樣可以,我們同樣可以vsftpd的主設定檔來實作# vi /etc/vsftpd/vsftpd.conf |
2.设置欢迎信息
用户登录FTP服务器成功后,服务器可向登录用户输出预设置的欢迎信息。
ftpd_banner=Welcome to my FTP server.
//该配置项用于设置比较简短的欢迎信息。若欢迎信息较多,则可使用banner_file配置项。
banner_file=/etc/vsftpd/banner
//设置用户登录时,将要显示输出的文件。该设置项将覆盖ftpd_banner的设置。
dirmessage_enable=YES
//设置是否显示目录消息。若设置为YES,则当用户进入特定目录(比如/var/ftp/Linux)时,将显示该目录中的由message_file配置项指定的文件(.message)中的内容。
message_file=.message //设置目录消息文件。可将显示信息存入该文件。该文件需要放在 相应的目录(比如/var/ftp/linux)下
3.设置用户登录后所在的目录
local_root=/var/ftp
// 设置本地用户登录后所在的目录。默认配置文件中没有设置该项,此时用户登录FTP服务器后,所在的目录为该用户的主目录,对于root用户,则为/root目录。
anon_root=/var/ftp
//设置匿名用户登录后所在的目录。若未指定,则默认为/var/ftp目录。
4.控制用户是否允许切换到上级目录
在默认配置下,用户可以使用“cd..”命名切换到上级目录。比如,若用户登录后所在的目录为/var/ftp,则在“ftp>”命令行 下,执行“cd..”命令后,用户将切换到其上级目录/var,若继续执行该命令,则可进入Linux系统的根目录,从而可以对整个Linux的文件系统 进行操作。
若设置了write_enable=YES,则用户还可对根目录下的文件进行改写操作,会给系统带来极大的安全隐患,因此,必须防止用户切换到Linux的根目录,相关的配置项如下:
chroot_list_enable=YES
// 设置是否启用chroot_list_file配置项指定的用户列表文件。设置为YES则除了列在j/etc/vsftpd/chroot_list文件中的的帐号外,所有登录的用户都可以进入ftp根目录之外的目录。默认NO
chroot_list_file=/etc/vsftpd/chroot_list
// 用于指定用户列表文件,该文件用于控制哪些用户可以切换到FTP站点根目录的上级目录。
chroot_local_user=YES
// 用于指定用户列表文件中的用户,是否允许切换到上级目录。默认NO
注意:要对本地用户查看效果,需先设置local_root=/var/ftp
具体情况有以下几种:
1)当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到上级目录;未在文件中列出的用户,不能切换到站点根目录的上级目录。
2)当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到站点根目录的上级目录;未在文件中列出的用户,可以切换到上级目录。
3)当chroot_list_enable=NO,chroot_local_user=YES时,所有用户均不能切换到上级目录。
4)当chroot_list_enable=NO,chroot_local_user=NO时,所有用户均可以切换到上级目录。
5)当用户不允许切换到上级目录时,登录后FTP站点的根目录“/”是该FTP账户的主目录,即文件的系统的/var/ftp目录。
5.设置访问控制
(1)设置允许或不允许访问的主机(见TBP14)
tcp_wrappers=YES用来设置vsftpd服务器是否与tcp wrapper相结合,进行主机的访问控制。默认设置为YES,vsftpd服务器会检查/etc/hosts.allow和/etc /hosts.deny中的设置,以决定请求连接的主机是否允许访问该FTP服务器。这两个文件可以起到简易的防火墙功能。
比如,若要仅允许192.168.168.1~192.168.168.254的用户,可以访问连接vsftpd服务器,则可在/etc/hosts.allow文件中添加以下内容:
vsftpd:192.168.168.0/255.255.255.0 :allow
all:all:deny
(2)設定允許或不允許存取的使用者
對使用者的存取控制由/etc/vsftpd/user_list和/etc/vsftpd/ftpusers檔案來控制實作。相關設定指令如下:
userlist_enable=YES
// 決定/etc/vsftpd/user_list檔案是否啟用生效。 YES則生效,NO不生效。
userlist_deny=YES
// 決定/etc/vsftpd/user_list檔案中的使用者是允許存取或不允許存取。若設定為YES,則/etc/vsftpd/user_list 檔案中的使用者將不允許存取FTP伺服器;若設定為NO,則只有vsftpd.user_list檔案中的用戶,才能存取FTP伺服器。
6.設定存取速度
anon_max_rate=0
//設定匿名使用者所能使用的最大傳輸速度,單位為b/s。若設定為0,則不受速度限制,此為預設值。
local_max_rate=0
// 設定本地使用者所能使用的最大傳輸速度。預設為0,不受限制。
7.定義使用者設定檔
在vsftpd伺服器中,不同使用者還可使用不同的配置,這要透過使用者設定檔來實現。
user_config_dir=/etc/vsftpd/userconf //用於設定使用者設定檔所在的目錄。
設定了該設定項後,當使用者登入FTP伺服器時,系統就會到/etc/vsftpd/userconf目錄下讀取與目前使用者名稱相同的文件,並根據檔案中的設定指令,對目前用戶進行更進一步的配置。例如,利用使用者設定文件,可實現對不同使用者進行存取的速度進行控制,在各使用者設定檔中,定義 local_max_rate配置,以決定該使用者允許的存取速度。
8.與連線相關的設定
listen=YES
//設定vsftpd伺服器是否以standalone模式運作。以standalone模式運作是一種較好的方式,此時listen必須設定為YES, 此為預設值,建議不要更改。很多與伺服器運作相關的設定指令,需要此運作模式才有效。若設定為NO,則vsftpd不是以獨立的服務運行,要受 xinetd服務的管理控制,功能上會受限制。
max_clients=0
//設定vsftpd允許的最大連接數,預設為0,表示不受限制。若設定為150時,同時允許有150個連接,超出的將拒絕建立連接。只有在以standalone模式運作時才有效。
max_per_ip=0
// 設定每個IP位址允許與FTP伺服器同時建立連線的數目。預設為0,不受限制。通常可對此配置進行設置,防止同一個使用者建立太多的連接。只有在以standalone模式運作時才有效。
listen_address=IP位址
//設定在指定的IP位址上偵聽使用者的FTP要求。若不設置,則對伺服器所綁定的所有IP位址進行偵聽。只有在以standalone模式運作時才有效。 對於只綁定了一個IP位址的伺服器,不需要設定該項,預設情況下,設定檔中沒有該設定項。若伺服器同時綁定了多個IP位址,則應透過該設定項,指定在哪 個IP位址上提供FTP服務,即指定FTP伺服器所使用的IP位址。
注意:設定此值前後,可透過netstat -tnl比較埠的監聽狀況
accept_timeout=60
#//設定建立被動式(PASV)資料連接的逾時時間,單位為秒,預設值為60。
connect_timeout=60
// PORT方式下建立資料連線的逾時時間,單位為秒。
data_connection_timeout=300
//設定建立FTP資料連線的逾時時間,預設為300秒。
idle_session_timeout=600
//設定多久不對FTP伺服器進行任何操作,則斷開該FTP連接,單位為秒,預設為600秒。即設定發呆的逾時時間,在這個時間內,若沒有資料傳送或指令的輸入,則會強行斷開連線。
pam_service_name=vsftpd
//設定PAM所使用的名稱,預設值為vsftpd。
setproctitle_enable=NO|YES
//設定每個與FTP伺服器的連接,是否以不同的進程表現出來,預設值為NO,此時只有一個名為vsftpd的進程。若設定為YES,則每個連線都會有一個vsftpd進程,使用「ps -ef|grep ftp」指令可查看到詳細的FTP連線資訊。安全起見,建議關閉。
9. FTP運作方式與連接埠設定
(1)FTP運作方式簡介
FTP的工作方式有兩種,一種是PORT FTP,另一種是PASV FTP。下面介紹其工作方式。
二者的差別在於PORT FTP的資料傳輸埠是由FTP伺服器指定的,而PASV FTP則是由FTP客戶端指定的,而且每次資料連線所使用的連接埠號碼都不同。正因為如此,所以在CuteFTP等FTP客戶端軟體中,其連線類型設定項目中有PORT和PASV兩種選擇。
當FTP伺服器設定為PASV工作模式時,客戶端也必須設定為PASV連線類型。若客戶端連接類型設定為PORT,則能建立FTP連接,但在執行ls或get等需要資料請求的命令時,將會出現無回應並最終報告無法建立資料連接。
(2)與連接埠相關的設定
listen_port=21
// 設定FTP磁碟建立連線所偵聽的伺服器,而預設值為21。
連接非標準連接埠範例:ftp www.sunflower.org 7000
connect_from_port_20=YES
// 預設值為YES,指定FTP資料傳輸連線使用20連接埠。若設定為NO,則進行資料連接時,所使用的連接埠由ftp_data_port指定。
ftp_data_port=20
//設定PORT方式下FTP資料連線所使用的連接埠,預設值為20。
pasv_enable=YES|NO
//若設定為YES,則使用PASV工作模式;若設定為NO,使用PORT模式。預設為YES,即使用PASV模式。
pasv_max_port=0
//設定在PASV運作方式下,且資料連線可使用的連接埠範圍的上界。預設值為0,表示任意連接埠。
pasv_mim_port=0
//設定在PASV運作方式下,且資料連線可使用的連接埠範圍的下界。預設值為0,表示任意連接埠。
10.設定傳輸模式
FTP在傳輸資料時,可使用二進位(Binary)方式,也可使用ASCII模式上傳或下載資料。
ascii_download_enable=YES //設定是否啟用ASCII模式下載資料。預設為NO。
ascii_upload_enable=YES //設定是否啟用ASCII模式上傳資料。預設為NO。
11.設定上傳文件的所屬關係和權限
(1)設定匿名上傳文件的屬主
chown_uploads=YES
#//用於設定是否改變匿名使用者上傳的文件的屬主。預設為NO。若設定為YES,則匿名使用者上傳的文件的屬主將被設定為chown_username配置項目所設定的使用者名稱。
chown_username=whoever
//設定匿名使用者上傳的文件的屬主名。只有chown_uploads=YES時才有效。建議不要設定為root用戶。 但係統默root
(2)新增文件的權限設定
local_umask=022
//設定本機使用者新增文件的umask,預設為022,對應的權限為755。 umask為022,對應的二進制數為000 010 010,將其取反為111 101 101,轉換成十進制數,即為權限值755,代表文檔的所有者(屬主)有讀寫執行權,所屬組有讀和執行權,其他使用者有讀和執行權。 022適合大多數情 況,一般不需要更改。若設定為077,則對應的權限為700。
anon_umask=022 //以新增文件的umask設定匿名使用者。預設077
file_open_mode=0755 //設定上傳文件的權限。權限採用數字格式。 預設0666
#12.日誌檔案
xferlog_enable=YES //是否已啟用上傳/下載記錄。預設為NO
xferlog_file=var/log/vsftpd.log //設定日誌檔案名稱及路徑。需啟用xferlog_enable選項
xferlog_std_format=YES //日誌檔案是否使用標準的xferlog日誌檔案格式(與wu-ftpd所使用的格式相同) 。預設為NO
#
13.其他設定
text_userdb_names=NO
//設定執行ls指令時,顯示UID、GID或顯示特定的使用者名稱或群組名稱。預設為NO,以UID和GID方式顯示,若希望顯示使用者名稱和群組名稱,則設定為YES。
ls_recurse_enable=YES
//若設定為YES,則允許執行「ls –R」這個指令,預設值為NO。在設定檔中該組態項目被註解掉了,與此類似的還有一些配置,需要啟用時,將註解符號去掉並進行YES或NO的設定即可
#
以上是Linux中如何設定ftp伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!