您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)Suse Linux 10下如何安裝配置vsftpd,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
一、下載
vsftpd的下載地址:
ftp://vsftpd.beasts.org/users/cevans/
下載的是源代碼壓縮包vsftpd-2.0.5.tar.gz文件,解壓縮:
tar xzvf vsftpd-2.0.5.tar.gz
得到文件夾vsftpd-2.0.5,我將其拷貝到/usr/local/src目錄下。
二、編譯
一般vsftpd需要有nobody這個(gè)用戶,該用戶一般已存在,如果不存在,使用useradd nobody建立。
而且安裝時(shí)需要/usr/share/empty作為臨時(shí)目錄,一般已存在。(可是我的系統(tǒng)上就沒有,需要我自己建立)。查看Makefile文件得知如何編譯,然后編譯:
make vsftpd
然后安裝:
make install
安裝完畢,此時(shí)查看/etc/xinetd.d/目錄下多出了vsftpd腳本。
三、配置
vsftpd
中常用的配置文件有兩個(gè):/etc/ftpusers和/etc/vsftpd.conf,其中以/etc/vsftpd.conf最為重要。但我安裝完
之后發(fā)現(xiàn)/etc下并沒有vsftpd.conf文件,我將源代碼文件夾里的vsftpd.conf文件復(fù)制到/etc目錄下。
(1)/etc/ftpusers
這個(gè)配置文件很簡(jiǎn)單,只要用戶的名字在此文件內(nèi),便不能使用FTP。
(2)/etc/vsftpd.conf:vsftpd的主要設(shè)定文件
vsftpd.conf中參數(shù)眾多,現(xiàn)在我們一個(gè)個(gè)介紹它們:
#如果不修改這個(gè)文件,就可以得到一個(gè)最小設(shè)置的匿名FTP服務(wù)器
#默認(rèn)的設(shè)定只允許利用anonymous登錄
#write_enable=YES
#write_enable=YES為允許用戶有寫的權(quán)限,默認(rèn)值為NO
#dirmessage_enable=YES
#當(dāng)用戶進(jìn)入某個(gè)目錄時(shí),如果該目錄存在.message文件,則會(huì)顯示該文件的內(nèi)容,通常用來告知
#此目錄存放文件的信息,默認(rèn)值為NO
#nopriv_user=ftpsecure
#指定vsftpd以何帳號(hào)提供FTP服務(wù),默認(rèn)值是nobody。這樣即使被cracker***vsftpd,cracker也僅能取得nobody的權(quán)限。
#ls_recurse_enable=YES
#ls_recurse_enable默認(rèn)值為YES,代表禁用ls -Rl /,因?yàn)檫@個(gè)指令會(huì)耗費(fèi)大量系統(tǒng)資源。
#no_anon_password=NO
#no_anon_password默認(rèn)值為NO,代表anonymous不用輸入密碼就可登錄FTP服務(wù)器。
#hide_ids=YES
#默認(rèn)值為NO,若設(shè)置為YES,則登錄FTP服務(wù)器會(huì)發(fā)現(xiàn)所有文件及目錄其所有者及群組均為ftp
####################################################################
# Local FTP user Settings
# 有關(guān)本機(jī)用戶的FTP相關(guān)設(shè)置(/etc/passwd中普通用戶帳號(hào))
####################################################################
#local_enable=YES
#local_enable默認(rèn)值為NO,代表/etc/passwd中普通用戶不能使用FTP服務(wù)。
#local_umask=022
#local-umask的意義是Local User上傳文件時(shí),文件權(quán)限會(huì)使用所指定的umask加以運(yùn)算,默認(rèn)值為077
#chroot_local_user=YES
#chroot_local_user的用途是將用戶的HOME目錄變?yōu)槠銯TP登錄后的根目錄,如此一來,所有Local User
#便不能離開起home目錄。其默認(rèn)值為NO。
#chroot_list_enable=YES
# chroot_list_file=/etc/vsftpd.chroot_list
#若不想利用chroot_local_user=YES把所有本地用戶(Local User)都限制在其home目錄,
#可利用chroot_list_enable=YES設(shè)定值,將某些帳號(hào)限制在home目錄下
#當(dāng)chroot_list_enable=YES時(shí),登錄用戶名字若在/etc/vsftpd.chroot_list內(nèi)
#則會(huì)啟用chroot機(jī)制,將這個(gè)用戶限制在其home目錄下。
#chroot_list_enable默認(rèn)值是NO,chroot_list_file默認(rèn)值為/etc/vsftpd.chroot_list
#local_max_rate=7200
#local_max_rate用來限制Local user每秒的最高傳輸速度
#其單位是bytes/sec,默認(rèn)值為0,就是沒有限制。
################################################################
# Anonymous用戶的相關(guān)配置
################################################################
#anonymous_enable=YES
#anonymous_enable=YES,允許用戶可用匿名(anonymous)或ftp帳號(hào),不用密碼就可登錄FTP服務(wù)器,默認(rèn)值是YES。
#anon_world_readable_only=YES
#anon_world_readable_only=YES,用來限制匿名(anonymous)用戶只能下載有開放Other可以write的文件,其默認(rèn)值為YES。
#anon_upload_enable=YES
#anon_upload_enable用來限制匿名(anonymous)用戶可否上傳文件,默認(rèn)值為NO。
#anon_umask=022
#anon_umask的意義是匿名(anonymous)用戶上傳文件時(shí),文件權(quán)限會(huì)用所指定的umask加以運(yùn)算,默認(rèn)值為077。
#anon_mkdir_write_enable=YES
#anon_mkdir_write_enable允不允許anonymous用戶建立目錄,其默認(rèn)值為NO。
#anon_other_write_enable=YES
#所否允許anonymous用戶有write的權(quán)限,不過記得通過anon_other_write_enable的限制后,
#還得看打算寫的目錄或文件的權(quán)限允不允許anonymous用戶write。
#chown_uploads=YES
#chown_username=whoever
#chown_uploads用戶指定anonymous帳號(hào)上傳的文件是否要改變其所有者。
#chown_uploads默認(rèn)值為NO,chown_username用來指定新的所有者。
#anon_max_rate=7200
#anon_max_rate用來限制anonymous用戶每秒的最高傳輸速度,
#其單位是bytes/sec,默認(rèn)值是0,就是沒有限制。
###############################################################
# Log Settings
# 有關(guān)FTP日志的相關(guān)規(guī)定
###############################################################
#syslog_enable=YES
#syslog_enable=YES會(huì)將本來應(yīng)記錄在/var/log/vsftpd.log的信息,轉(zhuǎn)而傳給syslogd daemon,
#由syslogd的配置文件決定存于何位置。syslog_enable默認(rèn)值為NO。
#log_ftp_protocol=YES
#log_ftp_protocol=YES會(huì)將所有FTP有關(guān)的請(qǐng)求和回應(yīng)全部記錄,其默認(rèn)值為NO。
#xferlog_enable=YES
#xferlog_enable=YES會(huì)詳細(xì)記錄有關(guān)上傳/下載的信息,其默認(rèn)值為NO。
#vsftpd_log_file=/var/log/vsftpd.log
#vsftpd_log_file可用來指定vsftpd的log文件位置。
#xferlog_std_format=YES
#xferlog_std_format默認(rèn)值為NO,若設(shè)定為YES,則log內(nèi)容會(huì)采用標(biāo)準(zhǔn)xferlog格式(wu-ftpd日志文件所采用的格式)。
#xferlog_file=/var/log/xferlog
#xferlog_file用來指定wu-ftpd格式的log的存放位置。
#dual_log_enable=YES
#dual_log_enable默認(rèn)值為NO,若設(shè)定為YES,則/var/log/xferlog和/var/log/vsftpd.log均會(huì)記錄FTP相關(guān)日志。
#setproctitle_enable=YES
#setproctitle_enable默認(rèn)值為NO,若設(shè)定為YES,則查看系統(tǒng)進(jìn)程狀態(tài)時(shí),會(huì)列出ftp連接的狀態(tài)。
#例如執(zhí)行 ps -ef | grep vsftp 可看到誰(shuí)正在連接。
#nobody 4424 ... vsftpd: 127.0.0.1: not logged in
################################################################
# Transfer Settings
# 傳輸文件的相關(guān)規(guī)定
################################################################
#connect_from_port_20=YES
#connect_from_port_20=YES代表主動(dòng)模式的數(shù)據(jù)連接是用端口20,其默認(rèn)值為NO。
#idle_session_timeout=600
#idle_session_timeout設(shè)定FTP客戶端多久未執(zhí)行任何ftp指令操作,便將其斷線,默認(rèn)值為300秒。
#data_connection_timeout=120
#允許數(shù)據(jù)傳輸時(shí)idle的秒數(shù),默認(rèn)值是300秒。
#async_abor_enable=YES
#async_abor_enable的默認(rèn)值為NO,必須要FTP客戶端有支持async_abort的機(jī)制才可以打開。
#ascii_upload_enable=YES
#ascii_upload_enable的默認(rèn)值為NO,若設(shè)為YES則用戶可用ascii方式上傳數(shù)據(jù),不過若啟用此參數(shù)可能會(huì)
#導(dǎo)致Dos***,所以采用默認(rèn)值。
#ascii_download_enable=YES
#同上,ascii_download_enable默認(rèn)值為NO,若設(shè)為YES則用戶可用ascii方式下載數(shù)據(jù),不過若啟用此參數(shù)可能會(huì)
#導(dǎo)致Dos***,所以采用默認(rèn)值。
#pasv_enable=NO
#pasv_enable默認(rèn)值為YES,若設(shè)為NO,F(xiàn)TP客戶端則無(wú)法使用被動(dòng)模式FTP。
#pam_service_name=vsftpd
#vsftpd PAM模塊的名稱,起存放在/etc/pam.d/目錄。
#listen=YES
#listen默認(rèn)值為NO,若設(shè)定為YES,則vsftpd會(huì)用standalone方式啟動(dòng)。
啟動(dòng)vsftpd服務(wù)語(yǔ)句:
#service vsftpd start(重啟restart/停止stop)
#/etc/init.d/vsftpd start (重啟restart/停止stop)
四、裝完之后的問題
但裝完之后問題多多,根本沒法成功:(1)
先是FTP的的主目錄問題,雖然配置文件里允許匿名用戶上傳文件,但FTP主目錄/srv/ftp卻并不是允許任何用戶有寫的權(quán)限,所以必須在該目錄下建
立一個(gè)允許ftp這個(gè)匿名用戶寫的目錄,我在/srv/ftp/目錄下又建了兩個(gè)目錄incoming,pub,其中incoming目錄的權(quán)限允許其他
用戶讀和寫,pub目錄允許其他用戶讀,但不可寫。(2)并不是某個(gè)目錄允許寫或讀,其下的文件就允許寫或讀,要想理想中的操作,還必須更改文件
的權(quán)限。例如,我想下載incoming目錄中的某文件,而該文件并不允許匿名用戶讀的話,就沒法下載。所以我更改配置文件,將匿名用戶上傳的文件的權(quán)限
都改成匿名用戶可以下載的,方法是將anon_umask=022,注意這個(gè)022是一個(gè)八進(jìn)制數(shù),其實(shí)是0022。(3)還有就是開放端口的問
題,比如我開放的FTP端口是10021,必須在SuseFirewall2中開放此端口,由于FTP的數(shù)據(jù)傳輸使用另一條連接,在被動(dòng)模式下(個(gè)人比較
喜歡被動(dòng)模式,因?yàn)樗梢越鉀Q某些防火墻的問題),要開放一個(gè)端口范圍(通過pasv_max_port和pasv_min_port指定),我為了方便
SuseFirewall2開放端口的方便,將這兩個(gè)值都設(shè)為50000,這樣SuseFirewall2就只需要再開放50000端口就行了,而不用開
放一個(gè)范圍。(4)最后就是路由器的NAT問題,如果是在有網(wǎng)關(guān)的局域網(wǎng)內(nèi)建FTP服務(wù)器,必須將外面對(duì)網(wǎng)關(guān)IP(路由器對(duì)外IP)某端口的連接轉(zhuǎn)發(fā)到內(nèi)網(wǎng)的那臺(tái)服務(wù)器的IP的相應(yīng)端口上。我最后是讓vsftpd以standalone的方式運(yùn)行,所以listen=YES得啟用,且使用的是被動(dòng)模式,故pasv_enable=YES要啟用。
看完上述內(nèi)容,你們對(duì)Suse Linux 10下如何安裝配置vsftpd有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。