導航:首頁 > IDC知識 > linux下安裝ftp伺服器

linux下安裝ftp伺服器

發布時間:2020-10-20 02:34:52

1、如何知道Linux上是否安裝FTP服務

|有幾種方法:
1.命令的方法:
ps -aux | grep ftpd
netstat -na | grep 21
看看有沒有啟動。
2.在界面模式下查版看ftp服務有沒有開啟,比如權suse Linux的,在yast中就能看到
3.你用ftp軟體看看能否連到系統。這方法缺點明顯,要是配置錯了也連不上,呵呵。

建議採用第一種,直接用命令查看。

2、linux下怎麼安裝ftp伺服器

1、檢查安裝vsftpd軟體
使用如下命令#rpm -qa |grep vsftpd可以檢測出是否安裝了vsftpd軟體,
如果沒有安裝,使用YUM命令進行安裝。

2、啟動服務
使用vsftpd軟體,主要包括如下幾個命令:
啟動ftp命令#service vsftpd start
停止ftp命令#service vsftpd stop
重啟ftp命令#service vsftpd restart

3、vsftpd的配置
ftp的配置文件主要有三個,位於/etc/vsftpd/目錄下,分別是:
ftpusers 該文件用來指定那些用戶不能訪問ftp伺服器。
user_list 該文件用來指示的默認賬戶在默認情況下也不能訪問ftp
vsftpd.conf vsftpd的主配置文件
4、以匿名用戶為例,我們去掉配置文件vsftpd.conf 裡面以下
anon_upload_enable=YES
anon_mkdir_write_enable=YES
兩項前面的#號,就可以完成匿名用戶的配置,此時匿名用戶既可以登錄上傳、下載文件。記得修改配置文件後需要重啟服務。

5、非匿名賬戶的創建與使用
vsftpd服務與系統用戶是相互關聯的,例如我們創建一個名為test 的系統用戶,那麼此用戶在默認配置的情況下就可以實現登錄,如圖

登錄後在頁面創建名為「aa」的文件夾,同樣我們在伺服器test用戶 的home目錄里也可以看到相同的文件。

3、LINUX下如何測試ftp伺服器

1、安裝vsftpd

[root@rusky bmp]# yum install vsftpd --必須配置yum源才能使用yum命令來安裝vsftpd,或者掛載光碟,找到Packages目錄下的vsftpd包,使用rpm命令安裝 
……
Installed:
  vsftpd.x86_64 0:2.0.5-24.el5                                                                    
Complete!

2、vsftpd服務的啟動及關閉

[root@rusky bmp]# chkconfig --list vsftpd
vsftpd   0:off   1:off   2:off   3:off   4:off   5:off   6:off[root@rusky bmp]# chkconfig --level 35 vsftpd on
[root@rusky bmp]# service vsftpd restart    --啟動/關閉命令為:service vsftpd start/stop    
Shutting down vsftpd: [FAILED]
Starting vsftpd for vsftpd: [  OK  ]
[root@rusky bmp]# service vsftpd status
vsftpd (pid 5087) is running...
[root@rusky bmp]#

3、測試ftp伺服器的連接

G: estftp>ftp  -或者直接:ftp IP/主機名連接
ftp> open 192.168.1.200
連接到 192.168.1.200。
220 (vsFTPd 2.0.5)
用戶(192.168.1.200:(none)): root    --默認不能使用root用戶
530 Permission denied.
登錄失敗。
ftp> open 192.168.1.200
已經連接到了 192.168.1.200,請首先使用斷開連接。
ftp> disconnect
221 Goodbye.
ftp> open 192.168.1.200
連接到 192.168.1.200。
220 (vsFTPd 2.0.5)
用戶(192.168.1.200:(none)): oracle
331 Please specify the password.
密碼:
230 Login successful.
ftp> loc
無效命令。
ftp> lcd
目前的本地目錄 G: estftp。
ftp>

4、Linux下如何找到FTP伺服器的配置文件

1、Linux系統下vsftp安裝。

2、Linux系統下打開ftp配置文件。

3、Linux系統下編輯配置文件。

4、Linux系統下啟動vsftpd服務。

5、Linux系統下關閉防火牆,關閉selinux。

6、Linux系統下建立測試帳號jiang。

7、Linux系統下登錄訪問。

8、Linux系統下本地用戶默認有上傳許可權,如上傳ceshi目錄。

5、如何在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服務的基本搭建過程,實際使用時可以分配多個用戶

6、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

7、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項,保存後退出.

8、Linux下如何找到FTP伺服器的配置文件

1、Linux系統下vsftp安裝。

2、Linux系統下打開ftp配置文件。

3、Linux系統下編輯配置文件。

4、Linux系統下啟動vsftpd服務。

5、Linux系統下關閉防火牆,關閉selinux。

6、Linux系統下建立測試帳號jiang。

7、Linux系統下登錄訪問。

8、Linux系統下本地用戶默認有上傳許可權,如上傳ceshi目錄。

9、linux 里沒有ftp服務 怎麼安裝?

Linux中的ftp伺服器一般是安裝vsftp。以centos為例,具體操作如下:

1、運行yum install vsftpd命令
命令具體的細節如下:
[[email protected]]# yum install vsftpd
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
–> Running transaction check
—> Package vsftpd.i386 0:2.0.5-12.el5 set to be updated
filelists.xml.gz 100% |=========================| 648 kB 02:46
http://ftp.hostrino.com/pub/centos/5.2/os/i386/repodata/filelists.xml.gz: [Errno 4] Socket Error: timed out
Trying other mirror.
filelists.xml.gz 100% |=========================| 2.8 MB 00:21
filelists.xml.gz 100% |=========================| 1.1 MB 00:12
filelists.xml.gz 100% |=========================| 132 kB 00:01
filelists.xml.gz 100% |=========================| 150 B 00:00
–> Finished Dependency Resolution

Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
vsftpd i386 2.0.5-12.el5 base 137 k

Transaction Summary
=============================================================================
Install 1 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 137 k
Is this ok [y/N]: y
Downloading Packages:
(1/1): vsftpd-2.0.5-12.el 100% |=========================| 137 kB 00:01
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
Importing GPG key 0xE8562897 「CentOS-5 Key (CentOS 5 Official Signing Key) <[email protected]>」 from http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing: vsftpd ######################### [1/1]

Installed: vsftpd.i386 0:2.0.5-12.el5
Complete!
[root@localhost ~]#

2、將 /etc/vsftpd/user_list文件和/etc/vsftpd/ftpusers文件中的root這一行注釋掉
#root

3、執行以下命令
# setsebool -P ftpd_disable_trans=1
修改/etc/vsftpd/vsftpd.conf,在最後一行處添加local_root=/
4、/sbin/service iptables stop (linux是虛擬機的話要運行這個一句)
5、/sbin/service vsftpd restart

一下是對配置文件中一些參數的說明:
centOS vsftpd建FTP,配置文件有三:
/etc/ftpusers
/etc/vsftpd.user_list
/etc/vsftpd/vsftpd.conf 這個是主配置文件,,

/etc/vsftpd/vsftpd.conf vsftpd.conf 默認配置:

anonymous_enable=YES 允許匿名登錄
local_enable=YES 允許本地用戶登錄
write_enable=YES 開放本地用戶寫許可權
local_umask=022 設置本地用戶生成文件的掩碼為022
#anon_upload_enable=YES 此項設置允許匿名用戶上傳文件
#anon_mkdir_write_enable=YES 開啟匿名用戶的寫和創建目錄的許可權
dirmessage_enable=YES 當切換到目錄時,顯示該目錄下的.message隱藏文件的內容
xferlog_enable=YES 激活上傳和下載日誌
connect_from_port_20=YES 啟用FTP數據埠的連接請求
#chown_uploads=YES 是否具有上傳許可權. 用戶由chown_username參數指定。
#chown_username=whoever 指定擁有上傳文件許可權的用戶。此參數與chown_uploads聯用。
#xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES 使用標準的ftpd xferlog日誌格式
#idle_session_timeout=600 此設置將在用戶會話空閑10分鍾後被中斷
#data_connection_timeout=120 將在數據連接空閑2分鍾後被中斷
#ascii_upload_enable=YES 啟用上傳的ASCII傳輸方式
#ascii_download_enable=YES 啟用下載的ASCII傳輸方式
#ftpd_banner=Welcome to blah FTP service 設置用戶連接伺服器後顯示消息
#deny_email_enable=NO
此參數默認值為NO。當值為YES時,拒絕使用banned_email_file參數指定文件中所列出的e-mail地址用戶登錄。
#banned_email_file=/etc/vsftpd.banned_emails 指定包含拒絕的e-mail地址的文件.
#chroot_list_enable=YES 設置本地用戶登錄後不能切換到自家目錄以外的別的目錄
#chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
pam_service_name=vsftpd
設置PAM認證服務的配置文件名稱,該文件存放在/etc/pam.d/
userlist_enable=YES
此項配置/etc/vsftpd.user_list中指定的用戶也不能訪問伺服器,若添加userlist_deny=No,則僅僅/etc /vsftpd.user_list
文件中的用戶可以訪問,其他用戶都不可以訪問伺服器。如過 userlist_enable=NO,userlist_deny=YES,則指定使文件/etc/vsftpd.user_list中指定的用戶不可以訪問伺服器,其他本地用戶可以訪問伺服器。
listen=YES 指明VSFTPD以獨立運行方式啟動
tcp_wrappers=YES 在VSFTPD中使用TCP_Wrappers遠程訪問控制機制,默認值為YES

10、如何檢測linux系統下ftp伺服器是否開啟

檢測linux系統下ftp伺服器是否開啟的方法如下:

1、第一步,打開一台Linux的電腦,進入到輸入shell指令版的命令行狀態下,權如下圖所示。

2、第二步,使用鍵盤在命令行中輸入:」service vsftp status「這個指令,指令的意思是查看ftp伺服器的狀態,如下圖所示。

3、第三步,輸入完成之後,點擊」回車鍵「運行該指令,就會顯示ftp伺服器的開關狀態,比如下圖就是「inactive」狀態,表示ftp伺服器處於關閉狀態,如下圖所示。

與linux下安裝ftp伺服器相關的知識