當前位置:首頁 » 文件管理 » linuxftp安裝與配置

linuxftp安裝與配置

發布時間: 2023-09-20 23:32:36

A. linux怎麼搭建ftp伺服器

vsftpd是一款在Linux發行版中最受推崇的FTP伺服器程序。特點是小巧輕快,安全易用。並且是一個完全免費開放源碼的ftp軟體
方法/步驟
1、用在線安裝
yum install vsftpd pam* db4*-y
使用命令將vsftp配置為系統服務
chkconfig --level 35 vsftpd on
2、配置vsftpd服務的宿主
useradd vsftpdadmin -s /sbin/nologin -M
這個vsftpdadmin只是用來替換root的,並不需要登錄
3、建立ftp虛擬宿主帳戶
useradd vsftpuser -s /sbin/nologin -M
這ftpuser只個虛擬帳戶的宿主,本身是不用登錄的
4、配置vsftpd.conf 配置之前要先備份一下原來的
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES --> anonymous_enable=NO //不允許匿名用戶訪問,默認是允許。
chroot_list_enable=YES --> chroot_list_enable=YES //不允許FTP用戶離開自己主目錄
增加
#設定虛擬用戶個人Vsftp的配置文件存放路徑。也就是說,這個被指定的目錄里,將存放每個Vsftp虛擬用戶個性的配置文件,一個需要注意的地方就是這些配置文件名必須和虛擬用戶名相同。
user_config_dir=/etc/vsftpd/vconf/userlocal
#這一步非常重要,要記住這一步。一會要根據這個配置新建文件夾

#修改埠號
ftp_data_port=4040
reverse_lookup_enable=NO
pasv_enable=yes
pasv_min_port=48790
pasv_max_port=48800
listen_port=48796 #埠可以根據你自己實際情況配置,也可以用默認埠。但是為了安全考慮根據自己實際情況配置
5、建立虛擬用戶文件
mkdir /etc/vsftpd/vconf
touch /etc/vsftpd/vonf/vir_user
6、建立虛擬用戶
vi /etc/vsftpd/vonf/vir_user
virtualuser //用戶名
12345678 //密碼
7、生成資料庫
db_load -T -t hash -f /etc/vsftpd/vconf/vir_user /etc/vsftpd/vconf/vir_user.db
8、設置資料庫文件訪問許可權
chmod 600 /etc/vsftpd/vconf/vir_user
chmod 600 /etc/vsftpd/vconf/vir_user.db
9、修改/etc/pam.d/vsftpd
auth sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
account sufficient pam_userdb.so db=/etc/vsftpd/vconf/vir_user
(要想同時使用系統用戶和虛擬用戶,就需要把required改成sufficient)
10
根據第四步配置的user_config_dir=/etc/vsftpd/vconf/userlocal
新建userlocal文件夾
mkdir /etc/vsftpd/vconf/userlocal
11、根據第六步建立的用戶名建立一個文件
例如第六步建立的帳號是virtualuser,則新建一個virtualuser文件
touch /etc/vsftpd/conf/userlocal/virtualuser
12、編輯該用戶訪問的文件路徑
vi /etc/vsftpd/conf/userlocal/virtualuser
輸入如下
local_root= //需要指定的網站根目錄,例如www..com所在文件夾為/www/
anonymous_enable=NO #禁止匿名用戶訪問
write_enable=YES #開啟寫許可權
local_umask=022 #上傳後文件的許可權掩碼
anon_upload_enable=NO #關閉匿名下載
anon_mkdir_write_enable=NO #關閉匿名創建文件夾
idle_session_timeout=60 #會話自動關閉時間 60是因分鍾
data_connection_timeout=120 #數據延遲時間
max_clients=10 #最大連接數
max_per_ip=5 #同一個ip同時允許5個IP聯機
local_max_rate=1048576 #實體用戶傳輸速度限制,單位B/s。0代表不限制
13、配置就此完成,重啟vsftpd服務:service vsftpd restart。
查看系統埠狀態:netstas -tulnp。如果能看到48796埠正在被vsftpd調用說明啟動成功。
如有不清楚的可以再繼續看看網路經驗。
本回答由電腦網路分類達人 呂明推薦
評論
2 0

龍之晨_lemon | seo專員向TA咨詢
擅長: 互聯網
其他回答

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目錄里也可以看到相同的文件。

B. linux怎麼配置ftp伺服器

一、下載vsftpd軟體

sudo apt-get install vsftpd

我這里已經是安裝過了

4、在文件末尾插入

pasv_min_port=10060
pasv_max_port=10090

此為vsftpd被動模式(pasv)的埠范圍

5、保存退出

三、添加FTP用戶

1、在一個合適的地方創建文件夾,這個文件夾作為用戶的根目錄,並設置好許可權。例如:/home/ubuntu/ftp

2、執行如下語句添加用戶(username為用戶名)

sudo useradd -d /home/ubuntu/ftp -s /bin/bash username

3、執行如下語句設置密碼(username為用戶名)

sudo passwd username

四、啟動ftp服務

sudo service vsftpd start

五、Enjoy!

C. linux配置ftp伺服器的過程

第一步:打開終端(快捷鍵是Ctrl+Alt+t),如果當前用戶不是root用戶,請輸入命令「su」,然後輸入root賬戶密碼即可;
第二步:輸入命令「apt-get update」,這一步是為了更新下載的數據源,如果不更新可能造成有幾個後面的軟體包無法下載;
第三步:輸入命令「apt-get install vsftpd」完成安裝vsftpd;
第四步:判斷vsftp是否安裝成功,輸入命令「service vsftpd restart」重啟vsftpd服務,如果他在運行狀態說明安裝成功;
第五步:新建「/home/uftp」目錄作為用戶主目錄,輸入命令「mkdir /home/uftp」回車 ,然後輸入命令「ls /home」查看home目錄下有uftp這個目錄嗎,如果有就是創建成功;
第六步:新建用戶uftp並且設置密碼,輸入命令「useradd -d /home/uftp -s /bin/bash uftp」
回車,然後再輸入命令「passwd uftp」回車,然後輸入兩次密碼就設置ok了
第七步:使用vi修改配置文件/etc/vsftpd.conf,輸入命令「vi /etc/vsftpd.conf」回車,
向文件中添加「userlist_deny=NO」」userlist_enable=YES」?, 「userlist_file=/etc/allowed_users」?,
「seccomp_sandbox=NO」,最後把文件中的「local_enable=YES」保存(如果提示無法保存,直接退出來,把讀寫和執行許可權給這個文件,具體操作為:輸入命令: 「chmod 777 /etc/vsftpd.conf」回車就可以了);
第八步:新建文件/etc/allowed_users,輸入命令「vi /etc/allowed_users」,打開後再這個文件內寫入「uftp」保存即可;《Linux就該這么學》
第九步:查看/etc/ftpusers文件(不能訪問ftp服務用戶清單)的內容,輸入命令「vi /etc/ftpusers」回車,如果裡面有uftp,就把他刪除;
第十步:安裝winscp軟體,進行遠程登錄訪問;下載直接在網路下載就行

D. 怎樣在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


  • 成功鏈接FTP伺服器上。

E. 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用戶名

F. linux怎麼配置ftp伺服器

一. FTP 說明

linux 系統下常用的FTP 是vsftp, 即Very Security File Transfer Protocol. 還有一個是proftp(Profession ftp)。 我們這里也是簡單的說明下vsftp的配置。

vsftp提供3種遠程的登錄方式:

(1)匿名登錄方式

就是不需要用戶名,密碼。就能登錄到伺服器電腦裡面

(2)本地用戶方式

需要帳戶名和密碼才能登錄。而且,這個帳戶名和密碼,都是在你linux系統裡面,已經有的用戶。

(3)虛擬用戶方式

同樣需要用戶名和密碼才能登錄。但是和上面的區別就是,這個用戶名和密碼,在你linux系統中是沒有的(沒有該用戶帳號)

二. Vsftp的安裝配置

2.1 安裝

vsftp 的安裝包,可以在安裝里找到。 用yum 安裝過程也很簡單。
安裝命令:yum install vsftpd

2.2. 相關命令

2.2.1 啟動與關閉

[root@singledb ~]# service vsftpd start

Starting vsftpd for vsftpd: [ OK ]

[root@singledb ~]# service vsftpd stop

Shutting down vsftpd: [ OK ]

[root@singledb ~]# service vsftpd restart

Shutting down vsftpd: [FAILED]

Starting vsftpd for vsftpd: [ OK ]

[root@singledb ~]# /etc/init.d/vsftpd start

Starting vsftpd for vsftpd: [FAILED]

[root@singledb ~]# /etc/init.d/vsftpd stop

Shutting down vsftpd: [ OK ]

[root@singledb ~]# /etc/init.d/vsftpd restart

Shutting down vsftpd: [FAILED]

Starting vsftpd for vsftpd: [ OK ]

[root@singledb ~]# /etc/init.d/vsftpd status

vsftpd (pid 3931) is running...

[root@singledb ~]#

2.2.2. 其他命令

--查看vsftpd 啟動狀態

[root@singledb ~]# chkconfig --list vsftpd

vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off

[root@singledb ~]# chkconfig vsftpd on

[root@singledb ~]# chkconfig --list vsftpd

vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

這里看到,默認情況下從2到5設置為on了。2到5是多用戶級別。 這個對應的是linux不同的運行級別。

我們也可以加level 選項來指定:

[root@singledb ~]# chkconfig --level 0 vsftpd on

[root@singledb ~]# chkconfig --list vsftpd

vsftpd 0:on 1:off 2:on 3:on 4:on 5:on 6:off

我們看到0已經設置為on了。

我們可以使用man chkconfig 來查看幫助:

--level levels

Specifies the run levels an operation should pertain to. It is given as a string of numbers from 0 to 7. For example, --level 35 specifies runlevels 3 and 5.

傳統的init 定義了7個運行級(run level),每一個級別都代表系統應該補充運行的某些特定服務:

(1)0級是完全關閉系統的級別

(2)1級或者S級代表單用戶模式

(3)2-5 級 是多用戶級別

(4)6級 是 重新引導的級別

(1)查看防火牆

我一般都是把系統的防火牆關閉了。 因為開了會有很多限制。

[root@singledb ~]# /etc/init.d/iptables status

Table: nat

Chain PREROUTING (policy ACCEPT)

num target prot opt source destination

Chain POSTROUTING (policy ACCEPT)

num target prot opt source destination

1 MASQUERADE all -- 192.168.122.0/24 !192.168.122.0/24

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

Table: filter

Chain INPUT (policy ACCEPT)

num target prot opt source destination

1 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53

2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53

3 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:67

4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:67

Chain FORWARD (policy ACCEPT)

num target prot opt source destination

1 ACCEPT all -- 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED

2 ACCEPT all -- 192.168.122.0/24 0.0.0.0/0

3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

4 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

You have new mail in /var/spool/mail/root

--添加開放21號埠:

[root@singledb ~]# /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT

[root@singledb ~]# /etc/init.d/iptables status

Table: nat

Chain PREROUTING (policy ACCEPT)

num target prot opt source destination

Chain POSTROUTING (policy ACCEPT)

num target prot opt source destination

1 MASQUERADE all -- 192.168.122.0/24 !192.168.122.0/24

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

Table: filter

Chain INPUT (policy ACCEPT)

num target prot opt source destination

1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21

2 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:53

3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:53

4 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:67

5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:67

Chain FORWARD (policy ACCEPT)

num target prot opt source destination

1 ACCEPT all -- 0.0.0.0/0 192.168.122.0/24 state RELATED,ESTABLISHED

2 ACCEPT all -- 192.168.122.0/24 0.0.0.0/0

3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

4 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable

Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

--保存配置

[root@singledb ~]# /etc/rc.d/init.d/iptables save

Saving firewall rules to /etc/sysconfig/iptables: [ OK ]

--重啟防火牆:

[root@singledb ~]# service iptables {start|stop|restart}

(2)查看關閉selinux

[root@singledb ~]# sestatus

SELinux status: disabled

我這里在安裝操作系統的時候就關閉了selinux,如果沒有關閉,可以修改如下文件來關閉:

[root@singledb ~]# cat /etc/sysconfig/selinux

# This file controls the state of SELinux on the system.

# SELINUX= can take one of these three values:

# enforcing - SELinux security policy is enforced.

# permissive - SELinux prints warnings instead of enforcing.

# disabled - SELinux is fully disabled.

SELINUX=disabled

# SELINUXTYPE= type of policy in use. Possible values are:

# targeted - Only targeted network daemons are protected.

# strict - Full SELinux protection.

SELINUXTYPE=targeted

[root@singledb ~]#

保存退出並重啟系統reboot

三. FTP配置文件

FTP 安裝好之後,在/etc/vsftpd/目錄下會有如下文件:

[root@singledb ~]# cd /etc/vsftpd/

[root@singledb vsftpd]# ls

ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh

[root@singledb vsftpd]#

vsftpd.conf: 主配置文件

ftpusers: 指定哪些用戶不能訪問FTP伺服器

user_list: 指定的用戶是否可以訪問ftp伺服器由vsftpd.conf文件中的userlist_deny的取值來決定。

[root@singledb vsftpd]# cat user_list

# vsftpd userlist

# If userlist_deny=NO, only allow users in this file

# If userlist_deny=YES (default), never allow users in this file, and

# do not even prompt for a password.

# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers

# for users that are denied.

我們過濾掉#的注釋後,查看一下vsftpd.conf 文件:

[root@singledb ftp]# cat /etc/vsftpd/vsftpd.conf |grep -v '^#';

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

pam_service_name=vsftpd

userlist_enable=yes

tcp_wrappers=YES

至於這些參數的意思,在注釋里有詳細的說明。

我們可以在vsftpd.conf 文件設置如下參數:

(1)ftpd_banner=welcome to ftp service :設置連接伺服器後的歡迎信息

(2)idle_session_timeout=60 :限制遠程的客戶機連接後,所建立的控制連接,在多長時間沒有做任何的操作就會中斷(秒)

(3)data_connection_timeout=120 :設置客戶機在進行數據傳輸時,設置空閑的數據中斷時間

(4)accept_timeout=60 設置在多長時間後自動建立連接

(5)connect_timeout=60 設置數據連接的最大激活時間,多長時間斷開,為別人所使用;

(6)max_clients=200 指明伺服器總的客戶並發連接數為200

(7)max_per_ip=3 指明每個客戶機的最大連接數為3

(8)local_max_rate=50000(50kbytes/sec) 本地用戶最大傳輸速率限制

(9)anon_max_rate=30000匿名用戶的最大傳輸速率限制

(10)pasv_min_port=埠

(11)pasv-max-prot=埠號 定義最大與最小埠,為0表示任意埠;為客戶端連接指明埠;

(12)listen_address=IP地址 設置ftp服務來監聽的地址,客戶端可以用哪個地址來連接;

(13)listen_port=埠號 設置FTP工作的埠號,默認的為21

(14)chroot_local_user=YES 設置所有的本地用戶可以chroot

(15)chroot_local_user=NO 設置指定用戶能夠chroot

(16)chroot_list_enable=YES

(17)chroot_list_file=/etc/vsftpd/chroot_list(只有/etc/vsftpd/chroot_list中的指定的用戶才能執行 )

(18)local_root=path 無論哪個用戶都能登錄的用戶,定義登錄帳號的主目錄, 若沒有指定,則每一個用戶則進入到個人用戶主目錄;

(19)chroot_local_user=yes/no 是否鎖定本地系統帳號用戶主目錄(所有);鎖定後,用戶只能訪問用戶的主目錄/home/user,不能利用cd命令向上轉;只能向下;

(20)chroot_list_enable=yes/no 鎖定指定文件中用戶的主目錄(部分),文件:/chroot_list_file=path 中指定;

(21)userlist_enable=YES/NO 是否載入用戶列表文件;

(22)userlist_deny=YES 表示上面所載入的用戶是否允許拒絕登錄;

(23)userlist_file=/etc/vsftpd/user_list 列表文件

限制IP 訪問FTP:

#vi /etc/hosts.allow

vsftpd:192.168.5.128:DENY 設置該IP地址不可以訪問ftp服務

FTP 訪問時間限制:

#cp /usr/share/doc/vsftpd-1.1.3/vsftpd.xinetd /etc/xinetd.d/vsftpd

#vi /etc/xinetd.d/vsftpd/

修改 disable = no

access_time = hour:min-hour:min (添加配置訪問的時間限制(註:與vsftpd.conf中listen=NO相對應)

例: access_time = 8:30-11:30 17:30-21:30 表示只有這兩個時間段可以訪問ftp

ftp的配置基本上只有這些了。

默認情況下,ftp根目錄是/var/ftp。 如果要修改這個目錄位置,可以更改/etc/passwd 文件:

[root@singledb ftp]# cat /etc/passwd | grep ftp

ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

創建一個用戶來訪問FTP,並指定該用戶的FTP 目錄:

[root@singledb u02]# useradd -d /u02/qsftp qs

[root@singledb u02]# passwd qs

Changing password for user qs.

New UNIX password:

BAD PASSWORD: it is WAY too short

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

這里指定的是/u02/qsftp 這個目錄,要注意個目錄的許可權。

更改用戶不能telnet,只能ftp:

usermod -s /sbin/nologin username //用戶只能ftp,不能telnet

usermod -s /sbin/bash username //用戶恢復正常

禁止用戶ssh登陸

useradd username -s /bin/false

更改用戶主目錄:

usermod -d /bbb username //把用戶的主目錄定為/bbb

然後用qs這個用戶就可以訪問了。

以上只是一些簡單的設置。 在用戶許可權這塊還有很多內容可以研究。 比如特定用戶的特定許可權。 安全性等。 以後在研究了。

G. 如何安裝ftp軟體 linux

方法/步驟
1
在安裝好的Linux,當我輸入ftp的時候,提示我沒有找到ftp的指令,在網上查看,說是要去安裝一個vsftpd。先將許可權設置為root,或者指令前加sudo。指令如下:
yum install vsftpd
或者
sudo yum install vsftpd

2
然後安裝好後,輸入/sbin/service vsftpd restart去重啟vsftpd.

3
然後安裝ftp。
yum install vsftpd

4
然後輸入ftp後,盡可以進入ftp的控制界面。

5
現在如果你想登陸一個FTP,就可以通過open指令去進入該FTP。
例如:open 127.0.0.0
如果FTP設置許可權,可能在輸入後需要輸入用戶名和密碼。
這樣就可以直接進入FTP去操作了。

END
操作指令
1
FTP的操作指令其實和Linux很相似,如下:
1、ls 列出遠程機的當前目錄2、cd 在遠程機上改變工作目錄3、lcd 在本地機上改變工作目錄4、ascii 設置文件傳輸方式為ASCII模式5、binary 設置文件傳輸方式為二進制模式6、close 終止當前的ftp會話7、hash 每次傳輸完數據緩沖區中的數據後就顯示一個#號8、get(mget) 從遠程機傳送指定文件到本地機9、put(mput) 從本地機傳送指定文件到遠程機10、open 連接遠程ftp站點11、exit退出ftp。
2
例如:下載文件
下載文件之前要先設置好本地的目錄,用來存放下載的文件
lcd /home/123/web ##設置本地存放目錄 默認為 /home/usr
get 123.txt ##下載123.txt文件到 /home/123/web 中
get -c 123.txt ##斷點續傳下載
mget *.txt ##批量下載所有txt文件
mget -c *.txt ##斷點續傳
mget -c ./123/aaa/*.txt ##斷點續傳、批量下載ftp端aaa目錄下的所有txt文件
pget -c -n 10 file.dat
##以最多10個線程以允許斷點續傳的方式下載file.dat
##可以通過設置 set pget:default-n 5 的值而使用默認值。
mirror aaa/
##將aaa目錄整個的下載下來,子目錄也會自動復制 本地自動建立目錄
3
例如:上傳文件
put 123.txt ##同下載
mput *.txt ##同下載
mirror -R aaa/ ##同下載
4
例如:查看ftp端文件
ls *.txt ##查找當前目錄下的所有txt文件
ls ./123/ ##列出123目錄下所有文件
find . -name "*.txt" ##遞歸查找站點上所有的txt文件
find ./xx -name "*.txt" ##查找xx目錄下所有的txt文件
附1: ls第二次讀取的是本地緩存,可以用 rels 代替 ls 或者catch off / catch on 來開關catch,catch flush清空本地catch
附2: 瀏覽本地目錄的命令可用!ls, 如 !ls /usr/local/bin/

H. linux怎麼搭建ftp伺服器

安裝vsFTP軟體 啟動服務之後 useradd -d /houme/裂槐運FTPTEST -m FTPTEST passwd FTPTEST 輸入密碼 這樣就有肆梁一個FTP用戶可以用FTP來連接你的FTP伺服器 當然記得設明散置分配的目錄的許可權和組許可權

I. 怎樣在linux中搭建FTP伺服器

FTP服務可以根據服務對象的不同分為兩類:一類是系統FTP伺服器,它只允許系統上的合法用戶使用;另一類是匿名FTP伺服器,Anonymous FTP Server,它使用任何人都可以登錄到FTP伺服器上去獲取文件。

5.1 選擇和安裝FTP伺服器軟體
如果你在安裝LINUX系統的時候,在選擇啟動進程的時候選擇了「ftpd」這一項的話,安裝完LINUX系統後,它已經將一個默認的FTP伺服器安裝到系統中去了。我們已經可以利用它來實現系統FTP伺服器的功能了。我們只需在此基礎上根據我們的需要進行一些個性化設定就可以了。
在絕大多數的LINUX發行版本中都選用的是Washington University FTP,它是一個著名的FTP伺服器軟體,一般簡稱為wu-ftp。它功能強大,能夠很好地運行於眾多的UNIX操作系統,例如:IBM AIX、FreeBSD、HP-UX、NeXTstep、Dynix、SunOS、Solaris等。所以Internet上的FTP伺服器,一大半以上採用了它。
wu-ftp擁有許多強大的功能,很適於吞吐量較大的FTP伺服器的管理要求:
1) 可以在用戶下載文件的同時對文件做自動的壓縮解壓縮操作;
2) 可以對不同網路上的機器做不同的存取限制;
3) 可以記錄文件上載和下載時間;
4) 可以顯示傳輸時的相關信息,方便用戶及時了解目前的傳輸動態;
5) 可以設置最大連接數,提高了效率,有效地控制了負載。

5.2 wu-ftp的組成
安裝了wu-ftp後,你將在/bin目錄下看到以下五個可執行文件:
ftpd FTP伺服器程序
ftpshut 用於關閉FTP伺服器程序
ftpcount 顯示目前在線人數
ftpwho 查看目前FTP伺服器的連接情況
ckconfig 檢查FTP伺服器的設置是否正確
除了這些可執行文件以外,它還在/etc和/var目錄下生成了七個配置文件:
/etc/ftpusers
/etc/ftpaccess
/var/run/ftp.pids
/etc/ftpconversions
/var/log/xferlog
/etc/ftpgroups
/etc/ftphosts
系統安裝了wu-ftp後,會建立一個特殊的用戶ftp,並在/home目錄下建立了一個ftpd目錄,當用戶以匿名登錄上來時,將會自動定位於這個目錄下。在這個目錄下一般會建立幾個子目錄。
/home/ftpd/bin:存放一些供FTP用戶使用的可執行文件
/home/ftpd/etc:存放一些供FTP用戶使用的配置文件
/home/ftpd/pub:存放供下載的信息
/home/ftpd/incoming:存放供上載信息的空間

5.3 wu-ftp的配置
5.3.1 查看、修改/etc/inetd.conf文件
/etc/inetd.conf文件是LINUX系統的超級伺服器inetd的配置文件。它負責監聽多個TCP/IP埠。當它收到請求,就根據配置文件派生一個相應的伺服器。通過使用超級伺服器,其他服務就可以只在需要時才派生,從而大大節省了系統資源。
而wu-ftp就是利用超極伺服器inetd來監聽請求的。當超級伺服器inetd收到了客戶端的FTP請求時,就根據配置文件打開一個FTP服務進程。所以我們如果要使用wu-ftp,就必須確認在超級伺服器inetd的配置文件inetd.conf中有這樣一句:
ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd
以便當超級伺服器收到FTP請求的時候,能夠派生一個wu-ftp的FTP服務進程。(註:要確認是否有這樣一行時,可以使用文件內容查找命令來確認:
cat /etc/inetd.conf | grep ftp 如果沒有,則用手工加入或手工修改。

5.3.2 wu-ftpd的命令選項
wu-ftpd就是wu-ftp的服務進程。它可以不帶參數執行,也可以帶參數執行。下面簡單介紹一下wu-ftpd的執行參數。
-d 當FTP伺服器發生錯誤時,將錯誤入系統的syslog中;
-l 將每次FTP客戶端進行連接的入系統的syslog中;
-t 設置FTP客戶端連接幾分鍾無操作就切斷連接;
-a 使wu-ftp使用/etc/ftpaccess的設定;
-A 使wu-ftp不使用/etc/ftpaccess的設定;
-L 將FTP客戶端連線後所執行的程序記錄在系統的syslog中;
-I 將FTP客戶端上載文件的日誌記錄在/usr/adm.xferlog文件中;
-o 將FTP客戶端下載文件的日誌記錄在/usr/adm/xferlog文件中。
通過對以上參數的理解,我們建議,將上面系統安裝時的那條默認配置改為:
ftp stream tcp nowait root /usr/sbin/tcpd wu.ftpd ?a ?I

5.3.3 提供自動壓縮、解壓縮的功能
如果想讓FTP伺服器有自動壓縮、解壓縮的功能,必須先將一些壓縮、解壓縮的命令文件如tar、gzip、gunzip、compress、uncompress等命令文件拷貝到/home/ftpd/bin目錄下。

5.3.4 關於/etc/ftpaccess的設置
這個配置文件是FTP伺服器上最重要的配置文件,它直接關繫到你的FTP伺服器能否正常工作,還有許多許可權上的設置。下面是一個典型的配置實例。
loginfails 3
class local real *
class remote anonymous guest *
limit remote 100 Any /etc/ftpd/toomany.
msgmessage /etc/ftpd/welcome.msg login
compress yes local remote
tar yes local remote
private yes
passwd-check rfc822 warn
log commands real
log transfer anonymous guest inbound outbound
log transfer real inbound
shutdown /etc/ftpd/shut.msg
delete no anonymous,guest
overwrite no anonymous,guest
rename no anonymous
chmod no anonymous,guest
umask no anonymous
upload /home/ftpd * no
upload /home/ftpd /bin no
upload /home/ftpd /etc no
upload /home/ftpd /pub yes real 0644 dirs
upload /home/ftpd /incoming yes real guest anonymous 0644 dirs
alias in /incoming
email [email protected]
email [email protected]
deny *.com.tw /etc/ftpd/deny.msg
下面我們逐句進行講解,並給出每條設置的含義,以便大家觸類旁通,以便根據自己FTP伺服器的具體情況進行合理的設置。
1. 格式:loginfails [次數]
功能:設定當用戶登錄到FTP伺服器時,允許用戶輸錯密碼的次數。
實例:loginfails 3:密碼輸入錯誤三次就切斷連接。
2. 格式:class [類名] [real/guest/anonymous] [IP地址]
功能:這個指令的功能設定FTP伺服器上用戶的類別。並可對客戶端的IP地址進行限制,允許某部分的IP地址或全部的IP地址訪問。而在FTP伺服器上的用戶基本上可以分為以下三類:
real 在該FTP伺服器有合法帳號的用戶;
guest 有記錄的匿名用戶;
anonymous 許可權最低的匿名用戶
實例:class local real *:定義一個名為local的類,它包含了在任何地方登錄(*代表所有IP地址)的real用戶。
class remote anonymous guest *:定義一個名為remote的類,它包含了在任何地方登錄的anonymous用戶和guest用戶。
3. 格式:limit [類別] [人數] [時間] [文件名]
功能:這個指令的功能為設置指定的時間內指定的類別允許連接的指定人數上限。當達到人數上限的時候,顯示指定文件的內容。
實例:limit remote 100 Any /etc/ftpd/toomany.msg:在任何時間內,remote類的訪問用戶達到100人時,將不再允許無法產生新的連接,當第101位客戶要連接時,連接將失敗,並象用戶出示文件/etc/ftpd/toomany.msg的內容。
4. 格式:message [文件名稱] [指令]
功能:當用戶執行所指定的指令時,系統將指定的文件內容顯示出來。
實例:message /etc/ftpd/welcome.msg login:當用戶執行login命令時,也就是登錄到FTP伺服器上的時候,系統將顯示文件/etc/ftpd/welcome.msg的內容。
5. 格式:compress [yes/no] [類別]
功能:設置哪一個類別的用戶可以使用compress(壓縮)功能。
實例:compress yes local remote:允許local和remote兩個類別的用戶都能使用compress(壓縮)功能。
6. 格式:tar [yes/no] [類別]
功能:設置哪一個類別的用戶可以使用tar(歸檔)功能。
實例:tar yes local remote:允許local和remote兩類的用戶都能使用tar功能。
7. 格式:private [yes/no]
功能:設定是否支持群組對文件的取用。
實例:private yes:支持群組對文件的取用。
8. 格式:passwd-check [none/trivial/rfc822] [enforce/warn]
功能:設定對匿名用戶anonymous的密碼使用方式。
none 表示不做密碼驗證,任何密碼都可以登錄;
trival 表示只要輸入的密碼中含有字元「@」就可以登錄;
rfc822 表示密碼一定要符合RFC822中所規定的E-Mail格式才能登錄;
enfore 表示輸入的密碼不符合以上指定的格式就不讓登錄;
warn 表示密碼不符合規定時只出現警告信息,仍然能夠登錄。
實例:passwd-check rfc822 warn:希望能夠得到符合規定的E-Mail作為密碼,但如果不是,也允許登錄。
9. 格式:log command [real/guest/anonymous]
功能:設置哪些用戶登錄後的操作記錄在文件/usr/adm/xferlog中。
實例:log command real:當real用戶登錄後,將他的操作記錄下來。由於其它用戶許可權較低,所以操作不會引起太大的安全隱患,所以一般只需記下real用戶的操作就可以了。
10. 格式:log transfers [real/guest/anonymous] [inbound/outbound]
功能:設置哪些用戶的上載(inbound)和下載(outbound)操作做日誌。
實例:log transfer anonymous guest inbound outbound:對於匿名用戶要更加的關注它們的文件操作,所以無論上載、下載都進行記錄。
log transfer real inbound:對於合法用戶則只記錄他的上載記錄。
11. 格式:shutdown [文件名]
功能:FTP伺服器關閉的時間可以設置在後面所指定的文件中,當設置的時間一到,便無法登錄FTP伺服器了,要恢復的話只有將這個文件刪掉。而這個文件必須由指令/bin/ftpshut來生成。
實例:shutdown /etc/ftpd/shut.msg
12. 格式:delete [yes/no] [real/anonymous/guest]
功能:設置是否允許指定用戶使用delete命令刪除文件。默認是允許。
實例:delete no anonymous,guest:為了更好地管理FTP伺服器,一般情況下,我們不允許匿名用戶執行delete命令。
13. 格式:overwrite [yes/no] [real/anonymous/guest]
功能:設置是否允許指定用戶覆蓋同名文件。默認是允許。
實例:overwrite no anonymous,guest:為了更好地管理FTP伺服器,一般情況下,我們不允許匿名用戶覆蓋同名文件。
14. 格式:rename [yes/no] [real/anonymous/guest]
功能:設置是否允許指定用戶使用rename命令來為文件改名。默認是允許。
實例:delete no anonymous:為了更好地管理FTP伺服器,一般情況下,我們不允許匿名用戶執行rename命令改變文件名。而對有記錄的匿名用戶則適當的放寬,允許他們使用改名命令。
15. 格式:chmod [yes/no] [real/anonymous/guest]
功能:設置是否允許指定用戶使用chmod命令更改文件許可權。默認是允許。
實例:delete no anonymous,guest:為了更好地管理FTP伺服器,一般情況下,我們不允許匿名用戶執行chmod命令更改文件許可權。
16. 格式:umask [yes/no] [real/anonymous/guest]
功能:設置是否允許指定用戶使用umask命令。默認是允許。
實例:delete no anonymous:為了更好地管理FTP伺服器,一般情況下,我們不允許匿名用戶執行umask命令。
17. 格式:upload [根目錄] [上載目錄] [yes/no] [用戶] [許可權] [dirs/nodirs]
功能:對可以上載的目錄進行更加詳細的設置。
實例:upload /home/ftpd * no:表示在子目錄/home/ftpd下不允許上載;upload /home/ftpd /bin no:表示在子目錄/home/ftpd/bin下不允許上載;upload /home/ftpd /etc no:表示在子目錄/home/ftpd/etc下不允許上載;upload /home/ftpd /pub yes real 0644 dirs:允許用伺服器上的合法用戶在子目錄/home/ftpd/pub目錄下能上載許可權為0644(也就是-rw-r--r--)的文件,而且在這個目錄下可以新建子目錄。 upload /home/ftpd /incoming yes real guest anonymous 0644 dirs:允許所有的用戶在子目錄/home/ftpd/incoming下能上載許可權為0644的文件,而且在這個目錄下可以新建子目錄。
18. 格式:alias [目錄別名] [目錄名]
功能:給指定目錄設置一個別名,在切換目錄時就可以使用較短的目錄別名。
實例:alias inc: /incoming:為子目錄incoming設置一個別名inc:。
19. 格式:email [guest的E-Mail地址]
功能:只要將某些E-Mail地址設置在這個地方,那麼這些用戶登錄到FTP伺服器時,他的身份將為guest,一般許可權比real低一些,比anonymous高。
實例:email [email protected] email [email protected]:這里僅是一個示例,實際上可以包含多個符合規范的E-Mail地址。
20. 格式:deny [IP地址/域名] [說明文件]
功能:這個設置可以限制哪一些IP地址或域名的用戶無法登入FTP伺服器。
實例:deny *.com.tw /etc/ftpd/deny.msg:設置凡是域名是以「.com.tw」結束的域名,都禁止其訪問。而將/etc/ftpd/deny.msg的內容顯示給用戶看。

5.3.5 設置/etc/ftpuser,禁止某些用戶登錄
有時我們需要禁止一些用戶使用FTP服務。其實這個設置是十分簡單的,只需要將要禁止的用戶帳號寫入文件/etc/ftpuser中。由於從系統的安全考慮,一般我們是不希望許可權過大的用戶和一些與命令名相同的用戶進入FTP伺服器。所以在預設的配置中,一般以下用戶已經被列入了「黑名單」。
root uucp news bin adm nobody lp sync shutdown halt mail

5.3.6 設置/etc/ftphosts,禁止某些來自指定機器上的登錄
如果你需要拒絕來自某些主機的登錄,一種方法就是在/etc/ftpaccess中設置deny命令,另一種更加簡單的方法就是在/etc/ftphosts中寫入你要禁止的主機的IP地址或域名。

5.3.7 使新的配置生效
到此為止,我們已經能夠根據自己的需要對FTP伺服器配置進行必要的修改和調整。而讓我們重新配置後,就必須使其生效。一般的,對/etc/ftpaccess的配置是直接作用於設置後的下一次FTP服務進程。而其它的則要對inetd進程重新啟動。

5.4 wu-ftp相關的其他一些命令的使用

5.4.1 連接數統計命令ftpcount
我們可以使用ftpcount命令十分清楚地統計出當前連接到FTP伺服器上的用戶數目,並且同時列出上限。命令輸出如下所示:
Service class local 0 Users(20maximum)
Service class remote 5 Users(100maximum)

5.4.2 在線用戶查看命令ftpwho
我們可以使用ftpwho命令十分清楚地列出當前連接的用戶的詳細情況。

5.4.2 FTP關閉文件生成命令ftpshut
我們可以使用ftpshut命令生成一個在/etc/ftpaccess中設置的shut.msg文件,用於關機設定。ftpshut命令的格式為:
Ftpshut <-l min> <-d min> time <說明>
-l 這個參數設定在關閉FTP伺服器功能前多少分鍾時停止用戶的連接;
-d 這個參數設定在關閉FTP伺服器功能前多少分鍾時切斷用戶連接;
time 指定關閉FTP伺服器的時間。例如6:20分則寫為0620;

熱點內容
pythonbinascii 發布:2024-04-29 23:23:00 瀏覽:39
安卓怎麼讓運存變大 發布:2024-04-29 23:21:53 瀏覽:459
springmd5加密 發布:2024-04-29 23:03:50 瀏覽:31
如何選擇伺服器業務量 發布:2024-04-29 22:49:28 瀏覽:446
php怎樣實現頁面跳轉頁面 發布:2024-04-29 22:32:39 瀏覽:696
山東煙台電信dns伺服器ip地址 發布:2024-04-29 21:22:59 瀏覽:137
資料庫數據互通 發布:2024-04-29 21:19:02 瀏覽:155
pythonor的語法 發布:2024-04-29 21:07:48 瀏覽:703
方易通安卓機怎麼樣 發布:2024-04-29 21:06:30 瀏覽:766
廣饒編程 發布:2024-04-29 20:39:07 瀏覽:121