為了驗證區域網網路安裝Linux,近兩天做了一個實驗,目的就是為了寫一個比較完整的帖子.
約定:
1.本帖操作環境是Redhat 9.0,VSFTPD的版本是Redhat 9.0所帶的vsftpd-1.1.3-8.i386.rpm,在安裝盤的第三張中
2.VSFTPD實現的最基本的目的:用系統中存在的真實用戶能登入FTP,能用匿名訪問.
3.伺服器的IP和和DNS設定
第一塊網卡
IP:192.168.0.1
子掩碼:255.255.255.0
網關不設置:
第二塊網卡:
IP:192.168.0.2
子掩碼:255.255.255.0
網關不設置
因為我的操作環境是一個小型的區域網,
其它的機器的IP都是在192.168.0這個網段上.ADSL是接在伺服器的第一個網卡上.伺服器的第二個網卡是接集線器,其它的客戶機都是接在集線器上.為了能讓ADSL訪問internet,因為自己手動設置了IP,
DNS也要自己來設置,DNS如下:
202.96.134.133
202.96.168.68
設置工具是:
[root@linuxsir001 root]# redhat-config-network
一.用VSFTP來架設FTP伺服器,VSFTP伺服器是目前最好的FTP伺服器軟體,優點是體積小,可定製強,效率高
1.查看是否安裝了vsftpd軟體
[root@linuxsir001 root]# rpm -qa | grep vsftpd
如果沒有任何顯示,說明沒有把vsftpd安裝上,如果出現的是下面的這樣的提示,就證明已經安裝上了.
[root@linuxsir001 root]# rpm -qa | grep vsftpd
vsftpd-1.1.3-8
我以Redhat 9.0,以其自帶的vsftpd包vsftpd-1.1.3-8版本來為本帖約定.
[root@linuxsir001 root]# rpm -ivh vsftpd*.rpm
2.打開VSFTP伺服器.
[root@linuxsir001 root]# ntsysv
把vsftpd伺服器打開,也就是在運行 ntsysv命令后,把vsftpd服務選中.
[*] vsftpd
3.運行/etc/init.d/vsftpd start
[root@linuxsir001 root]# /etc/init.d/vsftpd start
為 vsftpd 啟動 vsftpd: [ 確定 ]
[root@linuxsir001 root]#
4.配製VSFTP,FVSFTP的運行有兩種模式,一種是stardard "initd模式,另外一種是xinetd模式,上面我們所說的就是stardard initd運行模式.兩種模式運行機制不是相同的,stardard initd模式,適合專業FTP,且FTP總是一直有人訪問,佔用資源也是比較大,如果您的FTP總是有人訪問和登入.就要用這種模式.如果您的FTP訪問人數比較小,建議您用xinetd模式.xinetd模式,是當用戶請求時,vsftpd才會啟動.
不同的環境,當然得用不同的啟動模式.
如果想了解更多的,請在本帖後面跟帖,我會慢慢補充xinetd模式,以及虛擬用戶如何設置方面的問題.
1]我們主要把vsftp的配製文件改一下就行了.配製文件在/etc/vsftpd/vsftpd.conf,用您喜歡的編輯器打開.請參考下面的配製文件.
# Example config file /etc/vsftpd.conf
#
# The default compiled in settings are very paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
#
# Allow anonymous FTP?
anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format
xferlog_std_format=YES
#
# You may change the default value for timing out an idle session.
#idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
#data_connection_timeout=120
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that turning on ascii_download_enable enables malicious remote parties
# to consume your I/O resources, by issuing the command "SIZE /big/file" in
# ASCII mode.
# These ASCII options are split into upload and download because you may wish
# to enable ASCII uploads (to prevent uploaded scripts etc. from breaking),
# without the DoS risk of SIZE and ASCII downloads. ASCII mangling should be
# on the client anyway..
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# You may fully customise the login banner string:
#ftpd_banner=Welcome to blah FTP service.
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd.banned_emails
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
#ls_recurse_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
#enable for standalone mode
listen=YES
tcp_wrappers=YES
2]更改完配製文件后,我們可以用下面的命令來重啟VSFTPD伺服器
[root@linuxsir001 root]# /etc/init.d/vsftpd restart
關閉 vsftpd: [ 確定 ]
為 vsftpd 啟動 vsftpd: [ 確定 ]
[root@linuxsir001 root]#
3]以匿名方式來訪問測試,在text模式下:
注意:在text模式下,要用用戶名ftp,密碼ftp來訪問,這才是在text中匿名訪問FTP.看如下的操作:
[root@linuxsir001 root]# ftp 192.168.0.1
Connected to 192.168.0.1.
220 (vsFTPd 1.1.3)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.0.1:root): ftp 這裡寫上ftp
331 Please specify the password.
Password:[這裡添寫ftp的密碼],匿名登入密碼也是ftp
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.