1、LINUX下如何測試ftp伺服器
1、安裝vsftpd
[root@rusky bmp]# yum install vsftpd --必須配置yum源才能使用yum命令來安裝vsftpd,或者掛載光碟,找到Packages目錄下的vsftpd包,使用rpm命令安裝2、vsftpd服務的啟動及關閉
[root@rusky bmp]# chkconfig --list vsftpd3、測試ftp伺服器的連接
2、linux下ftp伺服器的上傳下載的過程
LinuxftpFTP是ARPANet的標准文件傳輸協議,該網路就是現今Internet的前身。通常我們使用ftp命令,主要是上傳和下載文件,ftp登陸的用戶一般都是一些虛擬用戶,因為這是出於安全考慮。
語法:ftp[-dignv][主機名稱或IP地址]
參數:
-v顯示指令執行過程。
-n不使用自動登陸。
-g關閉本地主機文件名稱支持特殊字元的擴充特性。
-i關閉互動模式,不詢問任何問題。
-d詳細顯示指令執行過程,便於排錯或分析程序執行的情形。
例子:登錄124.16.144.120,命令
[root@localhostlane6]$ftp124.16.144.120
Connectedto124.16.144.120.
220(vsFTPd2.0.5)
530PleaseloginwithUSERandPASS.
530PleaseloginwithUSERandPASS.
KERBEROS_
Name(124.16.144.120:root):anonymous#用戶名
331Pleasespecifythepassword.#用戶密碼
Password:
230Loginsuccessful.
RemotesystemtypeisUNIX.
.
下載文件通常用get和mget這兩條命令
a)get
格式:get[remote-file][local-file]
將文件從遠端主機中傳送至本地主機中.
如要獲取伺服器上c:\a\1.jpg,則
ftp>get/a/1.jpg1.jpg(回車)
b)mget
格式:mget[remote-files]
從遠端主機接收一批文件至本地主機.
如要獲取伺服器上E:\a\下的所有文件,則
ftp>cd/a
ftp>mget*.*(回車)
ftp下輸入prompt命令,批量獲取則不在一一提示。
注意:文件都下載到了linux主機的當前目錄下。比如,在 /root/web下運行的ftp命令,則文件都下載到了/root/web下。
3.上傳文件
a)put
格式:putlocal-file[remote-file]
將本地一個文件傳送至遠端主機中.
如要把本地的1.jpg傳送到遠端主機c:\a,並改名為2.gif
ftp>put1.jpg/a/2.gif(回車)
b)mput
格式:mputlocal-files
將本地主機中一批文件傳送至遠端主機.
如要把本地當前目錄下所有bmp文件上傳到伺服器c:\a下
ftp>cd/a(回車)
ftp>mput*.jpg (回車)
注意:上傳文件都來自於主機的當前目錄下。比如,在 /root/web下運行的ftp命令,則只有在/root/web下的文件linux才會上傳到伺服器c:\a下。
linux教程:Linuxshell中使用ftp自動下載上傳文件
FTP自動登錄批量下載文件
從ftp伺服器192.168.1.171上的/home/data到本地的/home/databackup
!/bin/bash
ftp-v-n192.168.1.171
userguest123456
binary
cd/home/data
lcd/home/databackup
prompt
mget*
close
bye
FTP自動登錄批量上傳文件
從ftp伺服器192.168.1.171上的/home/data到本地的/home/databackup
#!/bin/bash
ftp-v-n192.168.1.171<<END
userguest123456
binary
hash
cd/home/data
lcd/home/databackup
prompt
mput*
bye
END
3、LINUX 下如何開啟 ftp 伺服器
1. 首先伺服器要安裝ftp軟體,查看是否已經安裝ftp軟體下:
#which vsftpd
如果看到有vsftpd的目錄說明伺服器已經安裝了ftp軟體
2. 查看ftp 伺服器狀態
#service vsftpd status
3. 啟動ftp伺服器
#service vsftpd start
4. 重啟ftp伺服器
#service vsftpd restart
5. 查看服務有沒有啟動
#netstat -an | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN
如果看到以上信息,證明ftp服務已經開啟。
6.如果需要開啟root用戶的ftp許可權要修改以下兩個文件
#vi /etc/vsftpd.ftpusers中注釋掉root
#vi /etc/vsftpd.user_list中也注釋掉root
然後重新啟動ftp服務。
7. vsftpd 500 OOPS: cannot change directory
登陸報錯:
C:\>ftp 192.168.0.101
Connected to 192.168.0.101.
220 (vsFTPd 2.0.5)
User (192.168.0.101:(none)): frank
331 Please specify the password.
Password:
500 OOPS: cannot change directory:/home/frank
Login failed.
ftp> ls
500 OOPS: child died
Connection closed by remote host.
解決方法:
setsebool ftpd_disable_trans 1
service vsftpd restart
就OK了!
這是SELinux的設置命令,在不熟悉SELnux前,把SELinux關掉也可以的。
8. 永久開啟,即os重啟後自動開啟ftp服務
方法一:
cd /etc/xinetd.d ,編輯ftp服務的配置文件gssftp的設置:
vi /etc/xinetd.d/gssftp ,將 修改兩項內容:
(a) server_args = -l –a 去掉-a 改為server_args = -l
(b) disable=yes改為disable=no
(c) 保存退出。
方法二:
(a) system-config-services , 進入圖形界面的System services查看是否有 vsftpd項,如果沒有轉到2.,保存後退出
(b) 用redhat第三張盤 安裝此服務(開始--刪除/增加程序),200K左右
(c) #setup
此時能看到vsftpd項,此時選中此services項,保存後退出.
4、如何在linux伺服器中安裝ftp伺服器
在創建FTP伺服器之有先命令: ps -ef |grep vsftpd
查一下系統有沒有安裝vsftpd這個伺服器,如果出現如下圖所示的界面說明沒有安裝。
然後再執行:yum install vsftpd -y
進行在線安裝vsftpd這個服務。
安裝成功以後需要把匿名登陸的這個功能關閉了。
使用命令: vim /etc/vsftpd/vsftpd.conf
然後在里成找到:
anonymous_enable=NO
然後再查看一下vsftpd這個服務有沒有啟動。
使用命令: chkconfig --list
如果你如下圖所示一樣沒有啟動。
沒有啟動使用啟動:chkconfig --level 35 vsftpd on
再接下來就是創建用戶名。
創建用戶名:useradd jingyan
再然後就是創建密碼。
命令:passwd jingyan
再輸入兩次密碼就可以了。
最後重啟一下服務:service vsftpd start
如果出現啟動失敗則可以使用:/etc/rc.d/init.d/vsftpd restart
8
成功鏈接FTP伺服器上。
5、Linux下如何找到FTP伺服器的配置文件
1、Linux系統下vsftp安裝。
2、Linux系統下打開ftp配置文件。
3、Linux系統下編輯配置文件。
4、Linux系統下啟動vsftpd服務。
5、Linux系統下關閉防火牆,關閉selinux。
6、Linux系統下建立測試帳號jiang。
7、Linux系統下登錄訪問。
8、Linux系統下本地用戶默認有上傳許可權,如上傳ceshi目錄。
6、linux創建ftp伺服器的基本命令
1.先掛裝光來盤 mount /dev/cdrom /media
2.然後切換到源media目錄下 cd /media/Server
3.安裝 vsftpd 軟體 rpm -ivh vsftpd*.rpm
4.安裝完以後通過配置 /etc/vsftpd/vsftpd.conf 文件來決定ftp是匿名的還是本地的
7、如何檢測linux系統下ftp伺服器是否開啟
檢測linux系統下ftp伺服器是否開啟的方法如下:
1、第一步,打開一台Linux的電腦,進入到輸入shell指令版的命令行狀態下,權如下圖所示。
2、第二步,使用鍵盤在命令行中輸入:」service vsftp status「這個指令,指令的意思是查看ftp伺服器的狀態,如下圖所示。
3、第三步,輸入完成之後,點擊」回車鍵「運行該指令,就會顯示ftp伺服器的開關狀態,比如下圖就是「inactive」狀態,表示ftp伺服器處於關閉狀態,如下圖所示。
8、如何在linux系統下的搭建 FTP伺服器
FTP伺服器配置VSFTP主配置文件路徑:/etc/vsftpd/vsftpd.conf,重要參數:
anonymous_enable=yes/no 是否允許匿名用戶訪問
anon_upload_enable=yes/no 是否允許匿名用戶上傳文件
anon_mkdir_write_enable=yes/no 是否允許匿名用戶創建目錄
anon_other_write_enable=yes/no 匿名用戶和虛擬用戶是否擁有刪除許可權
local_enable=yes/no 是否允許本地用戶登陸
write_enable=yes/no 設置全局是否可寫
anon_root=/var 指定匿名用戶目錄
chroot_local_user=yes 鎖定所有用戶到用戶主目錄
chroot_list_enable=yes/no 鎖定列表中的用戶到主目錄,需要配合下一參數使用
chroot_list_file=/etc/vsftpd/chroot_list 指定存儲被鎖定用戶的列表文件位置
chown_uploads=yes/no 匿名用戶上傳所有者指定功能,需要與下一參數配合使用
chown_username=用戶名 指定匿名用戶上傳文件的所有者
max_clients=300 最大客戶端連接數為300
anon_max_rate=30000 匿名用戶和虛擬用戶限速為30K/S
local_max_rate=30000 本地用戶限速為30K/S
max_per_ip=10 每個IP最大連接數
listen_port=22 更改監聽埠
實現如下要求:允許匿名用戶登陸,匿名用戶限速為60K/S,只允許下載。監聽埠為22,最大連接數為10。新建用戶ftp1,限速為200K/S,允許上傳下載刪除新建文件夾。進入目錄/etc/vsftpd,用vi編輯器打開vsftpd.conf主配置文件:
直接添加以下選項: [root@LidadeFedora vsftpd]# service vsftpd restart
添加用戶ftp1,設置登錄腳本為 /sbin/nologin:
vsftp默認目錄為:/var/ftp,為方便測試,在/var/ftp下新建一個文件"testLocal",在"/var/ftp/pub"新建一個文件"testAnon"。
由於使用root用戶新建文件,文件的所有者為root,所以需要把文件的許可權設置為644其他用戶才能讀取該文件
9、如何在linux下開啟FTP服務
Linux下ftp服務可以通過搭建vsftpd服務來實現,以CentOS為例,首先查看系統中是否安裝了vsftpd,可以通過執行命令 rpm -qa |grep vsftpd 來查看是否安裝相應的包,如果沒有安裝那麼可以執行 yum -y install vsftpd 來安裝,安裝之後首先創建ftp用戶,比如ftp_test,命令如下:
useradd -s /sbin/nologin -d /home/ftp_test ftp_test目錄盡量不要選擇根目錄下,這里是/home/ftp_test,並且ftp_test這個目錄不要手動創建,否則許可權會有問題,執行命令的時候會自動創建,
可以看到許可權現在是對於ftp_test用戶是可讀可寫可執行的,其他用戶和組下面的都沒有任何許可權,現在為ftp_test用戶創建密碼:
passwd ftp_test
執行之後輸入2次密碼確認就設置好了密碼
然後編輯vsftpd配置文件,位置是:vim /etc/vsftpd/vsftpd.conf
找到anonymous_enable這個配置項,默認是YES,修改成NO,表示不允許匿名用戶登錄
現在直接保存配置文件,執行 systemctl start vsftpd.service 啟動vsftp服務,然後可以通過命令: systemctl status vsftpd.service 查看ftp服務的運行狀態,現在就可以用ftp客戶端進行連接了,這里用FileZilla測試,連接正常
現在基本的ftp服務就部署完了,客戶端可以正常上傳,下載,修改文件;但是這樣有個問題就是所有的目錄都暴露給客戶端了,雖然客戶端不能隨意修改刪除其餘的文件,但是因為目錄可見,所以總會有一些風險,所以接下來還需要配置讓ftp用戶只在自己的家目錄下面活動,而無法查看其它任何目錄,同樣是打開配置文件/etc/vsftpd/vsftpd.conf,找到chroot_local_user=YES這個配置,默認是注釋的,這里去掉注釋,表示只讓用戶在自己的目錄裡面活動,如果只是保存這一個配置的話,用ftp連接客戶端會返回500 OOPS: vsftpd: refusing to run with writable root inside chroot()的錯誤,即禁止運行在可寫的家目錄中,因為剛才ftp_test這個目錄有w許可權,而現在我們使用的vsftpd版本是3.0.2 屬於比較新的版本,為了安全性做了一些限制,如果你此時想通過 chmod a-w /home/ftp_test 來去掉目錄的寫許可權,那麼連接成功是沒問題的,但是無法上傳文件了,所以網上很多說修改許可權的方法是不可取的,正確的做法是應該在下面添加一行配置allow_writeable_chroot=YES表示允許對家目錄的寫許可權,具體配置如下:
配置完這兩項以後保存退出,然後執行 systemctl restart vsftpd.service 重啟vsftpd服務,現在重新使用ftp連接就成功了,並且任何操作也是沒問題的
現在可以看到上面的路徑是一個/,對於ftp用戶來說也就是根目錄了,只能在這個目錄下操作,而無法跳出這個目錄
以上就是vsftpd服務的基本搭建過程,實際使用時可以分配多個用戶
10、linux下怎樣登錄ftp伺服器
1、首先,連接相應linux主機,進入到linux命令行狀態下,等待輸入shell指令。
2、其次,在linux命令行中輸入:ftp 10.18.34.115。
3、最後,按下回車鍵執行shell指令,此時會看到已成功連接上ftp服務,可輸入ftp命令了。