『壹』 如何在虛擬機上的linux系統配置FTP服務,跟Windows建立連接傳輸文件
在虛擬機上的Linux系統配置FTP服務,跟Windows建立連接傳輸文件的具體操作步驟如下:
1、在電腦上下載並安裝好小型FTP伺服器(Quick Easy FTP Server) 軟體,打開進行設置用戶名,用於遠程登錄。
『貳』 linux創建ftp伺服器的基本命令
快速構建FTP伺服器,FTP伺服器實現的基本功能是,下面就分幾個步驟來搭建一個可以實現功能的簡易FTP伺服器。
1.安裝FTP伺服器
如果在安裝系統時沒有選擇安裝FTP伺服器,可以通過Red Hat中的「添加/刪除應用程序」進行安裝。具體方法是,選擇「主選單」→「」→「添加/刪除應用程序」,在彈出的界面中選中FTP伺服器,單擊「更新」即可。
如果無法確認是否安裝了該軟體,可以使用以下命令查看:
2.啟動FTP伺服器
套用Red Hat 9.0的預設範例直接啟動VSFTP。
為vsftpd啟動vsftpd: [確定]
3.在/var/ftp/pub目錄下創建一個名為test.txt的文件
文件內容為「This is a test file」。
4.測試
使用FTP客戶端登錄到本地伺服器,然後以匿名身份(anonymous)登錄:
# ftp 127.0.0.1Connected to 127.0.0.1 (127.0.0.1).220 (vsFTPd 1.1.3)Name (127.0.0.1:root): anonymous331 Please specify the pass.Password:230 Login successful. Have fun.Remote system type is UNIX.Using binary mode to transfer files.
這樣就成功地登錄到FTP伺服器。可以顯示伺服器目錄列表如下:
ftp ls227 Entering Passive Mode (127,0,0,1,63,15)drwxr-xr-x 2 0 0 4096 Dec 04 01:35 pub226 y send OK.
切換到pub目錄下,並顯示目錄內容,可以找到剛才創建的文件test.txt:
ftp cd pub250 Directory successfully changed.ftp ls227 Entering Passive Mode (127,0,0,1,232,34)150 Here comes the directory listing.-rw-r--r-- 1 0 0 21 Dec 04 01:35 test.txt226 Directory send OK.
下載test.txt文件:
ftp mget test.txtmget test.txt? y227 Entering Passive Mode (127,0,0,1,186,210)150 Opening BINARY mode data connection for test.txt (21 bytes).226 File send OK.21 bytes received in 0.0108 secs (1.9 Kbytes/sec)
查看本機目錄內容,可以看到test.txt已成功下載到本機。
ftp !lsa EIO_Binders initrd mnt proc tftpboot ylg.txtbin etc lib mymnt root tmpboot home lost+found myshare sbin usrdev id_dsas.pub misc opt test.txt var
嘗試上傳名為ylg.txt的文件,可以看到請求被拒絕了。
ftp put ylg.txtlocal: ylg.txt remote: ylg.txt227 Entering Passive Mode (127,0,0,1,243,10)550 Permission dend.
退出登錄:
由測試可以看出,已經可以下載文件,但不能上傳文件(也不能在伺服器上創建目錄和文件)。實際上這是一個專門提供下載服務的匿名FTP伺服器。
從上面的步驟可以看出,並不需要做什麼配置就可以完成一個簡易FTP伺服器的架設。這是因為Red Hat已經配置好一個預設的FTP伺服器。不過在實際應用中,大部分情況下這個簡易的伺服器並不能滿足需求。
進一步配置FTP
下面將創建一個能夠滿足常用需求的FTP伺服器。實際應用中,FTP伺服器一般要同時提供和功能。此外,出於安全考慮,還需要有用戶身份驗證、用戶許可權設置及空間管理等。下面就來搭建這樣一個FTP伺服器。
1.創建歡迎語
如果希望使用者在進入目錄時,能夠看到歡迎語或對本目錄的介紹,可以通過以下方法來實現。
確定/etc/vsftpd/vsftpd.conf文件中dirmessage_enable=YES,默認情況下,Red Hat 9.0有此設置。接著,在目錄中新增名為.message的文件。本例在/home/ylg目錄下創建一個.message文件,其內容為「歡迎來到我的 FTP站點」。
2.更換FTP伺服器的默認埠
將預設的21埠改為2121,這樣做是基於安全的考慮。更改方法為,使用vi打開/etc/vsftpd/vsftpd.conf:#vi /etc/vsftpd/vsftpd.conf
在文件最後增加如下一行內容:
3.取消anonymous登錄的功能
在vsftpd.conf文件中找到如下一行,並將其值改為「NO」:anonymous_enable=YES
4.設定使用者不得更改目錄
這樣做的目的也是基於安全性的考慮。一般情況下,使用者的預設目錄為/home/username。若是不希望使用者在登錄後能夠切換至上一層目錄/home,則可通過以下設置來實現。在/etc/vsftpd/vsftpd.conf文件中找到以下三行內容:
#chroot_list_enable=YES# (default follows)#chroot_list_file=/etc/vsftpd.chroot_list
將其改為:
chroot_list_enable=YES# (default follows)chroot_list_file=/etc/vsftpd/chroot_list
新增一個文件/etc/vsftpd/chroot_list,文件內容為兩個用戶名:
5.針對不同的使用者限制不同的速度
假設用戶ylg所能使用的最高速度為500Kb/s,用戶user1所能使用的最高速度為250Kb/s,可以通過以下方法設置。在/etc/vsftpd/vsftpd.conf文件尾部新增以下一行:
增加一個名為/etc/vsftpd/userconf的目錄:
在/etc/vsftpd/userconf下新增一個名為ylg的文件,其內容如下所示:
local_max_rate=500000
在/etc/vsftpd/userconf目錄下新增一個名為user1的文件,其內容如下所示:
local_max_rate=250000
VSFTP對於速度的限制范圍大概在80%到120%之間,也就是限制最高速度為100Kb/s,但實際的速度可能在80Kb/s到120Kb/s之間。如果頻寬不足,數值會低於此限制。6.對於每一個聯機用戶,都以獨立的進程來運行。一般情況下,在啟動VSFTP時,只會看到一個名為vsftpd的進程在運行。但若是讀者希望每一個聯機用戶都能以獨立的進程來呈現,則可通過在/etc/vsftpd/vsftpd.conf文件中增加以下一行來實現:
setproctitle_enable=YES
6.保存/etc/vsftpd/vsftpd.conf文件,然後重新啟動vsftpd:
7.測試剛創建的FTP伺服器
以預設方式登錄會被拒絕,因為此時的默認埠號已經更改為2121,所以登錄時需指定埠。
此時也不能再使用匿名方式登錄:
# ftp 127.0.0.1 2121Connected to 127.0.0.1 (127.0.0.1).220 (vsFTPd 1.1.3)Name (127.0.0.1:root): anonymous331 Please specify the pass.Password:530 Login incorrect.Login failed.
如果以用戶ylg則可以成功登錄(指定埠2121),並顯示歡迎信息:
# ftp 127.0.0.1 2121Connected to 127.0.0.1 (127.0.0.1).220 (vsFTPd 1.1.3)Name (127.0.0.1:root): ylg331 Please specify the password.Password:230-歡迎來到我的FTP站點230 Login successful. Have fun.Remote system type is .Using binary mode to transfer files.
因為在設置中設定了不能切換目錄,所以下列命令無法正確執行:
550 Failed to change y.
再來測試一下上傳和。首先下載伺服器目錄中的test.txt文件:
ftp get test.txtlocal: test.txt remote: test.txt227 Entering Passive Mode (127,0,0,1,243,215)150 Opening BINARY mode data connection for test.txt (21 bytes).226 File send OK.21 bytes received in 0.00308 secs (6.7 Kbytes/sec)
可以通過!ls命令看到本機目錄中已成功下載該文件。然後上傳本機目錄中的ylg.txt文件到伺服器:
ftp put ylg.txtlocal: ylg.txt remote: ylg.txt227 Entering Passive Mode (127,0,0,1,133,248)150 Ok to send data.226 File receive OK.19 bytes sent in 0.0401 secs (0.46 Kbytes/sec)
用ls命令查看伺服器目錄,會發現該文件已成功上傳。
為了測試不同連機用戶使用的是不同進程,可以使用ps -ef指令
『叄』 linux中ftp怎麼搭建
1. 為了系統安全,一般會建立一個ftp用戶,此用戶不能登陸系統,且只能訪問自己主目錄下的文件。
useradd -d /var/ftp/test -g ftp -s /sbin/nologin ftpuser
其中,-d命令是指定用戶主目錄,-g是指定用戶分組,-s /sbin/nologin 是禁止用戶登陸系統,最後ftpuser是本次新建用戶的用戶名。
然後設置密碼:passwd fptuser
2. 配置用戶可登陸名單,並將新建用戶添加進入ftp可登陸名單中。
配置用戶名單的方式是:打開配置文件,找到如下兩行行,去掉其注釋符號。
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
這樣就定義了一個用戶名單,只有名單中的用戶可以登陸系統。
3. 創建這個/etc/vsftpd/chroot_list 文件,將可以訪問的用戶名 ftpuser 添加進去。然後重啟ftp服務即可。
操作解釋:
-d /var/ftp/test ---------------------------------- 遠程機器訪問這台ftp伺服器的根目錄,文件列表與這個目錄一致。
useradd/passwd --------------------------------- 本地的用戶名和密碼
/etc/vsftpd/chroot_list --------------------------- 將本地用戶名XX作為ftp用戶名