一、今天下午由于課程的要求不得已做了Ubuntu搭建Ftp服務(wù)器的實(shí)驗(yàn),但是實(shí)驗(yàn)指導(dǎo)書還是N年前的技術(shù),網(wǎng)上搜了一大把,都是模模糊糊的!
在百般困難中終于試驗(yàn)成功,特把經(jīng)驗(yàn)分給大家 希望大家少走彎路!
二、詳細(xì)步驟如下:
(1)首先打開終端進(jìn)入root模式下(在終端中輸入:sudo su 回車 提示輸入密碼 輸入密碼即可);
(2)安裝vsftpd軟件(首先要聯(lián)網(wǎng),或者通過(guò)新立德軟件安裝!卸載軟件命令:sudo apt-get remove vsftpd
)
<span style="font-size:14px;">命令:sudo apt-get install vsftpd</span>
(3)安裝成功之后,默認(rèn)的會(huì)在 文件系統(tǒng)下的srv 目錄下創(chuàng)建一個(gè)ftp文件(和home在同一級(jí)目錄下的),這里就是ftp服務(wù)器的默認(rèn)文件夾!
(4)在有一些文檔上說(shuō)的是在ftp服務(wù)器自動(dòng)創(chuàng)建的目錄是在home目錄下的ftp文件夾,但是我始終沒(méi)有找到(一般home目錄下是用戶的目錄),自己創(chuàng)建的在訪問(wèn)ftp的時(shí)候也是沒(méi)有找到!
(5)向服務(wù)器目錄添加文件夾和文件,首先在srv/ftp/下創(chuàng)建一個(gè)文件夾test(手動(dòng)無(wú)法創(chuàng)建,只能通過(guò)命令實(shí)現(xiàn)?。?/p>
命令:mkdir /srv/ftp/test
得到創(chuàng)建好的文件夾:
多創(chuàng)建幾個(gè)目錄僅用于測(cè)試!
(6)在test文件夾中創(chuàng)建一個(gè)文件:touch /srv/ftp/test/1.txt 文件
(7)編輯該1.txt文件:(由于權(quán)限的管理,需要利用root模式更改文件內(nèi)的內(nèi)容!)
sudo gedit /srv/ftp/test/1.txt 會(huì)彈出一個(gè)記事本文件 是root權(quán)限下打開的才可以修改的|!隨便加些內(nèi)容
(8)為了說(shuō)明一個(gè)命令,重啟一下!
命令是:sudo /etc/init.d/vsftpd restart
(9)查看是否成功 找到Ubuntu的IP地址,在地址欄中訪問(wèn) 我的是:ftp://192.168.136.130/ 或者是ftp://localhost,以下是截圖:
進(jìn)入test找到1.txt文件 點(diǎn)擊進(jìn)入!
(10)ok!到此完成!
三、上述中知識(shí)介紹了一般默認(rèn)的配置,我們通常是需要根據(jù)自己的需求配置的,以下是一些常見的配置!
如需修改的話還是需要在root權(quán)限下修改 使用命令:sudo gedit /etc/vsftpd.conf
(1)匿名用戶相關(guān)設(shè)置
- anonymous_enable=YES ,將YES改為NO, 禁止匿名用戶登陸
- #anon_mkdir_write_enable=YES ,將#注釋去掉,允許匿名用戶創(chuàng)建目錄
- #non_upload_enalbe=YES ,將#去掉,允許匿名用戶上傳
- anon_world_readable_only=YES ,允許匿名用戶下載,默認(rèn)是禁止的,這個(gè)可以自行添加。
- Anon_other_write_enable=YES ,將其設(shè)為YES的話,就除了上傳和創(chuàng)建目錄外,還可以重命名,刪除文件,默認(rèn)是NO
- no_anon_password=NO ,將其設(shè)為YES,匿名用戶不會(huì)查詢用戶密碼直接登陸。
- ftp_username=ftp ,匿名用戶登陸系統(tǒng)的賬號(hào)默認(rèn)為ftp,此項(xiàng)最好不要改;
- chroot_local_user=YES #把本地用戶限制在自己的home文件夾中,這樣子登錄之后就不能訪問(wèn)自己home之外的文件了,這樣子是出于安全上的考慮
- anon_root=/var/ftp/anon #指定匿名登錄后的根文件夾,也就是對(duì)于匿名用戶,會(huì)把/var/ftp/anon映射為它的根目錄
(2)FTP服務(wù)端口的指定
- listen_port=8021 ,指定命令通道為8021,默認(rèn)為21
- listen_data_port=8020 ,指定數(shù)據(jù)通道為8020,默認(rèn)為20
(3)上傳模式的設(shè)置
- pasv_enable=YES ,是否允使用被動(dòng)模式,默認(rèn)是允許的。
- pasv_min_port=10000 ,指定使用被動(dòng)模式時(shí)打開端口的最小值
- pasv_max_port=10004 ,指定使用被動(dòng)模式時(shí)打開端口的最大值。
(4)Vsftp服務(wù)器指定IP地址
- listen_address=192.168.0.21 , 指定FTP,IP地址
注:只有當(dāng)vsftp運(yùn)行于獨(dú)立模式時(shí)才允許使用指定IP,如果在/etc/xinetd.d目錄下已經(jīng)建立了vsfpd文件,就要將該文件中的disable設(shè)置為yes,方可。
(5)鎖定用戶,禁止用戶離開用戶主目錄
- chroot_local_user=YES ,將其設(shè)為YES,就鎖定在用戶主目錄,設(shè)為NO,可以切換
將指定用戶設(shè)置為鎖定用戶主目錄:
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd.chroot_list
將其改為如下:
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
將上面保存,再做如下操作:
#touch /etc/vsftpdvsftpd.chroot_list
#vi /etc/vsftpd/vsftpd.chroot_list ,在該文件中加入用戶名單,如:netseek_com
(6)vsftpd服務(wù)器的流量控制
- max_clients=100 ;允許的最大連接數(shù),定義為100,默認(rèn)為0,表沒(méi)有限制
- max_per_ip=5 ;每個(gè)IP允許的連接數(shù),0表沒(méi)有限制,需要運(yùn)行于獨(dú)立模式方可
- anon_max_rate=50000 ;匿名用戶最大帶寬,單位為bps
- local_max_rate=200000 ;系統(tǒng)用戶最大帶寬
(7)vsftpd定制歡迎信息
目錄說(shuō)明設(shè)置
#vi /etc/vsftpd.conf
#dirmessage_enable=YES,前的#去掉。
然后我們定制一個(gè).message,寫上你想寫的東西,然后把這個(gè)文件復(fù)制到各個(gè)用戶的家目錄中,就OK。
(9)vsftpd系統(tǒng)歡迎消息設(shè)置
ftpd_banner=Welcome to ftp.netseek.com , Yeah!!!
系統(tǒng)歡迎消息文件設(shè)置
banner_file=/etc/vsftpd/welcome 與ftpd_banner相類似,不同之處在于,banner_file指定歡迎文件。
四、創(chuàng)建用戶
但這樣是不能上傳文件的。因?yàn)檫@是匿名用戶,當(dāng)前目錄所有者是root用戶; 真的要上傳文件在該目錄下建立一個(gè)文件夾如名字是upload,
$ sudo mkdir /srv/ftp/upload
$ sudo chown ftp:root /srv/ftp/upload
這個(gè)時(shí)候可以傳文件到upload目錄,但根目錄還是不能上傳文件,這是匿名用戶,如果不是匿名用戶就不存在這個(gè)問(wèn)題。
1). 修改配置文件/etc/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
2). 創(chuàng)建本地用戶
$ sudo useradd ftpuser -m
$ sudo passwd ftpuser
便可用ftpuser登錄FTP了。
6. 如果出現(xiàn)錯(cuò)誤:500 OOPS: vsftpd: refusing to run with writable anonymous root
這表示ftp用戶的家目錄的權(quán)限不對(duì),這個(gè)目錄的權(quán)限是不能打開所有權(quán)限的;是運(yùn)行了chmod 777 /srv/ftp所致;如果沒(méi)有ftp用戶這個(gè)家目錄,當(dāng)然您要自己建一個(gè);
FTP用戶的家目錄是不能針對(duì)所有用戶、用戶組、其它用戶組完全開放的;解決辦法如下:
# chown root:root /srv/ftp
# chmod 755 /srv/ftp
7. 防火墻打開相應(yīng)的端口21,20
8. /etc/init.d/vsftpd restart 重啟服務(wù)
五、各用戶的解釋
下面就vsftpd支持三類用戶加以說(shuō)明:
- 1.匿名用戶,也就是不需要輸入密碼就可登錄ftp服務(wù)器的用戶,這個(gè)用戶名通常是ftp或anonymous; 與匿名用戶有關(guān)的設(shè)置多以 anon_選項(xiàng)開頭。
- 2.本地用戶,也就是你Linux系統(tǒng)上可登錄到系統(tǒng)的用戶,這些用戶是在系統(tǒng)上實(shí)實(shí)在在存在的用戶。通常會(huì)有自己的home,shell等。與本地用戶有關(guān)的設(shè)置多以local_開頭或包含local_的選項(xiàng)。
- 3.虛擬用戶,只對(duì)ftp有效的用戶。這些用戶不可以登錄Linux系統(tǒng),只可以登錄ftp服務(wù)器。其實(shí)就是一個(gè)本地用戶映射成多個(gè)只對(duì)ftp服務(wù)器有效的虛擬用戶。虛擬用戶可以有自己的ftp配置文件,因此通常利用虛擬用戶來(lái)對(duì)ftp系統(tǒng)的不同用戶制定不同的權(quán)限,以達(dá)到安全控制的目的。與虛擬用戶有關(guān)的設(shè)置以guest_開頭。
如果你只是想用ftp實(shí)現(xiàn)對(duì)自己的共享,你可以開啟本地用戶;
如果你想對(duì)很多人共享,那你可以用匿名用戶;
如果你需要針對(duì)不同的用戶群給予不同的權(quán)限,那你就要設(shè)置更復(fù)雜的虛擬用戶了。
mkdir 目錄名 => 創(chuàng)建一個(gè)目錄
rmdir 空目錄名 => 刪除一個(gè)空目錄
rm 文件名 文件名 => 刪除一個(gè)文件或多個(gè)文件
rm –rf 非空目錄名 => 刪除一個(gè)非空目錄下的一切
touch 文件名 => 創(chuàng)建一個(gè)空文件
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接