A. 如何搭建ftp伺服器
Ubuntu自帶的FTP伺服器是vsftpd
1、安裝vsftpd
sudo apt-get install vsftpd
安裝了之後會在/home/下建立一個ftp目錄。這時候你可以試著訪問下ftp://IP地 址。應該可以看到一個空白內容的ftp空間。
默認設置下匿名用戶可以下載,但不能寫入或是上傳
2、設置 vsftpd.conf文件
現在我們要讓匿名用戶無法訪問,並且得輸入linux上的用戶密碼後才能訪問到他們自己目錄里的內容。
首先找到設置vsftpd的文件,位置在/etc/vsftpd.conf
sudo gedit /etc/vsftpd.conf
伺服器的配置
1. 匿名伺服器的連接(獨立的伺服器)
在/etc/vsftpd/vsftpd.conf配置文件中添加如下幾項:
Anonymous_enable=yes (允許匿名登陸)
Dirmessage_enable=yes (切換目錄時,顯示目錄下.message的內容)
Local_umask=022 (FTP上本地的文件許可權,默認是077)
Connect_form_port_20=yes (啟用FTP數據埠的數據連接)*
Xferlog_enable=yes (激活上傳和下傳的日誌)
Xferlog_std_format=yes (使用標準的日誌格式)
Ftpd_banner=Moonlight Ftp Server (歡迎信息)
Pam_service_name=vsftpd (驗證方式)*
Listen=yes (獨立的VSFTPD伺服器)*
功能:只能連接FTP伺服器,不能上傳和下傳
註:其中所有和日誌歡迎信息相關連的都是可選項,打了星號的無論什麼帳戶都要添加,是屬於FTP的基本選項
2. 開啟匿名FTP伺服器上傳許可權
在配置文件中添加以下的信息即可:
Anon_upload_enable=yes (開放上傳許可權)
Anon_mkdir_write_enable=yes (可創建目錄的同時可以在此目錄中上傳文件)
Write_enable=yes (開放本地用戶寫的許可權)
Anon_other_write_enable=yes (匿名帳號可以有刪除的許可權)
3. 開啟匿名伺服器下傳的許可權
在配置文件中添加如下信息即可:
Anon_world_readable_only=no
註:要注意文件夾的屬性,匿名帳戶是其它(other)用戶要開啟它的讀寫執行的許可權
(R)讀-----下傳 (W)寫----上傳 (X)執行----如果不開FTP的目錄都進不去
4.普通用戶FTP伺服器的連接(獨立伺服器)
在配置文件中添加如下信息即可:
Local_enble=yes (本地帳戶能夠登陸)
Write_enable=no (本地帳戶登陸後無權刪除和修改文件)
功能:可以用本地帳戶登陸vsftpd伺服器,有下載上傳的許可權
註:在禁止匿名登陸的信息後匿名伺服器照樣可以登陸但不可以上傳下傳
5. 用戶登陸限制進其它的目錄,只能進它的主目錄
設置所有的本地用戶都執行chroot
Chroot_local_user=yes (本地所有帳戶都只能在自家目錄)
設置指定用戶執行chroot
Chroot_list_enable=yes (文件中的名單可以調用)
Chroot_list_file=/任意指定的路徑/vsftpd.chroot_list
注意:vsftpd.chroot_list 是沒有創建的需要自己添加,要想控制帳號就直接在文件中加帳號即可
6. 限制本地用戶訪問FTP
Userlist_enable=yes (用userlistlai 來限制用戶訪問)
Userlist_deny=no (名單中的人不允許訪問)
Userlist_file=/指定文件存放的路徑/ (文件放置的路徑)
註:開啟userlist_enable=yes匿名帳號不能登陸
7. 安全選項
Idle_session_timeout=600(秒) (用戶會話空閑後10分鍾)
Data_connection_timeout=120(秒) (將數據連接空閑2分鍾斷)
Accept_timeout=60(秒) (將客戶端空閑1分鍾後斷)
Connect_timeout=60(秒) (中斷1分鍾後又重新連接)
Local_max_rate=50000(bite) (本地用戶傳輸率50K)
Anon_max_rate=30000(bite) (匿名用戶傳輸率30K)
Pasv_min_port=50000 (將客戶端的數據連接埠改在
Pasv_max_port=60000 50000—60000之間)
Max_clients=200 (FTP的最大連接數)
Max_per_ip=4 (每IP的最大連接數)
Listen_port=5555 (從5555埠進行數據連接)
8. 查看誰登陸了FTP,並殺死它的進程
ps –xf |grep ftp
kill 進程號
最後重啟動服務
sudo /etc/init.d/vsftpd restart
B. 基於UNIX平台的FTP伺服器如何搭建
拿Unix -Solris 來說,你只要在/etc/ftpuser ,用VI編輯在root前面加個#root 然後啟動服務svcadm enable -rst ftp 就可以用了,以下是FTP配置文件的參數anonymous_enable=yes 允許匿名登陸
dirmessage_enable=yes 切換目錄時,顯示目錄下.message的內容
local_umask=022 FTP上本地的文件許可權,默認是077
connect_form_port_20=yes 啟用FTP數據埠的數據連接
xferlog_enable=yes 激活上傳和下傳的日誌
xferlog_std_format=yes 使用標準的日誌格式
ftpd_banner=XXXXX 顯示歡迎信息
pam_service_name=vsftpd 驗證方式
listen=yes 獨立的VSFTPD伺服器
anon_upload_enable=yes 匿名用戶上傳許可權
anon_mkdir_write_enable=yes 創建目錄的同時可以在此目錄中上傳文件
write_enable=yes 本地用戶寫的許可權
anon_other_write_enable=yes 匿名帳號可以有刪除的許可權
anon_world_readable_only=no 匿名用戶瀏覽許可權
ascii_upload_enable=yes 啟用上傳的ASCII傳輸方式
ascii_download_enable=yes 啟用下載的ASCII傳輸方式
banner_file=/var/vsftpd_banner_file 用戶連接後歡迎信息使用的是此文件中的相關信息
idle_session_timeout=600(秒) 用戶會話空閑後10分鍾
data_connection_timeout=120(秒) 將數據連接空閑2分鍾斷
accept_timeout=60(秒) 將客戶端空閑1分鍾後斷
connect_timeout=60(秒) 中斷1分鍾後又重新連接
local_max_rate=50000(bite) 本地用戶傳輸率50K
anon_max_rate=30000(bite) 匿名用戶傳輸率30K
pasv_min_port=5000 將客戶端的數據連接埠改在
pasv_max_port=6000 5000—6000之間
max_clients=200 FTP的最大連接數
max_per_ip=4 每IP的最大連接數
listen_port=5555 從5555埠進行數據連接
local_enble=yes 本地帳戶能夠登陸
write_enable=no 本地帳戶登陸後無權刪除和修改文件
chroot_local_user=yes 本地所有帳戶都只能在自家目錄
chroot_list_enable=yes 文件中的名單可以調用
chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no
userlist_enable=yes 在指定的文件中的用戶不可以訪問
userlist_deny=yes
userlist_file=/etc/vsftpd.user_list
banner_fail=/路徑/文件名 連接失敗時顯示文件中的內容
ls_recurse_enable=no
async_abor_enable=yes
one_process_model=yes
listen_address=10.2.2.2 將虛擬服務綁定到某埠
guest_enable=yes 虛擬用戶可以登陸
guest_username=所設的用戶名 將虛擬用戶映射為本地用戶
chown_uploads=yes 改變上傳文件的所有者為root
chown_username=root
deny_email_enable=yes 是否允許禁止匿名用戶使用某些郵件地址
banned_email_file=//任意指定的路徑/xx/
pasv_enable=yes 伺服器端用被動模式
user_config_dir=/任意指定的路徑//任意文件目錄 指定虛擬用戶存放配置文件的路徑
ascii_upload_enable=yes 上傳的ASCII傳輸方式
ascii_download_enable=yes 啟用下載的ASCII傳輸方式
banner_file=/var/vsftpd_banner_file 用戶連接後歡迎信息使用的是此文件中的相關信息
idle_session_timeout=600(秒) 用戶會話空閑後10分鍾
data_connection_timeout=120(秒)將數據連接空閑2分鍾斷
accept_timeout=60(秒) 將客戶端空閑1分鍾後斷
connect_timeout=60(秒) 中斷1分鍾後又重新連接
local_max_rate=50000(bite) 本地用戶傳輸率50K
anon_max_rate=30000(bite) 匿名用戶傳輸率30K
pasv_min_port=5000 將客戶端的數據連接埠改在pasv_max_port=6000 5000—6000之間
max_clients=200 FTP的最大連接數Max_per_ip=4 每IP的最大連接數
listen_port=5555 從5555埠進行數據連接
local_enble=yes 本地帳戶能夠登陸
write_enable=no 本地帳戶登陸後無
C. vsftp 文件掩碼為022 什麼意思
這是反掩碼,是設置文件許可權的,文件主可讀可寫,同組只讀,其它只讀
D. 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
E. linux ftp 禁止上傳某些格式的文件怎麼做
linux ftp 文件上傳許可權有兩種匿名上傳和本地上傳
1)實現匿名用戶的上傳下載文件程序代碼:
Anonymous_enable=yes 匿名登陸
Connect_form_port_20=yes 啟用FTP數據埠的數據連接
Pam_service_name=vsftpd 驗證方式
Listen=yes 獨立的VSFTPD伺服器
Anon_upload_enable=yes 開放上傳許可權
Anon_mkdir_write_enable=yes 可創建目錄的同時可以在此目錄中上傳文件
Write_enable=yes 開放本地用戶寫的許可權
Anon_other_write_enable=yes
匿名帳號可以有刪除的許可權加上上面的這段,你就可以實現匿名ftp的上傳下載文件瞭然後你保存文件,用service vsftpd
start來啟動vsftp的服務,然後就可以用ftp了注意:確定你的防火牆
iptables上打開21埠,不然在登陸ftp的時候會提示socket錯誤,拒絕連接。還有就是當你再次編輯vsftp.conf後用
service vsftpd restart重起的時候總是提示你不能關閉vsftp服務,這時候你用service vsftpd
status察看一下他的狀態,如果提示你vsftpd被locked
那可能是因為你的vsftpd.conf中配置的有錯誤,你要重新編輯他,直到能正常重起他為止,一次配置不對,多配置幾次就好了
2)實現本地用戶上傳下
載
程序代碼:
新建一個用戶
adser 用戶名 增加一個用戶
passwd 用戶名 增加用戶的密碼
然後看/etc/passwd中最後一行就是你剛才添加的用戶信息
然後編輯/etc/vsftpd/vsftpd.conf文件,
Local_enable=yes 允許使用本地用戶來登陸ftp
在/etc/vsftpd.ftpuser中可以增加想要阻止登陸ftp的用戶
下面有關linux中ftp的設置項:
限制用戶只能在自己的目錄中
Chroot_list_enable=yes 文件中的名單可以調用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no,在文件中加入用戶名vsftpd.conf的參數
程序代碼:Anonymous_enable=yes 允許匿名登陸
Dirmessage_enable=yes 切換目錄時,顯示目錄下.message的內容
Local_umask=022 FTP上本地的文件許可權,默認是077
Connect_form_port_20=yes 啟用FTP數據埠的數據連接
Xferlog_enable=yes 激活上傳和下傳的日誌
Xferlog_std_format=yes 使用標準的日誌格式
Ftpd_banner=XXXXX 顯示歡迎信息
Pam_service_name=vsftpd 驗證方式
Listen=yes 獨立的VSFTPD伺服器
Anon_upload_enable=yes 匿名用戶上傳許可權
Anon_mkdir_write_enable=yes 創建目錄的同時可以在此目錄中上傳文件
Write_enable=yes 本地用戶寫的許可權
Anon_other_write_enable=yes 匿名帳號可以有刪除的許可權
Anon_world_readable_only=no 匿名用戶瀏覽許可權
Ascii_upload_enable=yes 啟用上傳的ASCII傳輸方式
Ascii_download_enable=yes 啟用下載的ASCII傳輸方式
Banner_file=/var/vsftpd_banner_file 用戶連接後歡迎信息使用的是此文件中的相關信息
Idle_session_timeout=600(秒) 用戶會話空閑後10分鍾
Data_connection_timeout=120(秒) 將數據連接空閑2分鍾斷
Accept_timeout=60(秒) 將客戶端空閑1分鍾後斷
Connect_timeout=60(秒) 中斷1分鍾後又重新連接
Local_max_rate=50000(bite) 本地用戶傳輸率50K
Anon_max_rate=30000(bite) 匿名用戶傳輸率30K
Pasv_min_port=5000 將客戶端的數據連接埠改在
Pasv_max_port=6000 5000—6000之間
Max_clients=200 FTP的最大連接數
Max_per_ip=4 每IP的最大連接數
Listen_port=5555 從5555埠進行數據連接
Local_enble=yes 本地帳戶能夠登陸
Write_enable=no 本地帳戶登陸後無權刪除和修改文件
Chroot_local_user=yes 本地所有帳戶都只能在自家目錄
Chroot_list_enable=yes 文件中的名單可以調用
Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no
Userlist_enable=yes 在指定的文件中的用戶不可以訪問
Userlist_deny=yes
Userlist_file=/etc/vsftpd.user_list
Banner_fail=/路徑/文件名 連接失敗時顯示文件中的內容
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2 將虛擬服務綁定到某埠
Guest_enable=yes 虛擬用戶可以登陸
Guest_username
F. 虛擬機linux怎麼連接外部ftp
下面是在虛擬機中的linux的ftp的基本配置(redhat AS 4.0為例): 首先要安裝linux下的vsftp軟體包。 rpm -qagerp 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作為主機訪問控制方式 最主要的就是這些設置了。(這是一般都是默認的不是太懂的不要動) 大家可以設置下面的設置: ftpd_banner=welcome to ftp service 設置連接伺服器後的歡迎信息 idle_session_timeout=60 限制遠程的客戶機連接後,所建立的控制連接,在多長時間沒有做任何的操作就會中斷(秒) data_connection_timeout=120 設置客戶機在進行數據傳輸時,設置空閑的數據中斷時間 accept_timeout=60 設置在多長時間後自動建立連接 connect_timeout=60 設置數據連接的最大激活時間,多長時間斷開,為別人所使用; max_clients=200 指明伺服器總的客戶並發連接數為200 max_per_ip=3 指明每個客戶機的最大連接數為3 local_max_rate=50000(50kbytes/sec) anon_max_rate=30000 設置本地用戶和匿名用戶的最大傳輸速率限制 pasv_min_port=埠 pasv-max-prot=埠號 定義最大與最小埠,為0表示任意埠;為客戶端連接指明埠; listen_address=IP地址 設置ftp服務來監聽的地址,客戶端可以用哪個地址來連接; listen_port=埠號 設置FTP工作的埠號,默認的為21 chroot_local_user=YES 設置所有的本地用戶可以chroot chroot_local_user=NO 設置指定用戶能夠chroot chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list(只有/etc/vsftpd.chroot_list中的指定的用戶才能執行) local_root=path 無論哪個用戶都能登錄的用戶,定義登錄帳號的主目錄, 若沒有指定,則每一個用戶則進入到個人用戶主目錄; chroot_local_user=yes/no 是否鎖定本地系統帳號用戶主目錄(所有);鎖定後,用戶只能訪問用戶的主目錄/home/user,不能利用cd命令向上轉;只能向下; chroot_list_enable=yes/no 鎖定指定文件中用戶的主目錄(部分),文件:/chroot_list_file=path 中指定; userlist_enable=YES/NO 是否載入用戶列表文件; userlist_deny=YES 表示上面所載入的用戶是否允許拒絕登錄; userlist_file=/etc/vsftpd.user_list 列表文件 這些就是高級設置了。大家可以適當的更改。 #vi /etc/hosts.allow vsftpd:192.168.5.128:DENY 設置該IP地址不可以訪問ftp服務(vsftpd在獨占啟動方式下支持tcp_wrappers主機訪問控制方式) 時間限制: #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 配置文件是 /etc/vsftpd/vsftpd.conf 按如下編輯此文件,編輯文件當然用vi了 1)實現匿名用戶的上傳下載文件 程序代碼: Anonymous_enable=yes 匿名登陸 Connect_form_port_20=yes 啟用FTP數據埠的數據連接 Pam_service_name=vsftpd 驗證方式 Listen=yes 獨立的VSFTPD伺服器 這樣你就可以實現匿名登陸ftp了,但還不能上傳文件 程序代碼: Anon_upload_enable=yes 開放上傳許可權 Anon_mkdir_write_enable=yes 可創建目錄的同時可以在此目錄中上傳文件 Write_enable=yes 開放本地用戶寫的許可權 Anon_other_write_enable=yes 匿名帳號可以有刪除的許可權 加上上面的這段,你就可以實現匿名ftp的上傳下載文件了 然後你保存文件,用service vsftpd start來啟動vsftp的服務,然後就可以用ftp了 注意:確定你的防火牆 iptables上打開21埠,不然在登陸ftp的時候會提示socket錯誤,拒絕連接。還有就是當你再次編輯vsftp.conf後用 service vsftpd restart重起的時候總是提示你不能關閉vsftp服務,這時候你用service vsftpd status察看一下他的狀態,如果提示你vsftpd被locked 那可能是因為你的vsftpd.conf中配置的有錯誤,你要重新編輯他,直到能正常重起他為止,一次配置不對,多配置幾次就好了 2)實現本地用戶上傳下載 程序代碼: 新建一個用戶 adser 用戶名 增加一個用戶 passwd 用戶名 增加用戶的密碼 然後看/etc/passwd中最後一行就是你剛才添加的用戶信息 然後編輯/etc/vsftpd/vsftpd.conf文件, Local_enable=yes 允許使用本地用戶來登陸ftp 在/etc/vsftpd.ftpuser中可以增加想要阻止登陸ftp的用戶 限制用戶只能在自己的目錄中 Chroot_list_enable=yes 文件中的名單可以調用 Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no,在文件中加入用戶名 vsftpd.conf的參數 程序代碼: Anonymous_enable=yes 允許匿名登陸 Dirmessage_enable=yes 切換目錄時,顯示目錄下.message的內容 Local_umask=022 FTP上本地的文件許可權,默認是077 Connect_form_port_20=yes 啟用FTP數據埠的數據連接 Xferlog_enable=yes 激活上傳和下傳的日誌 Xferlog_std_format=yes 使用標準的日誌格式 Ftpd_banner=XXXXX 顯示歡迎信息 Pam_service_name=vsftpd 驗證方式 Listen=yes 獨立的VSFTPD伺服器 Anon_upload_enable=yes 匿名用戶上傳許可權 Anon_mkdir_write_enable=yes 創建目錄的同時可以在此目錄中上傳文件 Write_enable=yes 本地用戶寫的許可權 Anon_other_write_enable=yes 匿名帳號可以有刪除的許可權 Anon_world_readable_only=no 匿名用戶瀏覽許可權 Ascii_upload_enable=yes 啟用上傳的ASCII傳輸方式 Ascii_download_enable=yes 啟用下載的ASCII傳輸方式 Banner_file=/var/vsftpd_banner_file 用戶連接後歡迎信息使用的是此文件中的相關信息 Idle_session_timeout=600(秒) 用戶會話空閑後10分鍾 Data_connection_timeout=120(秒) 將數據連接空閑2分鍾斷 Accept_timeout=60(秒) 將客戶端空閑1分鍾後斷 Connect_timeout=60(秒) 中斷1分鍾後又重新連接 Local_max_rate=50000(bite) 本地用戶傳輸率50K Anon_max_rate=30000(bite) 匿名用戶傳輸率30K Pasv_min_port=5000 將客戶端的數據連接埠改在 Pasv_max_port=6000 5000—6000之間 Max_clients=200 FTP的最大連接數 Max_per_ip=4 每IP的最大連接數 Listen_port=5555 從5555埠進行數據連接 Local_enble=yes 本地帳戶能夠登陸 Write_enable=no 本地帳戶登陸後無權刪除和修改文件 Chroot_local_user=yes 本地所有帳戶都只能在自家目錄 Chroot_list_enable=yes 文件中的名單可以調用 Chroot_list_file=/etc/vsftpd.chroot_list 前提是chroot_local_user=no Userlist_enable=yes 在指定的文件中的用戶不可以訪問 Userlist_deny=yes Userlist_file=/etc/vsftpd.user_list Banner_fail=/路徑/文件名 連接失敗時顯示文件中的內容 Ls_recurse_enable=no Async_abor_enable=yes one_process_model=yes Listen_address=10.2.2.2 將虛擬服務綁定到某埠 Guest_enable=yes 虛擬用戶可以登陸 Guest_username=所設的用戶名 將虛擬用戶映射為本地用戶 Chown_uploads=yes 改變上傳文件的所有者為root Chown_username=root Deny_email_enable=yes 是否允許禁止匿名用戶使用某些郵件地址 Banned_email_file=//任意指定的路徑/xx/ Pasv_enable=yes 伺服器端用被動模式 User_config_dir=/任意指定的路徑//任意文件目錄指定虛擬用戶存放配置文件的路徑
G. linux 伺服器怎麼啟動ftp
linux 不支持 systemctl 命令 , 不支持service命令
那麼請問你是什麼系統呢?如果這些管理命令都沒有
建議直接執行二級制文件或者查一下你的發行版本,不同的發行版有不同的管理命令
希望可以幫助你,請採納,謝謝
H. 利用ftp登錄Linux系統報錯!怎麼解決,求解!
配置ftp服務了嗎?配置完後,還要開啟這個服務。
以下內容為復制的:
/etc/vsftpd/vsftpd.conf 主配置文件
/etc/vsftpd.ftpusers 指定哪些用戶不能訪問FTP伺服器
/etc/vsftpd.user_list 可以根據vsftpd.conf文件中的設置來決定該文件中指定的用戶是否可以訪問ftp伺服器
/etc/rc.d/init.d/vsftpd vsftpd的啟動腳本文件
2.修改/etc/vsftpd/vsftpd.conf文件
#vi /etc/vsftpd/vsftpd.conf
功能:設置FTP伺服器相關選項
文件格式:#說明語句
...........
...........
配置選項
...........
...........
說明:在vsftpd. Conf文件中主要由各種配置選項組成,具體以分為以下類別:
2.1連接選項
2.1.1.監聽地址與控制埠
listen_address=ip address
定義了在主機的哪個IP地址上監聽FTP請求(應用於獨立啟動方式的多IP主機默認值為無)
listen_port=port_value
指定FTP伺服器監聽的埠號(控制埠),默認值為21。此選項在standalone模式下生效
2.1.2.FTP模式與數據埠
port_enable=YES|NO
指定數據連接時模式,默認值為YES(PORT模式,NO為PASV模式)
connect_from_port_20=YES|NO
控制以PORT模式進行數據傳輸時是否使用20埠(ftp-data),(YES使用,NO不使用,默認值為NO)
ftp_data_port=port number
設定ftp數據傳輸埠(ftp-data)值。默認值為20。此參數用於PORT FTP模式。
port_promiscuous=YES|NO
默認值為NO。為YES時,取消PORT安全檢查。該檢查確保外出的數據只能連接到客戶端上。小心打開此選項。
pasv_enable=YES|NO
YES,允許數據傳輸時使用PASV模式。NO,不允許使用PASV模式。默認值為YES。
pasv_min_port=port number
pasv_max_port=port number
設定在PASV模式下,建立數據傳輸所可以使用port范圍的下界和上界,0 表 示任意。默認值為0。把埠范圍設在比較高的一段范圍內,比如50000-60000,將有助於安全性的提高
pasv_promiscuous=YES|NO
此選項激活時,將關閉PASV模式的安全檢查。該檢查確保數據連接和控制連接是來自同一個IP地址。小心打開此選項。此選項唯一合理的用法是存在於由安全隧道方案構成的組織中。默認值為NO
pasv_address= ip address
此選項為一個數字IP地址,作為PASV命令的響應。默認值為none,即地址是從呼入的連接套接字(incoming connectd socket)中獲取。
2.1.3.ASCII模式
ascii_upload_enable=YES|NO
控制是否允許使用ascii模式上傳文件,YES允許,NO不允許,默認為NO
ascii_download_enable=YES|NO
控制是否允許使用ascii模式下載文件,YES允許,NO不允許,默認為NO。
2.2.性能與負載控制
2.2.1.超時選項
idle_session_timeout= numerical value
空閑(發呆)用戶會話的超時時間,若是超出這時間沒有數據的傳送或是指令的輸入,則會強迫斷線。單位為秒,默認值為300。
data_connection_timeout= numerical value
空閑的數據連接的超時時間。默認值為300 秒。
accept_timeout=numerical value
接受建立聯機的超時設定,單位為秒。默認值為60。
connect_timeout=numerical value
響應PORT方式的數據聯機的超時設定,單位為秒。默認值為60。以上兩個選項針對客戶端的,將使客戶端空閑1分鍾後自動中斷連接,並在中斷1分鍾後自動激活連接
2.2.2.負載控制
max_clients=numerical value
此參數在VSFTPD使用單獨(standalone)模式下有效。此參數定義了FTP伺服器最大的並發連接數,當超過此連接數時,伺服器拒絕客戶端連接。默認值為0,表示不限最大連接數。
max_per_ip=numerical value
此參數在VSFTPD使用單獨(standalone)模式下有效。此參數定義每個IP地址最大的並發連接數目。超過這個數目將會拒絕連接。此選項的設置將影響到象網際快車這類的多進程下載軟體。默認值為0,表示不限制。
anon_max_rate=value
設定匿名用戶的最大數據傳輸速度value,以Bytes/s為單位。默認無。
local_max_rate=value
設定用戶的最大數據傳輸速度value,以Bytes/s為單位。默認無。此選項對所有的用戶都生效
2.3.用戶選項
2.3.1.匿名用戶
anonymous_enable=YES|NO
控制是否允許匿名用戶登錄,YES允許,NO不允許,默認值為YES。
ftp_username= username
匿名用戶所使用的系統用戶名。默認下,此參數在配置文件中不出現,值為ftp
no_anon_password=YES|NO
控制匿名用戶登入時是否需要密碼,YES不需要,NO需要。默認值為NO。
deny_email_enable=YES|NO
此參數默認值為NO。當值為YES時,拒絕使用banned_email_file參數指定文件中所列出的e-mail地址進行登錄的匿名用戶。即,當匿名用戶使用banned_email_file文件中所列出的e-mail進行登錄時,被拒絕。顯然,這對於阻擊某些Dos攻擊有效。當此參數生效時,需追加banned_email_file參數
banned_email_file=/etc/vsftpd.banned_emails
指定包含被拒絕的e-mail地址的文件,默認文件為/etc/vsftpd.banned_emails。
anon_root=path
設定匿名用戶的根目錄,即匿名用戶登入後,被定位到此目錄下。主配置文件中默認無此項,默認值為/var/ftp/。
anon_world_readable_only=YES|NO
控制是否只允許匿名用戶下載可閱讀文檔。YES,只允許匿名用戶下載可閱讀的文件。NO,允許匿名用戶瀏覽整個伺服器的文件系統。默認值為YES。
anon_upload_enable=YES|NO
控制是否允許匿名用戶上傳文件,YES允許,NO不允許,默認是不設值,即為NO。除了這個參數外,匿名用戶要能上傳文件,還需要兩個條件:一,write_enable參數為YES;二,在文件系統上,FTP匿名用戶對某個目錄有寫許可權。
anon_mkdir_write_enable=YES|NO
控制是否允許匿名用戶創建新目錄,YES允許,NO不允許,默認是不設值,即為NO。當然在文件系統上,FTP匿名用戶必需對新目錄的上層目錄擁有寫許可權。
anon_other_write_enable=YES|NO
控制匿名用戶是否擁有除了上傳和新建目錄之外的其他許可權,如刪除、更名等。YES擁有,NO不擁有,默認值為NO。
chown_uploads=YES|NO
是否修改匿名用戶所上傳文件的所有權。YES,匿名用戶所上傳的文件的所有權將改為另外一個不同的用戶所有,用戶由chown_username參數指定。此選項默認值為NO。
chown_username=whoever
指定擁有匿名用戶上傳文件所有權的用戶。此參數與chown_uploads聯用。不推薦使用root用戶。
2.3.2.本地用戶
local_enable=YES|NO
控制vsftpd所在的系統的用戶是否可以登錄vsftpd。默認值為YES。
local_root=
定義所有本地用戶的根目錄。當本地用戶登入時,將被更換到此目錄下。默認值為無。
user_config_dir=
定義用戶個人配置文件所在的目錄。用戶的個人配置文件為該目錄下的同名文件。個人配置文件的格式與vsftpd.conf格式相同。例如定義user_config_dir=/etc/vsftpd/userconf,並且主機上有用戶xiaowang,lisi,那我們可以在user_config_dir的目錄新增名為xiaowang、lisi的兩個文件。當用戶lisi 登入時,VSFTPD則會讀取user_config_dir下lisi這個文件中的設定值,應用於用戶lisi。默認值為無。
2.3.3.虛擬用戶
guest_enable=YES|NO
若是啟動這項功能,所有的非匿名登入者都視為guest。默認值為關閉
guest_username=
定義VSFTPD的guest用戶在系統中的用戶名。默認值為ftp
2.4.安全措施
2.4.1.用戶登錄控制
pam_service_name=vsftpd
指出VSFTPD進行PAM認證時所使用的PAM配置文件名,默認值是vsftpd,默認PAM配置文件是/etc/pam.d/vsftpd。
/etc/vsftpd.ftpusers
VSFTPD禁止列在此文件中的用戶登錄FTP伺服器。這個機制是在/etc/pam.d/vsftpd中默認設置的。
userlist_enable=YES|NO
此選項被激活後,VSFTPD將讀取userlist_file參數所指定的文件中的用戶列表。當列表中的用戶登錄FTP伺服器時,該用戶在提示輸入密碼之前就被禁止了。即該用戶名輸入後,VSFTPD查到該用戶名在列表,VSFTPD就直接禁止掉該用戶,不會再進行詢問密碼等後續步聚。默認值為NO。
userlist_file=/etc/vsftpd.user_list
指出userlist_enable選項生效後,被讀取的包含用戶列表的文件。默認值是/etc/vsftpd.user_list。
userlist_deny=YES|NO
決定禁止還是只允許由userlist_file指定文件中的用戶登錄FTP伺服器。此選項在userlist_enable 選項啟動後才生效。YES,默認值,禁止文件中的用戶登錄,同時也不向這些用戶發出輸入口令的提示。NO,只允許在文件中的用戶登錄FTP伺服器。
tcp_wrappers=YES|NO
在VSFTPD中使用TCP_Wrappers遠程訪問控制機制,默認值為YES。
2.4.2.目錄訪問控制
chroot_list_enable=YES|NO
鎖定某些用戶在自家目錄中。即當這些用戶登錄後,不可以轉到系統的其他目錄,只能在自家目錄(及其子目錄)下。具體的用戶在chroot_list_file參數所指定的文件中列出。默認值為NO。
chroot_list_file=/etc/vsftpd/chroot_list
指出被鎖定在自家目錄中的用戶的列表文件。文件格式為一行一用戶。通常該文件是/etc/vsftpd/chroot_list。此選項默認不設置。
chroot_local_users=YES|NO
將本地用戶鎖定在自家目錄中。當此項被激活時,chroot_list_enable和chroot_local_users參數的作用將發生變化,chroot_list_file所指定文件中的用戶將不被鎖定在自家目錄。本參數被激活後,可能帶來安全上的沖突,特別是當用戶擁有上傳、shell訪問等許可權時。因此,只有在確實了解的情況下,才可以打開此參數。默認值為NO。
passwd_chroot_enable =YES|NO
當此選項激活時,與chroot_local_user選項配合,chroot()容器的位置可以在每個用戶的基礎上指定。每個用戶的容器來源於/etc/passwd中每個用戶的自家目錄欄位。默認值為NO。
2.4.3.文件操作控制
hide_ids=YES|NO
是否隱藏文件的所有者和組信息。YES,當用戶使用"ls -al"之類的指令時,在目錄列表中所有文件的擁有者和組信息都顯示為ftp。默認值為NO。
ls_recurse_enable=YES|NO
YES,允許使用"ls -R" 指令。這個選項有一個小的安全風險,因為在一個大型FTP站點的根目錄下使用"ls -R"會消耗大量系統資源。默認值為NO。
write_enable=YES|NO
控制是否允許使用任何可以修改文件系統的FTP 的指令,比如STOR、DELE、RNFR、RNTO、MKD、RMD、APPE 以及SITE。默認值為NO,不過自帶的簡單配置文件中打開了該選項。
secure_chroot_dir=
這選項指向一個空目錄,並且ftp用戶對此目錄無寫許可權。當vsftpd不需要訪問文件系統時,這個目錄將被作為一個安全的容器,用戶將被限制在此目錄中。默認目錄為/usr/share/empty。
2.4.4.新增文件許可權設定
anon_umask=
匿名用戶新增文件的umask 數值。默認值為077。
file_open_mode=
上傳檔案的許可權,與chmod 所使用的數值相同。如果希望上傳的文件可以執行,設此值為0777。默認值為0666。
local_umask=
本地用戶新增檔案時的umask 數值。默認值為077。不過,其他大多數的FTP伺服器都是使用022。如果您的用戶希望的話,可以修改為022。在自帶的配置文件中此項就設為了022。
2.5.提示信息
ftpd_banner=login banner string
此參數定義了login banner string(登錄歡迎語字元串)。用戶可以自行修改。預設值為無。當ftpd_banner設置後,將取代系統原來的歡迎詞。
banner_file=/directory/vsftpd_banner_file
此項指定一個文本文件,當使用者登入時,會顯示此該文件的內容,通常為歡迎話語或是說明。默認值為無。與ftpd_banner相比,banner_file是文本文件的形式,而ftpd_banner是字串格式。banner_file選項將取代ftpd_banner選項。
dirmessage_enable=YES|NO
控制是否啟用目錄提示信息功能。YES啟用,NO不啟用,默認值為YES。此功能啟用後,當用戶進入某一個目錄時,會檢查該目錄下是否有message_file選項所指定的文檔,若是有,則會出現此文檔的內容,通常這個檔案會放置歡迎話語,或是對該目錄的說明。
message_file=
此選項,僅在dirmessage_enable選項激活方生效。默認值為.message。
I. linux下 ftp伺服器如何設置上傳文件的許可權
1、先用vi打開 vsftpd.conf vsftpd的配置文件
在Ubuntu下是
vi /etc/vsftpd.conf
在centos 下是
vi /etc/vsftpd/vsftpd.conf
這個在不同的系統下可能不同原理一樣
2.找到unmsk默認是022 ,修改成你要的許可權就可以了。
3.下面說下unmsk的具體含義
umask一般是用在你初始創建一個目錄或者文件的時候賦予他們的許可權。
針對文件的x的許可權代表執行,這個風險太高,所以一般許可權初始賦值必須去掉x的
第一個0代表suid 丟棄的許可權;(一般省略了)
第二個0代表本文件/目錄擁有者什麼許可權都沒丟棄(如果是文件,x許可權除外);
第三個2代表本文件/目錄的用戶組丟棄了w許可權(如果是文件那麼它的x許可權也丟棄);
第三個2代表本文件/目錄的其他用戶能使用的許可權只有有r和x(文件除外)。
綜合上面所說如果你新創建一個文件那麼它的許可權是:-wr-w--w-- 即是:644
如果你新創建一個目錄的話那麼它的許可權是:dwrxw-xw-x 即是:755
4、怎麼計算unmsk
1) 目錄許可權 rwx r-x r-x (755) 這就是目錄創建預設許可權
目錄許可權:777 - unmsk得到的值
2) 文件許可權 rw- r-- r-- (644) 這就是文件創建預設許可權
文件許可權:666 - unmsk得到的值