『壹』 告訴你怎麼在linux里進行阿里雲伺服器FTP配置的方法
在國內,大部分朋友都習慣使用阿里雲伺服器,因為這是國內最好的雲伺服器了,不過有的Linux用戶並不知道阿里雲下如何進行FTP伺服器的搭配配置。現在就讓我來教大家設置方法,希望能幫到大家。
設置方法:
aliyun
Linux(Redhat)安裝vsftp軟體
1.更新yum源
首先需要更新系統的yum源,便捷工具下載地址:update_source.zip。這里需要注意的是,目前文件無法傳輸,所以想要運行
update_source.sh
只能用文本打開,復制粘貼到阿里雲伺服器系統運行。
2.安裝vsftp
使用yum命令安裝vsftp
#yum
install
vsftpd
-y
3.添加ftp帳號和目錄
先檢查一下nologin的位置,通常在/usr/sbin/nologin或者/sbin/nologin下。
使用下面的命令創建帳戶,該命令指定了/ftp為用戶test的家目錄,您可以自己定義帳戶名和目錄:
#useradd
-d
/ftp
-s
/sbin/nologin
test
修改該帳戶密碼:
#passwd
test
修改指定目錄的許可權
#chown
-R
test:test
/ftp
4.配置vsftp
編輯vsftp配置文件,命令如下:
#vi
/etc/vsftpd/vsftpd.conf
將配置文件中」anonymous_enable=YES
「改為
「anonymous_enable=NO」
取消如下配置前的注釋符號:
#local_enable=YES
#write_enable=YES
#chroot_local_user=YES
#ascii_upload_enable
允許使用ascii碼上傳
#ascii_download_enable
允許使用ascii碼下載
保存修改,按ESC鍵,輸入:wq
5.修改shell配置
vi編輯/etc/shells,如果該文件里沒有/usr/sbin/nologin或者/sbin/nologin(具體看當前系統配置)則追加進去
6.啟動vsftp服務並測試登錄
使用命令啟動vsftp服務:
#service
vsftpd
start
然後用帳號test測試下是否可以登陸ftp。目錄是/ftp
通過上面的步驟,我們就可以成功的設置好FTP伺服器搭配配置了,還不清楚的用戶,就按照上面的步驟進行設置吧。
『貳』 如何檢測linux系統下ftp伺服器是否開啟
檢測linux系統下ftp伺服器是否開啟的方法如下:
1、第一步,打開一台Linux的電腦,進入到輸入shell指令的命令行狀態下,如下圖所示。
『叄』 Linux下的FTP伺服器性能怎麼去測試
以前弄了一個FTP的腳本,拿出來大家隨便看看:
ftp1 = 0;
ftp_logon_ex(&ftp1, "FtpLogon",
"URL=ftp://Zee:1234@ZEE",
LAST);
lr_start_transaction("logon");
ftp2 = 0;
ftp_logon_ex(&ftp2, "FtpLogon",
"URL=ftp://Zee:1234@ZEE",
LAST);
ftp_dir_ex(&ftp2, "FtpDir",
"PATH=", "PASSIVE=TRUE", ENDITEM,
LAST);
ftp_dir_ex(&ftp2, "FtpDir",
"PATH=/", "PASSIVE=TRUE", ENDITEM,
LAST);
lr_end_transaction("logon", LR_AUTO);
ftp_get_ex(&ftp2, "Get_Files",
"SOURCE_PATH=/1.txt",
"TARGET_PATH=d:/1.txt",
"MODE=ASCII",
ENDITEM ,
LAST);
ftp_put_ex(&ftp2, "FtpPut",
"SOURCE_PATH=ftpfile_1.dat", "TARGET_PATH=/1.mdb", ENDITEM,
LAST);
ftp_delete_ex(&ftp2, "FtpDelete",
"PATH=/1.txt", ENDITEM,
LAST);
ftp_mkdir_ex(&ftp2, "FtpMakeDir",
"PATH=/新文件夾");
ftp_dir_ex(&ftp2, "FtpDir",
"PATH=/", "PASSIVE=TRUE", ENDITEM,
LAST);
ftp_rendir_ex(&ftp2, "FtpRenDir",
"SOURCE_DIR=/新文件夾", "TARGET_DIR=/2", ENDITEM,
LAST);
ftp_logout_ex(&ftp2);
ftp_logon_ex(&ftp2, "FtpLogon",
"URL=ftp://Zee:1234@ZEE",
LAST);
ftp_dir_ex(&ftp2, "FtpDir",
"PATH=", "PASSIVE=TRUE", ENDITEM,
LAST);
ftp_dir_ex(&ftp2, "FtpDir",
"PATH=/", "PASSIVE=TRUE", ENDITEM,
LAST);
ftp_delete_ex(&ftp2, "FtpDelete",
"PATH=/2.txt", ENDITEM,
LAST);
ftp_logout_ex(&ftp2);
ftp_logout_ex(&ftp1);
zee神寫的
『肆』 linux怎麼搭建ftp伺服器
第一步:在 Ubuntu 中安裝 VSFTPD 伺服器
首先,我們需要更新系統安裝包列表,然後像下面這樣安裝 VSFTPD 二進制包:
$ sudo apt-get update
$ sudo apt-get install vsftpd
一旦安裝完成,初始情況下服務被禁用。因此,我們需要手動開啟服務,同時,啟動它使得在下次開機時能夠自動開啟服務:
------------- On SystemD -------------
# systemctl start vsftpd
# systemctl enable vsftpd
------------- On SysVInit -------------
# service vsftpd start
# chkconfig --level 35 vsftpd on
接下來,如果你在伺服器上啟用了 UFW 防火牆(默認情況下不啟用),那麼需要打開埠 20 和 21 —— FTP 守護進程正在監聽它們——從而才能允許從遠程機器訪問 FTP 服務,然後,像下面這樣添加新的防火牆規則:
$ sudo ufw allow 20/tcp
$ sudo ufw allow 21/tcp
$ sudo ufw status
第二步:在 Ubuntu 中配置並保護 VSFTPD 伺服器
讓我們進行一些配置來設置和保護 FTP 伺服器。首先,我們像下面這樣創建一個原始配置文件 /etc/vsftpd/vsftpd.conf 的備份文件:
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig
接下來,打開 vsftpd 配置文件。
$ sudo vi /etc/vsftpd.conf
OR
$ sudo nano /etc/vsftpd.conf
把下面的這些選項添加/改成所展示的值:
anonymous_enable=NO # 關閉匿名登錄
local_enable=YES # 允許本地用戶登錄
write_enable=YES # 啟用可以修改文件的 FTP 命令
local_umask=022 # 本地用戶創建文件的 umask 值
dirmessage_enable=YES # 當用戶第一次進入新目錄時顯示提示消息
xferlog_enable=YES # 一個存有詳細的上傳和下載信息的日誌文件
connect_from_port_20=YES # 在伺服器上針對 PORT 類型的連接使用埠 20(FTP 數據)
xferlog_std_format=YES # 保持標准日誌文件格式
listen=NO # 阻止 vsftpd 在獨立模式下運行
listen_ipv6=YES # vsftpd 將監聽 ipv6 而不是 IPv4,你可以根據你的網路情況設置
pam_service_name=vsftpd # vsftpd 將使用的 PAM 驗證設備的名字
userlist_enable=YES # 允許 vsftpd 載入用戶名字列表
tcp_wrappers=YES # 打開 tcp 包裝器
現在,配置 VSFTPD ,基於用戶列表文件/etc/vsftpd.userlist 來允許或拒絕用戶訪問 FTP。
注意,在默認情況下,如果通過userlist_enable=YES 啟用了用戶列表,且設置userlist_deny=YES 時,那麼,用戶列表文件/etc/vsftpd.userlist 中的用戶是不能登錄訪問的。
但是,選項userlist_deny=NO 則反轉了默認設置,這種情況下只有用戶名被明確列出在/etc/vsftpd.userlist 中的用戶才允許登錄到 FTP 伺服器。
userlist_enable=YES # vsftpd 將會從所給的用戶列表文件中載入用戶名字列表
userlist_file=/etc/vsftpd.userlist # 存儲用戶名字的列表
userlist_deny=NO
重要的是,當用戶登錄 FTP 伺服器以後,他們將進入 chrooted 環境,即當在 FTP 會話時,其 root 目錄將是其 home 目錄。
接下來,我們來看一看兩種可能的途徑來設置 chrooted(本地 root)目錄,正如下面所展示的。
這時,讓我們添加/修改/取消這兩個選項來將 FTP 用戶限制在其 home 目錄
chroot_local_user=YES
allow_writeable_chroot=YES
選項chroot_local_user=YES 意味著本地用戶將進入 chroot 環境,當登錄以後默認情況下是其 home 目錄。
並且我們要知道,默認情況下,出於安全原因,VSFTPD 不允許 chroot 目錄具有可寫許可權。然而,我們可以通過選項 allow_writeable_chroot=YES 來改變這個設置
保存文件然後關閉。現在我們需要重啟 VSFTPD 服務從而使上面的這些更改生效:
------------- On SystemD -------------
# systemctl restart vsftpd
------------- On SysVInit -------------
# service vsftpd restart
第三步:在 Ubuntu 上測試 VsFTP 伺服器
現在,我們通過使用下面展示的 useradd 命令創建一個 FTP 用戶來測試 FTP 伺服器:
$ sudo useradd -m -c "Aaron Kili, Contributor" -s /bin/bash aaronkilik
$ sudo passwd aaronkilik
然後,我們需要像下面這樣使用 echo 命令和 tee 命令來明確地列出文件/etc/vsftpd.userlist 中的用戶 aaronkilik:
$ echo "aaronkilik" | sudo tee -a /etc/vsftpd.userlist
$ cat /etc/vsftpd.userlist
現在,是時候來測試上面的配置是否具有我們想要的功能了。我們首先測試匿名登錄;我們可以從下面的輸出中很清楚的看到,在這個 FTP 伺服器中是不允許匿名登錄的:
# ftp 192.168.56.102
Connected to 192.168.56.102 (192.168.56.102).
220 Welcome to TecMint.com FTP service.
Name (192.168.56.102:aaronkilik) : anonymous
530 Permission denied.
Login failed.
ftp> bye
221 Goodbye.
接下來,我們將測試,如果用戶的名字沒有在文件/etc/vsftpd.userlist 中,是否能夠登錄。從下面的輸出中,我們看到,這是不可以的:
# ftp 192.168.56.102
Connected to 192.168.56.102 (192.168.56.102).
220 Welcome to TecMint.com FTP service.
Name (192.168.56.10:root) : user1
530 Permission denied.
Login failed.
ftp> bye
221 Goodbye.
現在,我們將進行最後一項測試,來確定列在文件/etc/vsftpd.userlist 文件中的用戶登錄以後,是否實際處於 home 目錄。從下面的輸出中可知,是這樣的:
# ftp 192.168.56.102
Connected to 192.168.56.102 (192.168.56.102).
220 Welcome to TecMint.com FTP service.
Name (192.168.56.102:aaronkilik) : aaronkilik
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
在 Ubuntu 中確認 FTP 登錄
警告:設置選項allow_writeable_chroot=YES 是很危險的,特別是如果用戶具有上傳許可權,或者可以 shell 訪問的時候,很可能會出現安全問題。只有當你確切的知道你在做什麼的時候,才可以使用這個選項。
我們需要注意,這些安全問題不僅會影響到 VSFTPD,也會影響讓本地用戶進入 chroot 環境的 FTP daemon。
因為這些原因,在下一步中,我將闡述一個更安全的方法,來幫助用戶設置一個非可寫本地 root 目錄。
第四步:在 Ubuntu 中配置 FTP 用戶的 Home 目錄
現在,再次打開 VSFTPD 配置文件。
$ sudo vi /etc/vsftpd.conf
OR
$ sudo nano /etc/vsftpd.conf
然後像下面這樣用# 把不安全選項注釋了:
#allow_writeable_chroot=YES
接下來,為用戶創建一個替代的本地 root 目錄(aaronkilik,你的可能和這不一樣),然後設置目錄許可權,取消其他所有用戶對此目錄的寫入許可權:
$ sudo mkdir /home/aaronkilik/ftp
$ sudo chown nobody:nogroup /home/aaronkilik/ftp
$ sudo chmod a-w /home/aaronkilik/ftp
然後,在本地 root 目錄下創建一個具有合適許可權的目錄,用戶將在這兒存儲文件:
$ sudo mkdir /home/aaronkilik/ftp/files
$ sudo chown -R aaronkilk:aaronkilik /home/aaronkilik/ftp/files
$ sudo chmod -R 0770 /home/aaronkilik/ftp/files/
之後,將 VSFTPD 配置文件中的下面這些選項添加/修改為相應的值:
user_sub_token=$USER # 在本地 root 目錄中插入用戶名
local_root=/home/$USER/ftp # 定義各個用戶的本地 root 目錄
保存文件並關閉。然後重啟 VSFTPD 服務來使上面的設置生效:
------------- On SystemD -------------
# systemctl restart vsftpd
------------- On SysVInit -------------
# service vsftpd restart
現在,讓我們來最後檢查一下,確保用戶的本地 root 目錄是我們在他的 Home 目錄中創建的 FTP 目錄。
# ftp 192.168.56.102
Connected to 192.168.56.102 (192.168.56.102).
220 Welcome to TecMint.com FTP service.
Name (192.168.56.10:aaronkilik) : aaronkilik
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
建議你看下這篇文檔http://www.linuxprobe.com/ubuntu-ftp-service.html,我覺得挺詳細的
『伍』 LINUX系統什麼命令是查FTP是否打開
檢查Linux系統上FTP服務是否開啟:
1.通過查詢提供FTP服務的進程是否存在
[root@localhostroot]#ps-ef|grepftp
#並未找到任何包含ftp關鍵字的進程信鉛差臘息,可判斷服務未開啟。
2.通過查詢是vsftpd服務是否存在
[root@localhostroot]#servicevsftpdstatus
#vsftpd是最常見的FTP伺服器,發現stopped狀態即為關閉。
3.開啟慶轎Linux上的FTP服務
[root@localhostroot]#servicevsftpdstart
Startingvsftpdforvsftpd:槐滑[OK]
#再次查看發現已經處於啟動狀態:
[root@localhostroot]#servicevsftpdstatus
vsftpd(pid4510)isrunning...
『陸』 Linux之ftp命令使用方法及案例
Linux之ftp命令使用方法及案例
Example 1:登陸
[root@iZ25ja2kaemZ ~]# ftp 121.199.5.52
Connected to 121.199.5.52 (121.199.5.52).
220 Microsoft FTP Service
Name (121.199.5.52:root): tongsj
331 User name okay, need password.
Password:
230 User logged in, proceed.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ll
?Invalid command
ftp>
Example2:dir,cd ,quit 命令用法
ftp> dir ./app
227 Entering Passive Mode (121,199,5,52,128,234)
150 Opening ASCII mode data connection for /bin/ls.
total 0
drw-rw-rw- 1 user group 0 Nov 9 18:26 .
drw-rw-rw- 1 user group 0 Nov 9 18:26 ..
drw-rw-rw- 1 user group 0 Nov 9 18:24 Common
drw-rw-rw- 1 user group 0 Nov 9 18:24 Conf
drw-rw-rw- 1 user group 0 Nov 9 18:19 Lang
drw-rw-rw- 1 user group 0 Nov 9 18:23 Lib
drw-rw-rw- 1 user group 0 Nov 9 18:26 Runtime
drw-rw-rw- 1 user group 0 Nov 9 18:35 Tpl
226 Transfer complete.
ftp> cd base
250 Directory changed to /crms/Base
ftp> dir
227 Entering Passive Mode (121,199,5,52,128,235)
150 Opening ASCII mode data connection for /bin/ls.
drw-rw-rw- 1 user group 0 Nov 9 18:18 .
drw-rw-rw- 1 user group 0 Nov 9 18:18 ..
drw-rw-rw- 1 user group 0 Nov 9 18:12 Common
drw-rw-rw- 1 user group 0 Nov 9 18:13 Conf
drw-rw-rw- 1 user group 0 Nov 9 18:17 Extend
-rw-rw-rw- 1 user group 1854 Jan 18 2016 LICENSE.txt
drw-rw-rw- 1 user group 0 Nov 9 18:17 Lang
drw-rw-rw- 1 user group 0 Nov 9 18:17 Lib
-rw-rw-rw- 1 user group 5600 Jan 18 2016 README.txt
-rw-rw-rw- 1 user group 1568 Jan 18 2016 Thinkphp.php
drw-rw-rw- 1 user group 0 Nov 9 18:18 Tpl
-rw-rw-rw- 1 user group 7396 Jan 18 2016 logo.png
226 Transfer complete.
ftp> quie
?Invalid command
ftp> quit
221 Goodbye!
[root@iZ25ja2kaemZ ~]#
example3:幫助文件
ftp> help
Commands may be abbreviated. Commands are:
! debug mdir sendport site
$ dir mget put size
account disconnect mkdir pwd status
append exit mls quit struct
ascii form mode quote system
bell get modtime recv sunique
binary glob mput reget tenex
bye hash newer rstatus tick
case help nmap rhelp trace
cd idle nlist rename type
cp image ntrans reset user
chmod lcd open restart umask
close ls prompt rmdir verbose
cr macdef passive runique ?
delete mdelete proxy send
ftp> help dir
dir list contents of remote directory
ftp> help mdir
mdir list contents of multiple remote directories
ftp>
example4:重命名文件
ftp> dir
227 Entering Passive Mode (121,199,5,52,128,234)
150 Opening ASCII mode data connection for /bin/ls.
drw-rw-rw- 1 user group 0 Nov 9 18:46 .
drw-rw-rw- 1 user group 0 Nov 9 18:46 ..
drw-rw-rw- 1 user group 0 Nov 9 18:39 Install
drw-rw-rw- 1 user group 0 Nov 9 18:36 appImg
drw-rw-rw- 1 user group 0 Nov 11 11:08 css
drw-rw-rw- 1 user group 0 Nov 9 18:37 excelmodel
drw-rw-rw- 1 user group 0 Nov 9 18:46 file
drw-rw-rw- 1 user group 0 Nov 9 18:37 ico
drw-rw-rw- 1 user group 0 Nov 9 18:38 img
drw-rw-rw- 1 user group 0 Nov 11 11:11 js
-rw-rw-rw- 1 user group 3 Oct 25 15:56 ni.txt
drw-rw-rw- 1 user group 0 Nov 9 18:46 sound
drw-rw-rw- 1 user group 0 Nov 9 18:46 sql
226 Transfer complete.
ftp> rename ni.txt ss
350 File or directory exists, ready for destination name
250 RNTO command successful.
ftp> dir
227 Entering Passive Mode (121,199,5,52,128,235)
150 Opening ASCII mode data connection for /bin/ls.
drw-rw-rw- 1 user group 0 Nov 16 16:57 .
drw-rw-rw- 1 user group 0 Nov 16 16:57 ..
drw-rw-rw- 1 user group 0 Nov 9 18:39 Install
drw-rw-rw- 1 user group 0 Nov 9 18:36 appImg
drw-rw-rw- 1 user group 0 Nov 11 11:08 css
drw-rw-rw- 1 user group 0 Nov 9 18:37 excelmodel
drw-rw-rw- 1 user group 0 Nov 9 18:46 file
drw-rw-rw- 1 user group 0 Nov 9 18:37 ico
drw-rw-rw- 1 user group 0 Nov 9 18:38 img
drw-rw-rw- 1 user group 0 Nov 11 11:11 js
drw-rw-rw- 1 user group 0 Nov 9 18:46 sound
drw-rw-rw- 1 user group 0 Nov 9 18:46 sql
-rw-rw-rw- 1 user group 3 Oct 25 15:56 ss
226 Transfer complete.
example5 :格式 get [remote-file] [local-file],將文件從遠端主機中傳送至本地主機中,如要獲取伺服器上\rose\1.bmp,則 ftp> get /rose/1.bmp /tmp/1.bmp (回車),必須給出第二個參數,否則會復制失敗,登錄後執行:
ftp> get robots.txt /tmp/
local: /tmp/ remote: robots.txt
227 Entering Passive Mode (121,199,5,52,128,233)
150 Opening BINARY mode data connection for robots.txt (26 Bytes).
local: /tmp/: Is a directory
226 Transfer complete.
226 ABOR command successful.
ftp>
example 6:lcd 命令
ftp> lcd ..
Local directory now /
ftp> lcd /tmp/flower
Local directory now /tmp/flower
example 7: put命令
格式:put local-file [remote-file]
將本地一個文件傳送至遠端主機中.
如要把本地的1.bmp傳送到遠端主機e:\rose,並改名為333.bmp
ftp> put 1.bmp /rose/333.bmp (回車)
ftp> put /tmp/tt.txt ./nihaol.txt
local: /tmp/tt.txt remote: ./nihaol.txt
227 Entering Passive Mode (121,199,5,52,128,232)
150 Opening BINARY mode data connection for nihaol.txt.
226 Transfer complete.
5 bytes sent in 2.6e-05 secs (192.31 Kbytes/sec)
example 8: mput命令
格式:mput local-files
將本地主機中一批文件傳送至遠端主機.
如要把本地當前目錄下所有bmp文件上傳到伺服器e:\rose 下
ftp> cd /rose (回車)
ftp> mput *.bmp(回車)
注意:上傳文件都來自於主機的當前目錄下。比如,在/root/test下運行的ftp命令,則只有在/root/test下的文件linux才會 上傳到伺服器e:\rose 下
『柒』 LINUX下如何測試ftp伺服器
1、安裝vsftpd
[root@ruskybmp]#yuminstallvsftpd--必須配置yum源才能使用yum命令來安裝vsftpd,或者掛載光碟,找到Packages目錄下的vsftpd包,使用rpm命令安裝
……
Installed:
vsftpd.x86_640:2.0.5-24.el5
Complete!
2、vsftpd服務的啟動及關閉
[root@ruskybmp]#chkconfig--listvsftpd
vsftpd0:off1:off2:off3:off4:off5:off6:off[root@ruskybmp]#chkconfig--level35vsftpdon
[root@ruskybmp]#servicevsftpdrestart--啟動/關閉命令為:servicevsftpdstart/stop
Shuttingdownvsftpd:[FAILED]
Startingvsftpdforvsftpd:[OK]
[root@ruskybmp]#servicevsftpdstatus
vsftpd(pid5087)isrunning...
[root@ruskybmp]#
3、測試ftp伺服器的連接
G: estftp>ftp-或者直接:ftpIP/主機名連接
ftp>open192.168.1.200
連接到192.168.1.200。
220(vsFTPd2.0.5)
用戶(192.168.1.200:(none)):root--默認不能使用root用戶
530Permissiondenied.
登錄失敗。
ftp>open192.168.1.200
已經連接到了192.168.1.200,請首先使用斷開連接。
ftp>disconnect
221Goodbye.
ftp>open192.168.1.200
連接到192.168.1.200。
220(vsFTPd2.0.5)
用戶(192.168.1.200:(none)):oracle
331Pleasespecifythepassword.
密碼:
230Loginsuccessful.
ftp>loc
無效命令。
ftp>lcd
目前的本地目錄G: estftp。
ftp>