ftp(file transfer protocol)
功能說明:設置文件系統相關功能。
語法:ftp [-dignv][主機名稱或IP地址]
補充說明:FTP是ARPANet的標准文件傳輸協議,該網路就是現今Internet的前身。
參數: 《Linux就該這么學》
-d 詳細顯示指令執行過程,便於排錯或分析程序執行的情形。
-i 關閉互動模式,不詢問任何問題。
-g 關閉本地主機文件名稱支持特殊字元的擴充特性。
-n 不使用自動登陸。
-v 顯示指令執行過程。
1. 連接ftp伺服器
格式:ftp [hostname| ip-address]
a)在linux命令行下輸入:
ftp 192.168.1.1
b)伺服器詢問你用戶名和密碼,分別輸入用戶名和相應密碼,待認證通過即可。
c)也可以先輸入ftp
ftp>
d)然後在輸入要連接的IP
ftp>open 192.168.1.1
2. 下載文件
下載文件通常用get和mget這兩條命令。
a) get
格式:get [remote-file] [local-file]
將文件從遠端主機中傳送至本地主機中。
如要獲取遠程伺服器上/usr/your/1.htm,則
ftp> get /usr/your/1.htm 1.htm (回車)
b) mget
格式:mget [remote-files]
從遠端主機接收一批文件至本地主機。
如要獲取伺服器上/usr/your/下的所有文件,則
ftp> cd /usr/your/
ftp> mget *.* (回車)
此時每下載一個文件,都會有提示。如果要除掉提示,則在mget *.* 命令前先執行:prompt off
注意:文件都下載到了linux主機的當前目錄下。比如,在/usr/my下運行的ftp命令,則文件都下載到了/usr/my下。
3.上傳文件
a) put
格式:put local-file [remote-file]
將本地一個文件傳送至遠端主機中。
如要把本地的1.htm傳送到遠端主機/usr/your,並改名為2.htm
ftp> put 1.htm /usr/your/2.htm (回車)
b) mput
格式:mput local-files
將本地主機中一批文件傳送至遠端主機。
如要把本地當前目錄下所有html文件上傳到伺服器/usr/your/ 下
ftp> cd /usr/your (回車)
ftp> mput *.htm(回車)
B. 如何在linux下開啟FTP服務
Linux下ftp服務可以通過搭建vsftpd服務來實現,以CentOS為例,首先查看系統中是否安裝了vsftpd,可以通過執行命令rpm -qa |grepvsftpd來查看是否安裝相應的包,如果沒有安裝那麼可以執行yum-yinstallvsftpd來安裝,安裝之後首先創建ftp用戶,比如ftp_test,命令如下:
useradd-s/sbin/nologin-d/home/ftp_testftp_test
目錄盡量不要選擇根目錄下,這里是/home/ftp_test,並且ftp_test這個目錄不要手動創建,否則許可權會有問題,執行命令的時候會自動創建,
現在可以看到上面的路徑是一個/,對於ftp用戶來說也就是根目錄了,只能在這個目錄下操作,而無法跳出這個目錄
以上就是vsftpd服務的基本搭建過程,實際使用時可以分配多個用戶
C. linux虛擬機怎麼搭建ftp伺服器
詳解Linux中搭建一個ftp伺服器。
ftp工作是會啟動兩個通道:
控制通道 , 數據通道
在ftp協議中,控制連接均是由客戶端發起的,而數據連接有兩種模式:port模式(主動模式)和pasv(被動模式)
PORT模式:
在客戶端需要接收數據時,ftp_client(大於1024的隨機埠)-PORT命令->ftp_server(21) 發送PORT命令,這個PORT命令包含了客戶端是用什麼埠來接收數據(大於1024的隨機埠),在傳送數據時,ftp_server將通過自己的TCP 20 埠和PORT中包含的埠建立新的連接來傳送數據。
PASV模式:
傳送數據時,ftp_client--PASV命令-->ftp_server(21) 發送PASV命令時,ftp_server自動打開一個1024--5000之間的隨機埠並且通知ftp_client在這個埠上傳送數據,然後客戶端向指定的埠發出請求連接,建立一條數據鏈路進行數據傳輸。
安裝ftp
#rpm -qa vsftpd 查看是否已經安裝
#yum install -y vsftpd
#rpm -ql vsftpd
/etc/logrotate.d/vsftpd. vsftpd的日誌文件
/etc/pam.d/vsftpd PAM認證文件
/etc/rc.d/init.d/vsftpd 啟動腳本
/etc/vsftpd vsftpd的配置文件存放的目錄
/etc/vsftpd/ftpusers 禁止使用vsftpd的用戶列表文件
/etc/vsftpd/user_list 禁止或允許使用vsftpd的用戶列表文件
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh vsftpd操作的一些變數和設置
/usr/sbin/vsftpd vsftpd的主程序
其他一些說明文檔和手冊文件略!
/var/ftp 匿名用戶主目錄
/var/ftp/pub 匿名用戶的下載目錄
#service vsftpd start
#chkconfig --level vsftpd
#chkconfig --level 2345 vsftpd on
2 匿名用戶的登錄名:ftp(anonymous) 密碼空 ,登錄的目錄為/var/ftp
用匿名用戶登錄的時候默認是只有下載的許可權,沒有上傳,創建和刪除的許可權:
#vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES 上傳
anon_mkdir_write_enable=YES 創建
anon_other_write_enable=YES 刪除
#service vsftpd restart
為了安全應該禁止匿名用戶的登錄:
123456 #vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
#anon_upload_enable=YES 上傳
#anon_mkdir_write_enable=YES 創建
#anon_other_write_enable=YES 刪除
#service vsftpd restart
3 創建一個直接登錄系統用戶來登錄ftp:
#useradd -s /sbin/nologin viong
#passwd viong
用戶具有 上傳 創建 下載 切換目錄
------------------------------------------------------------------
4 加強vsftp安全設置:
限制系統用戶鎖定在家目錄:
#vim /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list 限制更多的系統用戶,把需要限制的用戶加入/etc/vsftpd/chroot_list中即可
#touch /etc/vsftpd/chroot_list
#cut -d: -f 1 /etc/passwd >>/etc/vsftpd/chroot_list 將本地用戶都加入到chroot_list
限制重要系統用戶不能登錄ftp:
#cat /etc/vsftpd/ftpusers 默認已經添加了系統中一些比較重要的用戶
#echo "viong" >>/etc/vsftpd/ftpusers 此時viong不能登錄ftp
利用ftp用戶策略允許登錄ftp的系統用戶:
/etc/vsftpd/user_list 只有在這個文件中的用戶才能登錄系統:
#vim /etc/vsftpd/vsftpd.conf
#在userlist_enable=YES 的後面添加
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
設置登錄ftp目標ip地址:用iptables設置
---------------------------------------
搭建支持SSL加密傳輸的vsftpd:
#openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem 生成證書
#vim /etc/vsftpd/vsftpd.conf
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem
下面是ssl參數一些定義,根據自己需求去修改:
ssl_enable=yes/no //是否啟用 SSL,默認為no
allow_anon_ssl=yes/no //是否允許匿名用戶使用SSL,默認為no
rsa_cert_file=/path/to/file //rsa證書的位置
dsa_cert_file=/path/to/file //dsa證書的位置
force_local_logins_ssl=yes/no //非匿名用戶登陸時是否加密,默認為yes
force_local_data_ssl=yes/no //非匿名用戶傳輸數據時是否加密,默認為yes
force_anon_logins_ssl=yes/no //匿名用戶登錄時是否加密,默認為no
force_anon_data_ssl=yes/no //匿名用戶數據傳輸時是否加密,默認為no
ssl_sslv2=yes/no //是否激活sslv2加密,默認no
ssl_sslv3=yes/no //是否激活sslv3加密,默認no
ssl_tlsv1=yes/no //是否激活tls v1加密,默認yes
ssl_ciphers=加密方法 //默認是DES-CBC3-SHA
#service vsftpd restart
用flashftp連接:
連接類型為:FTP使用公開SSL(驗證SSL)
地址:192.168.137.130:21
登錄類型:普通
用戶:viong
密碼:123
D. 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這個用戶就可以訪問了。
以上只是一些簡單的設置。 在用戶許可權這塊還有很多內容可以研究。 比如特定用戶的特定許可權。 安全性等。 以後在研究了。
E. linux ftp 怎麼配置
下面是在虛擬機中的linux的ftp的基本配置(redhat AS 4.0為例): 首先要安裝linux下的vsftp軟體包。 rpm -qa|gerp vsftpd //查找vsftpd有沒有安裝 如果沒有安裝就 vsftpd-2.0.1-5.i386.rpm (在第一張光碟) 在linux中有一個非常重要的一點就是要掛載光碟機 mount /media/cdrom 在這里我們就不用源代碼安裝了。用的是rpm安裝 #rpm -ivh vsftpd-2.0.1-5.i386.rpm 這里就安裝好了。 service vsftpd start 啟動vsftpd服務 如果在不設置任何的情況下,可以以匿名的方式訪問該ftp。 注.如果訪問不了的時候請大家要把linux的防火牆也要關閉: iptables -F 清除防火牆 在安裝好ftp會產生幾個文件: /etc/vsftpd/vsftpd.conf 主配置文件 /etc/vsftpd.ftpusers 指定哪些用戶不能訪問FTP伺服器 /etc/vsftpd.user_list 文件中指定的用戶是否可以訪問ftp伺服器由vsftpd.conf文件中的userlist_deny的取值來決定。 這幾個文件就是整個ftp控制和禁止用戶的許可權配置。。。 下面我們就來設置一個vsftpd的核心文件 # cd /etc/vsftpd/vsftpd.conf 這就是vsftpd的核心配置文件 anonymous_enable=YES/no 是否允許匿名用戶登錄 anonymous_enable=yes/no 是否允許匿名上傳文件 local_enable= YES/no 是否允許本地用戶登錄 write_enable= YES/no 是否允許本地用戶上傳 guest_enable=yes/no 是否允許虛擬用戶登錄; local_mask=022 設置本地用戶的文件生成掩碼為022,默認值為077 dirmessage_enable= YES 設置切換到目錄時顯示.message隱含文件的內容 xferlog_enable= YES 激活上傳和下載日誌 connect_from_port_20=YES 啟用FTP數據埠連接 pam_service_name=vsftpd 設置PAM認證服務的配置文件名稱, 該文件存放在/etc/pam.d目錄下 userlist_enable= YES 允許vsftpd.user_list文件中的用戶訪問伺服器 userlist_deny= YES 拒絕vsftpd.user_list文件中的用戶訪問伺服器 listen= YES/no 是否使用獨占啟動方式(這一項比較重要) tcp_wrappers= YES/no 是否使用tcp_wrappers作為主機訪問控制方式 最主要的就是這些設置了。(這是一般都是默認的不是太懂的不要動) 。《Linux就該這么學》里有相關介紹,建議看看。
F. linux中ftp的配置管理
vsftpd是UNIX類操作系統上運行的伺服器名稱,它的名字代表「very secure FTP daemon」,安全性是其設計與開發的一個重要目標。它可運行在Linux、Solaris等系統中,支持很多其他的FTP 伺服器不支持的特徵:
非常高的安全性需求
帶寬限制
良好的可伸縮性
創建虛擬用戶的可能性
分配虛擬IP地址的可能性
一、vsftpd的啟動
#service vsftpd start
如果允許用戶匿名訪問,需創建用戶ftp和目錄/var/ftp
# mkdir /var/ftp
# useradd –d /var/ftp ftp
二、vsftpd的配置
Vsftpd的配置文件存放在/etc/vsftpd/vsftpd.conf 我們可根據實際數要對如下信息進行配置:
1. 連接選項
☆監聽地址和控制埠
(1) listen_address=ip address
定義主機在哪個IP 地址上監聽FTP請求。即在哪個IP地址上提供FTP服務。
(2) listen_port=port_value
指定FTP伺服器監聽的埠號。默認值為21。
2. 性能與負載控制
☆超時選項
(1) idle_session_timeout=
空閑用戶會話的超時時間,若是超過這段時間沒有數據的傳送或是指令的輸入,則會被迫斷線。默認值是300s
(2) accept_timeout=numerical value
接受建立聯機的超時設定。默認值為60s
☆負載選項
(1) max_clients= numerical value
定義FTP伺服器最大的兵法連接數。當超過此連接數時,伺服器拒絕客戶端連接。默認值為0,表示不限最大連接數。
(2) max_per_ip= numerical value
定義每個IP地址最大的並發連接數目。超過這個數目將會拒絕連接。此選項的設置將會影響到網際快車、迅雷之類的多線程下載軟體。默認值為0,表示不限制。
(3) anon_max_rate=value
設定匿名用戶的最大數據傳輸速度,以B/s為單位。默認無。
(4) local_max_rate=value
設定用戶的最大數據傳輸速度。以B/s為單位。默認無。此選項對所有的用戶都生效。
3. 用戶選項
vsftpd的用戶分為3類:匿名用戶、本地用戶(local user)及虛擬用戶(guest)
☆ 匿名用戶
(1) anonymous_enable=YES|NO
控制是否允許匿名用戶登錄
(2) ftp_username=
匿名用戶使用的系統用戶名。默認情況下,值為ftp
(3) no_anon_password= YES|NO
控制匿名用戶登錄時是否需要密碼。
(4) anon_root=
設定匿名用戶的根目錄,即匿名用戶登錄後,被定位到此目錄下。主配置文件中默認無此項,默認值為/var/ftp/
(5) anon_world_readable_only= YES|NO
控制是否只允許匿名用戶下載可閱讀的文檔。YES,只允許匿名用戶下載可閱讀的文件。NO,允許匿名用戶瀏覽整個伺服器的文件系統。
(6) anon_upload_enable= YES|NO
控制是否允許匿名用戶上傳文件。除了這個參數外,匿名用戶要能上傳文件,還需要兩個條件,write_enable參數為YES;在文件系統上,FTP匿名用戶對某個目錄有寫許可權。
(7) anon_mkdir_wirte_enable= YES|NO
控制是否允許匿名用戶創建新目錄。在文件系統上,FTP匿名用戶必須對新目錄的上層目錄擁有寫許可權。
(8) anon_other_write_enbale= YES|NO
控制匿名用戶是否擁有除了上傳和新建目錄之外的其他許可權。如刪除、更名等。
(9) chown_uploads= YES|NO
是否修改匿名用戶所上傳文件的所有權。YES,匿名用戶上傳得文件所有權改為另一個不同的用戶所有,用戶由chown_username參數指定。
(10) chown_username=whoever
指定擁有匿名用戶上傳文件所有權的用戶。
☆本地用戶
(1) local_enable= YES|NO
控制vsftpd所在的系統的用戶是否可以登錄vsftpd。
(2) local_root=
定義本地用戶的根目錄。當本地用戶登錄時,將被更換到此目錄下。
☆虛擬用戶
(1) guest_enable= YES|NO
啟動此功能將所有匿名登入者都視為guest
(2) guest_username=
定義vsftpd的guest用戶在系統中的用戶名。
4. 安全措施
☆用戶登錄控制
(1) /etc/vsftpd.ftpusers
Vsftpd禁止列在此文件中的用戶登錄FTP伺服器。此機制是默認設置的。
(2) userlist_enable= YES|NO
此選項激活後,vsftpd將讀取userlist_file參數所指定的文件中的用戶列表。
(3) userlist_file=/etc/vsftpd.user_list
指出userlist_enable選項生效後,被讀取的包含用戶列表的文件。默認值是/etc/vsftpd.user_list
(4) userlist_deny= YES|NO
決定禁止還是只允許由userlist_file指定文件中的用戶登錄FTP伺服器。userlist_enable選項啟動後才能生效。默認值為YES,禁止文中的用戶登錄,同時不向這些用戶發出輸入口令的指令。NO,只允許在文中的用戶登錄FTP伺服器。
☆目錄訪問控制
(1) chroot_list_enable= YES|NO
鎖定某些用戶在自己的目錄中,而不可以轉到系統的其他目錄。
(2) chroot_list_file=/etc/vsftpd/chroot_list
指定被鎖定在主目錄的用戶的列表文件。
(3) chroot_local_users= YES|NO
將本地用戶鎖定在主目中。
三、vsftpd伺服器的配置實例:
基於IP的虛擬FTP伺服器配置
假設伺服器有兩個IP地址,192.168.1.199和192.168.1.200。vsftpd是建立在192.168.1.199上的。現在在192.168.1.200上再提供一個虛擬FTP伺服器。
☆創建虛擬FTP伺服器根目錄
# mkdir –p /var/ftp2/pub
確保/var/ftp2和/var/ftp2/pub目錄的所有者和組均為root,掩碼為755
# chmod 755 /var/ftp2 # chmod 755 /var/ftp2/pub
# chown –R root /var/ftp2 # chown –R : root /var/ftp2
☆ 增加虛擬FTP伺服器的匿名用戶帳號ftp2
# useradd –d /var/ftp2 –M ftp2
☆ 創建虛擬FTP伺服器的配置文件
復制原來的vsftpd.conf作為虛擬FTP伺服器的配置文件,並修改相關參數
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd2.conf
# vi /etc/vsftpd/vsftpd2.conf
添加或修改參數:
Listen=YES
Listen_address=192.168.1.200
ftp_username=ftp2
anon_root=/var/ftp2
並可參考vsftpd的配置部分的說明做其他配置,如:
•允許匿名用戶上傳文件
Write_enable=YES
Anon_world_readable_only=NO
Anon_upload_enable=YES
Anon_mkdir_write_enable=YES
創建匿名用戶上傳文件的目錄,並設置許可權:
# mkdir /var/ftp/incoming # chmod o+w /var/ftp/incoming
•取消寫許可權
Write_enable=NO
Anon_upload_enable=NO
Anon_mkdir_write_enable=NO
Anon_other_write_enable=NO
•限制下載速度為80KB/s
Anon_max_rate=8000
•控制並發數,以及每個IP地址的並發數
Max_clients=100
Max_per_ip=3
☆啟動虛擬FTP伺服器
# /usr/sbin/vsftpd /etc/vsftpd/vsftpd2.comf &
G. linux下samba和ftp的區別
linux下samba和ftp有2點不同,相關介紹具體如下:
一、兩者的特點不同:
1、samba的特點:samba可以信息共享、供應商擁有管理庫存、需求准確預測。
2、ftp的特點:ftp為其他科學的供應鏈物流管理如連續補充貨物、快速反應、准時化供貨等創造了條件。
二、兩者的作用不同:
1、samba的作用:samba打破了傳統的各自為政的庫存管理模式。體現了供應鏈的集成化管理思想,適應市場變化的要求,是一種新的、有代表性的庫存管理思想。
2、ftp的作用:ftp目的是解決供應鏈系統中由於各企業相互獨立運作庫存模式所導致的需求放大現象,提高供應鏈的效率。
(7)linuxftp詳解擴展閱讀:
ftp的相關優勢介紹:
1、信息優勢。信息是企業的一項重要資源,而缺乏信息溝通也是上述庫存管理中出現問題的主要原因。ftp通過在上下游企業之間建立起一種戰略性的合作夥伴關系。
2、成本優勢。ftp實現了從分銷商到製造商到供應商之間在庫存管理方面的一體化,可以讓三方都能夠實現准時采購。准時采購不僅可以減少庫存,還可以加快庫存周轉,縮短訂貨和交貨提前期,從而降低企業的采購成本。
3、物流優勢。ftp在傳統的庫存管理中存在著各自為政的弊端,上下游企業之間都是各自管理自己的庫存,這就不可避免地會出現需求預測扭曲現象,產生的牛鞭效應極大地降低了企業的運作效率並增加了企業的成本。
H. 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軟體,進行遠程登錄訪問;下載直接在網路下載就行
I. linux下ftp伺服器的上傳下載的過程
在我用的所有ftp伺服器中來說,首推iis7伺服器管理工具,而且一直在用,感覺非常好。它可以作為FTP的客戶端,想要進行FTP的上傳下載操作,只需要下載安裝iis7伺服器管理工具就可以了,操作不復雜!
簡單的介紹一下iis7伺服器管理工具:可以批量管理WIN系列伺服器、VPS、批量導入伺服器VPS的IP,埠,賬號和密碼 、批量打開N個伺服器VPS的遠程桌面、遠程桌面後,遠程窗口右上角會出現 伺服器備注的信息,如鄭州xxx號伺服器 5、遠程桌面後,不影響任務欄顯示。可以及時看其他窗口。支持多種方式連接,操作簡潔,自身附帶教程。
第一步:點擊主程序圖中「上傳下載」鍵;
第二步:點擊「 Ftp」;
第三步:點擊「添加」;
第四步:在彈出伺服器信息框中填寫Ftp信息,注意:FIP ip埠、賬號、密碼為必填項;
第五步:選擇需要打開的FTP伺服器;
第六步:點擊打開,即刻見FTP效果圖。