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!
② 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項,保存後退出.
③ linux下搭建ftp伺服器
linux下搭建ftp伺服器
下面我就為大家整理了一些Linux認證復習備考資料。希望大家可以從中學習答題方法,讓自己的得到進步!最近為了方便目標板與PC機上LINUX之間的通訊,就在LINUX搭建了FTP,工作不難,寫個總結。主要經過以下幾個步驟:
1.檢查是否安裝了vsftpd伺服器
可以用rpm -q vsftpd命令來查看,若顯示"vsftpd-1.1.3-8",則說明系統已經安裝vsftpd伺服器,若沒有則可以在圖形環境下單擊"主菜單→系統設置→添加刪除應用程序"菜單項,在出現的"軟體包管理"對話框里確保選中"FTP伺服器"選項,然後單擊"更新"按鈕,按照屏幕提示插入第3張安裝光碟即可開始安裝。
2.啟動/重新啟動/停止vsftpd服務
從Red Hat Linux 9.0開始,vsftpd默認只採用standalone方式啟動vsftpd服務,方法是在終端命令窗口運行以下命令:
[root@ahpeng root] /etc/rc.d/init.d/vsftpd start
重新啟動vsftpd服務:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd restart
關閉vsftpd服務:
[root@ahpeng root] /etc/rc.d/init.d/ vsftpd stop
3.vsftpd的配置
在Red Hat Linux 9.0里的vsftpd共有3個配置文件,它們分別是:
vsftpd.ftpusers:位於/etc目錄下。它指定了哪些用戶賬戶不能訪問FTP伺服器,例如root等。
vsftpd.user_list:位於/etc目錄下。該文件里的用戶賬戶在默認情況下也不能訪問
FTP伺服器,僅當vsftpd .conf配置文件里啟用userlist_enable=NO選項時才允許訪問。
vsftpd.conf:位於/etc/vsftpd目錄下。它是一個文本文件,我們可以用Kate、Vi等文本編輯工具對它進行修改,以此來自定義用戶登錄控制、用戶許可權控制、超時設置、伺服器功能選項、伺服器性能選項、伺服器響應消息等FTP伺服器的配置。
(1)用戶登錄控制
anonymous_enable=YES,允許匿名用戶登錄。
no_anon_password=YES,匿名用戶登錄時不需要輸入密碼。
local_enable=YES,允許本地用戶登錄。
deny_email_enable=YES,可以創建一個文件保存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。
banned_email_file=/etc/vsftpd.banned_emails,當啟用deny_email_enable功能時,所需的電子郵件黑名單保存路徑(默認為/etc/vsftpd.banned_emails)。
(2)用戶許可權控制
write_enable=YES,開啟全局上傳許可權。
local_umask=022,本地用戶的上傳文件的umask設為022(系統默認是077,一般都可以改為022)。
anon_upload_enable=YES,允許匿名用戶具有上傳許可權,很明顯,必須啟用write_enable=YES,才
可以使用此項。同時我們還必須建立一個允許ftp用戶可以讀寫的目錄(前面說過,ftp是匿名用戶的映射用戶賬號)。
anon_mkdir_write_enable=YES,允許匿名用戶有創建目錄的權利。
chown_uploads=YES,啟用此項,匿名上傳文件的屬主用戶將改為別的用戶賬戶,注意,這里建議不要指定root賬號為匿名上傳文件的屬主用戶!
chown_username=whoever,當啟用chown_uploads=YES時,所指定的屬主用戶賬號,此處的whoever自然要用合適的用戶賬號來代替。
chroot_list_enable=YES,可以用一個列表限定哪些本地用戶只能在自己目錄下活動,如果chroot_local_user=YES,那麼這個列表裡指定的用戶是不受限制的。
chroot_list_file=/etc/vsftpd.chroot_list,如果chroot_local_user=YES,則指定該列表(chroot_local_user)的保存路徑(默認是/etc/vsftpd.chroot_list)。
nopriv_user=ftpsecure,指定一個安全用戶賬號,讓FTP伺服器用作完全隔離和沒有特權的獨立用戶。這是vsftpd系統推薦選項。
async_abor_enable=YES,強烈建議不要啟用該選項,否則將可能導致出錯!
ascii_upload_enable=YES;ascii_download_enable=YES,默認情況下伺服器會假裝接受ASCⅡ模式請求但實際上是忽略這樣的'請求,啟用上述的兩個選項可以讓伺服器真正實現ASCⅡ模式的傳輸。
(注意:啟用ascii_download_enable選項會讓惡意遠程用戶們在ASCⅡ模式下用"SIZE/big/file"這樣的指令大量消耗FTP伺服器的I/O資源。)
這些ASCⅡ模式的設置選項分成上傳和下載兩個,這樣我們就可以允許ASCⅡ模式的上傳(可以防止上傳腳本等惡意文件而導致崩潰),而不會遭受拒絕服務攻擊的危險。
(3)用戶連接和超時選項
idle_session_timeout=600,可以設定默認的空閑超時時間,用戶超過這段時間不動作將被伺服器踢出。
data_connection_timeout=120,設定默認的數據連接超時時間。
(4)伺服器日誌和歡迎信息
dirmessage_enable=YES,允許為目錄配置顯示信息,顯示每個目錄下面的message_file文件的內容
ftpd_banner=Welcome to blah FTP service,可以自定義FTP用戶登錄到伺服器所看到的歡迎信息。
xferlog_enable=YES,啟用記錄上傳/下載活動日誌功能。
xferlog_file=/var/log/vsftpd.log,可以自定義日誌文件的保存路徑和文件名,默認是/var/log/vsftpd.log.
知道了上面各個選項的含義,你可以根據自己的需要進行配置,達部分的選項一般用不著改動,配置完了以後,確認vsftpd服務已經啟動後,我們可以在Windows主機的S命令窗口裡輸入"ftp Addres"(用實際的FTP伺服器IP地址或者域名代替Addres),注意用戶名、密碼都是ftp(ftp是匿名用戶的映射用戶賬號)。
如果登陸不上,可以試驗在LINUX下本地登陸看看,還有可以在LINUX登陸WINDOWS下的FTP,試驗能否登陸成功,如果可以,那很有可能登陸不上LINUX下的FTP的原因是LINUX的防火牆的原因,可以用rpm -q vsftpd命令來查看,如果防火牆開啟,可以用命令把其關閉,也可以在圖形界面下"主菜單"中的"system settings"中選擇"seurity level",安裝系統的時候如果沒有改動,默認是的seurity level是"Medium",你可以不改動該設置,選中下面"allow incomning"中的"FTP",當然你也可以設置seurity level為"NO firewall",這樣再在Windows下登陸LINUX的FTP,應該可以登陸了。
登陸後具體ftp下的操作就參考有關ftp的命令了,登陸後的路徑為/var/ftp/pub,把你所需要操作的文件可以放在該目錄下,我這里用付ftp主要是在下載linux編譯後的文件到板子上,上傳文件到LINUX上一般不用通過ftp,注意你在ftp下對文件進行一些操作的時候很可能被fail掉,注意根據情況設置文件的操作許可權。
;④ 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目錄里也可以看到相同的文件。
⑤ Linux下配置FTP伺服器
它可運行在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
將本地用戶鎖定在主目中。
⑥ 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項,保存後退出.
⑦ 如何在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服務的基本搭建過程,實際使用時可以分配多個用戶
⑧ 如何在linux下搭建ftp伺服器
在LINXU平台上使用的FTP軟體有Wu-ftpd、Proftpd和vsftpd等。Wu-ftpd的歷史悠久,是最流行的FTP伺服器程序,穩定、出色,但發布較早,安全不及Proftpd及vsftpd。Proftpd在Wu-ftpd之後開發,安全性及穩定性有所提高。而vsftpd則是在Proftpd之後開發的,意為Very Sucure,吸取了Wu-ftpd和Proftpd的優點,安全性、速度、穩定性都有很大提高。
RHEL4(AS)中vsftpd的RPM軟體包在第1張光碟中,名為vsftpd-2.0.1-5.i386.rpm。默認情況下沒有安裝。Vsftpd的主配置文件是/etc/vsftpd.conf。未修改的主配置文件去掉注釋後如下(「;」後為解釋):
anonymous_enable=YES ;是否允許匿名訪問
local_enable=YES ;是否允許本地用戶登錄
write_enable=YES ;是否允許本地用戶寫入
local_umask=022 ;生向掩碼(文件生成掩碼),跟許可權有關,我記不住了,有興趣的朋友可以去查查,知道的朋友也請告訴我一下
dirmessage_enable=YES ;切換到FTP中的某目錄時,是否顯示該目錄下的隱含文件「.message」
xferlog_enable=YES ;是否啟用啟用上傳和下載日誌
connect_from_port_20=YES ;是否啟用FTP數據埠的連接請求
xferlog_std_format=YES ;是否讓FTP使用ftpd xferlog日誌格式
pam_service_name=vsftpd ;設置PAM認證服務的配置文件,位於/etc/pam.d目錄下
userlist_enable=YES ;需與userlist_file配合使用,稍後介紹
listen=YES ;是否處於獨立啟動模式
tcp_wrappers=YES ;為YES時,以tcp_wrappers作為主機訪問控制方式
(去掉後,vsftpd的配置文件就這么一點^_^。)
/etc/vsftpd.ftpusers保存著不允許進行FTP登錄的用戶帳戶,通常是許可權很高的用戶,以提高FTP的安全。
至於/etc/vsftpd.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
…………(後略)
前面說的userlist_enalbe就跟這有關(重點是第二、三行)
另外,/vsr/ftp是匿名用戶的宿主目錄.
配置vsftpd的虛擬用戶:
1. 建立虛擬用戶口令庫文件(奇數行為用戶名,偶數行為密碼):
[[email protected]]cat vsftpd
abc
abc12321cba
efg
vsftpd.conf
2. 生成認證文件(db_load生成認證文件,「-f」用於指明虛擬用戶的口令庫文件,即:vsftpd.操作中,口令庫文件名可隨便取.「-t hash」指加密方式)
db_load -T -t hash -f vsftpd /etc/vsftpd/vsftpd_login.db
3.設置許可權,以提高安全:
chmod 600 /etc/vsftpd/vsftpd_login.db
4. 建立虛擬用戶的PAM文件:
cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
5.建立虛擬用戶的目錄,並設置相應許可權:
useradd -d /home/vsftpd virtual
chmod 700 /home/vsftpd/
6. 編輯vsftpd的配置文件:
vi /etc/vsftpd/vsftpd.conf
guest_enable=yes
guest_username=virtual
pam_service_name=vsftpd.vu
7. 對虛擬用戶設置不同許可權:
vi /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd_user_conf ;設置主配置文件
(:wq #保存退出)
mkdri /etc/vsftpd_user_conf
vi /etc/vsftpd_user_conf/abc ;為虛擬用戶配置許可權
anon_world_readable_only=no ;用戶可以瀏覽目錄並下載文件
anon_upload_enable=yes ;用戶可以上傳文件
anon_mkdir_write_enable=yes ;用戶可以添加和刪除目錄
anon_other_write_enable=yes ;用戶可以進行其它操作,如改名、刪除文件等。
(:wq)
service vsftpd restart
如果只想讓用戶下載的話,則配置為:
anon_world_readable_only=no
好了,自個兒看效果吧!!!
常見問題:
1.無法匿名訪問?
可能是vsftpd.conf中的anonyoums_enable出的錯,或者是你根本就沒連接到伺服器,也有可能是伺服器的iptables出的問題(過濾掉了),這種情況下一般與selinux無關。還有就是服務未運行。
2.創建的虛擬用戶無法訪問vsftpd?
原因或許是在創建虛擬用戶的時候出的錯,如果無法使用虛擬用戶訪問vsftpd的時候,建議先檢查在創建虛擬用戶時,打錯什麼字沒有,如果還是沒有檢查出什麼問題來的話,建議你直接推倒重做。還是一點差點忘記說了,就是在創建虛擬用戶的時候,盡量將虛擬用戶的密碼設長一點、復雜一點,我在測試的時候,就是因為密碼太短而幾次沒有成功。
3.在cmd下用虛擬用戶登錄vsftpd時,出現「200 PORT command successful. Consider using PASV.」的字樣是怎麼回事啊?
你所訪問的電腦上的防火牆在做怪!!!我就上過這個當!!!
4.其它問題?
一般情況下,vsftpd出現問題大多數都是因為配置文件出錯的,如果想要測試的話,建議在命令行了進行測試,當vsftpd出現問題時,它會在訪問端的界面上顯示原因。另外不成功的原因是因為伺服器上的防火牆沒有配置好。
⑨ 請問Linux平台下FTP伺服器的優勢與發展前景
優點: 1.比較安全。運行效率高,穩定,對硬體要求低。。。也就是LINUX的優點了。
缺點: 1.界面不友好, 2 配置相對復雜(跟WIN SERVER比)2.好像不提供中文文件名吧,(我個人一般在文本界面操作,圖形界面沒試過FTP,你可以試下) .
要一個穩定SERVER 就用LINUX , 像WINDOWS SERVER 操作,維護,比較較簡單,界面也不錯.. 各有各的好處.
要是只是搭建FTP. 還論啥發展前景呢?? 有linux操作基礎,一兩天就學會搭建了。
⑩ linux 怎麼做ftp伺服器
1.運行以下命令安裝 vsftpd。
yum install -y vsftpd
2.運行以下命令打開及查看etc/vsftpd
cd /etc/vsftpd
ls
說明:
/etc/vsftpd/vsftpd.conf 是核心配置文件。
/etc/vsftpd/ftpusers 是黑名單文件,此文件里的用戶不允許訪問 FTP 伺服器。
/etc/vsftpd/user_list 是白名單文件,是允許訪問 FTP 伺服器的用戶列表。
/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些變數和設置
備註:使用命令 rpm -ql vsftpd 可列出vsftpd中包含的文件
3.運行以下命令設置開機自啟動。
systemctl enable vsftpd
4.運行以下命令啟動 FTP 服務。
systemctl start vsftpd
5.運行以下命令查看 FTP 服務埠。
netstat -antup | grep ftp
6.配置本地用戶登錄
本地用戶登錄就是指用戶使用 Linux 操作系統中的用戶賬號和密碼登錄 FTP 伺服器。
vsftpd 安裝後默只支持匿名 FTP 登錄,用戶如果試圖使用 Linux 操作系統中的賬號登錄伺服器,將會被 vsftpd 拒絕,但可以在 vsftpd 里配置用戶賬號和密碼登錄。具體步驟如下:
a.運行以下命令創建 ftptest 用戶。
useradd ftptest
(刪除用戶命令:sudo userdel -r newuser)
b.運行以下命令修改 ftptest 用戶密碼。
passwd ftptest
7.修改/etc/vsftpd/vsftpd.conf
a.運行vim /etc/vsftpd/vsftpd.conf。
b.按鍵 「i」 進入編輯模式。
c.將是否允許匿名登錄 FTP 的參數修改為anonymous enable=NO。
d.將是否允許本地用戶登錄 FTP 的參數修改為local_enable=YES。
e.按鍵 「Esc」 退出編輯模式,然後按鍵「:wq」 保存並退出文件。
f.運行命令 cat /etc/vsftpd/vsftpd.conf 查看配置文件內容。 命令的使用方法可查詢「Linux命令大全」。