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