日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > linux >内容正文

linux

Linux中配置ftp服务器

發(fā)布時(shí)間:2023/12/20 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux中配置ftp服务器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

1. 先用rpm -qa| grep vsftpd命令檢查是否已經(jīng)安裝,如果ftp沒有安裝,使用yum? -y? install vsftpd 安裝,(ubuntu 下使用apt-get install vsftpd)

2.?service vsftpd start / service vsftpd restart

啟動(dòng)要讓FTP每次開機(jī)自動(dòng)啟動(dòng),運(yùn)行命令:? chkconfig --level 35 vsftpd on

3. 設(shè)置ftp權(quán)限

vi? /etc/vsftpd/vsftpd.conf

將anonymous_enable=YES 改為 anonymous_enable=NO
ESC返回,輸入“:wq”保存并推出

?

刷新防火墻

#iptables?-F

?

其中vsftpd的主配置文件是:

?/etc/vsftpd/vsftpd.conf

?

實(shí)驗(yàn)一:

如果我不允許FTP匿名登陸,我們可以修改vsftpd的主配置文件來實(shí)現(xiàn)

#vi?/etc/vsftpd/vsftpd.conf?把a(bǔ)nonymous_enable=YES?改為anonymous_enable=NO

?

實(shí)驗(yàn)二:

windows中FTP服務(wù)器可以設(shè)置歡迎詞,最大連接數(shù),那我們?cè)贚inux的FTP服務(wù)器中設(shè)置呢?我要回答的是:同樣可以,我們同樣可以vsftpd的主配置文件來實(shí)現(xiàn)#?vi?/etc/vsftpd/vsftpd.conf?

在最后添加ftpd_banner=welcome?to?here!?這就是歡迎詞Max_clients=100?這就表示最多可以有100個(gè)用戶同時(shí)訪問重啟vsftpd即可!

?

實(shí)驗(yàn)三:

如果我想把借我錢不還的同事(lilei),不想讓他登陸到我們的FTP站點(diǎn),那我可以把用戶lilei添加到vi?/etc/vsftpd.ftpusers?

?

實(shí)驗(yàn)四:

上午總經(jīng)理說要提拔公司的一小部分人,聽到這個(gè)消息,趕緊行動(dòng),我只允許總經(jīng)理一個(gè)人可以登陸FTP服務(wù)器,其他人休想,拍經(jīng)理馬匹,限制其他人。我可以這樣做:#?vi?/etc/vsftpd/vsftpd.conf?

到最后添加2條,

userlist_deny=NO?/這個(gè)列表里的人不拒絕,其他人拒絕(包括匿名)

userlist_file=/etc/mp?/指明列表的路徑

?

vsftpd配置文件采用“#”作為注釋符,以“#”開頭的行和空白行在解析時(shí)將被忽略,其余的行被視為配置命令行,每個(gè)配置命令的“=”兩邊不要留有空格。對(duì)于每個(gè)配置命令,在配置文件中還列出了相關(guān)的配置說明,利用vi編輯器可實(shí)現(xiàn)對(duì)配置文件的編輯修改。方法如下:
???? #vi /etc/vsftpd/vsftpd.conf

?

?

1.登錄和對(duì)匿名用戶的設(shè)置

?


write_enable=YES?????????????? //是否對(duì)登錄用戶開啟寫權(quán)限。屬全局性設(shè)置。默認(rèn)NO
local_enable=YES?????????????? //是否允許本地用戶登錄FTP服務(wù)器。默認(rèn)為NO
anonymous_enable=YES????????? //設(shè)置是否允許匿名用戶登錄FTP服務(wù)器。默認(rèn)為YES
ftp_username=ftp??????????????? //定義匿名用戶的賬戶名稱,默認(rèn)值為ftp。
no_anon_password=YES???????????? //匿名用戶登錄時(shí)是否詢問口令。設(shè)置為YES,則不詢問。默?
認(rèn)NO
anon_world_readable_only=YES?? //匿名用戶是否允許下載可閱讀的文檔,默認(rèn)為YES。
?? anon_upload_enable=YES????? //是否允許匿名用戶上傳文件。只有在write_enable設(shè)置為
YES時(shí),該配置項(xiàng)才有效。而且匿名用戶對(duì)相應(yīng)的目錄必須有寫權(quán)限。默認(rèn)為NO。
anon_mkdir_write_enable=YES //是否允許匿名用戶創(chuàng)建目錄。只有在write_enable設(shè)置為??? YES時(shí)有效。且匿名用戶對(duì)上層目錄有寫入的權(quán)限。默認(rèn)為NO。
anon_other_write_enable=NO??? //若設(shè)置為YES,則匿名用戶會(huì)被允許擁有多于
上傳和建立目錄的權(quán)限,還會(huì)擁有刪除和更名權(quán)限。默認(rèn)值為NO。

?

2.設(shè)置歡迎信息

用戶登錄FTP服務(wù)器成功后,服務(wù)器可向登錄用戶輸出預(yù)設(shè)置的歡迎信息。
ftpd_banner=Welcome to my FTP server.?
//該配置項(xiàng)用于設(shè)置比較簡(jiǎn)短的歡迎信息。若歡迎信息較多,則可使用banner_file配置項(xiàng)。
banner_file=/etc/vsftpd/banner?????
//設(shè)置用戶登錄時(shí),將要顯示輸出的文件。該設(shè)置項(xiàng)將覆蓋ftpd_banner的設(shè)置。
dirmessage_enable=YES?????????
//設(shè)置是否顯示目錄消息。若設(shè)置為YES,則當(dāng)用戶進(jìn)入特定目錄(比如/var/ftp/Linux)時(shí),將顯示該目錄中的由message_file配置項(xiàng)指定的文件(.message)中的內(nèi)容。
message_file=.message????????? //設(shè)置目錄消息文件。可將顯示信息存入該文件。該文件需要放在 相應(yīng)的目錄(比如/var/ftp/linux)下

?

3.設(shè)置用戶登錄后所在的目錄?
local_root=/var/ftp?????????????
// 設(shè)置本地用戶登錄后所在的目錄。默認(rèn)配置文件中沒有設(shè)置該項(xiàng),此時(shí)用戶登錄FTP服務(wù)器后,所在的目錄為該用戶的主目錄,對(duì)于root用戶,則為/root目錄。
anon_root=/var/ftp????????????
//設(shè)置匿名用戶登錄后所在的目錄。若未指定,則默認(rèn)為/var/ftp目錄。

?

4.控制用戶是否允許切換到上級(jí)目錄?
?????? 在默認(rèn)配置下,用戶可以使用“cd..”命名切換到上級(jí)目錄。比如,若用戶登錄后所在的目錄為/var/ftp,則在“ftp>”命令行 下,執(zhí)行“cd..”命令后,用戶將切換到其上級(jí)目錄/var,若繼續(xù)執(zhí)行該命令,則可進(jìn)入Linux系統(tǒng)的根目錄,從而可以對(duì)整個(gè)Linux的文件系統(tǒng) 進(jìn)行操作。

若設(shè)置了write_enable=YES,則用戶還可對(duì)根目錄下的文件進(jìn)行改寫操作,會(huì)給系統(tǒng)帶來極大的安全隱患,因此,必須防止用戶切換到Linux的根目錄,相關(guān)的配置項(xiàng)如下:
chroot_list_enable=YES????????????????????
// 設(shè)置是否啟用chroot_list_file配置項(xiàng)指定的用戶列表文件。設(shè)置為YES則除了列在j/etc/vsftpd/chroot_list文件中的的帳號(hào)外,所有登錄的用戶都可以進(jìn)入ftp根目錄之外的目錄。默認(rèn)NO
chroot_list_file=/etc/vsftpd/chroot_list?????????
// 用于指定用戶列表文件,該文件用于控制哪些用戶可以切換到FTP站點(diǎn)根目錄的上級(jí)目錄。
chroot_local_user=YES????????????????????
// 用于指定用戶列表文件中的用戶,是否允許切換到上級(jí)目錄。默認(rèn)NO
注意:要對(duì)本地用戶查看效果,需先設(shè)置local_root=/var/ftp

具體情況有以下幾種:
1)當(dāng)chroot_list_enable=YES,chroot_local_user=YES時(shí),在/etc/vsftpd/chroot_list文件中列出的用戶,可以切換到上級(jí)目錄;未在文件中列出的用戶,不能切換到站點(diǎn)根目錄的上級(jí)目錄。
2)當(dāng)chroot_list_enable=YES,chroot_local_user=NO時(shí),在/etc/vsftpd/chroot_list文件中列出的用戶,不能切換到站點(diǎn)根目錄的上級(jí)目錄;未在文件中列出的用戶,可以切換到上級(jí)目錄。
3)當(dāng)chroot_list_enable=NO,chroot_local_user=YES時(shí),所有用戶均不能切換到上級(jí)目錄。
4)當(dāng)chroot_list_enable=NO,chroot_local_user=NO時(shí),所有用戶均可以切換到上級(jí)目錄。
5)當(dāng)用戶不允許切換到上級(jí)目錄時(shí),登錄后FTP站點(diǎn)的根目錄“/”是該FTP賬戶的主目錄,即文件的系統(tǒng)的/var/ftp目錄。

?

5.設(shè)置訪問控制?
(1)設(shè)置允許或不允許訪問的主機(jī)(見TBP14)
tcp_wrappers=YES用來設(shè)置vsftpd服務(wù)器是否與tcp wrapper相結(jié)合,進(jìn)行主機(jī)的訪問控制。默認(rèn)設(shè)置為YES,vsftpd服務(wù)器會(huì)檢查/etc/hosts.allow和/etc /hosts.deny中的設(shè)置,以決定請(qǐng)求連接的主機(jī)是否允許訪問該FTP服務(wù)器。這兩個(gè)文件可以起到簡(jiǎn)易的防火墻功能。
比如,若要僅允許192.168.168.1~192.168.168.254的用戶,可以訪問連接vsftpd服務(wù)器,則可在/etc/hosts.allow文件中添加以下內(nèi)容:
vsftpd:192.168.168.0/255.255.255.0 :allow
all:all:deny

(2)設(shè)置允許或不允許訪問的用戶
對(duì)用戶的訪問控制由/etc/vsftpd/user_list和/etc/vsftpd/ftpusers文件來控制實(shí)現(xiàn)。相關(guān)配置命令如下:
userlist_enable=YES?????
// 決定/etc/vsftpd/user_list文件是否啟用生效。YES則生效,NO不生效。
userlist_deny=YES???????
// 決定/etc/vsftpd/user_list文件中的用戶是允許訪問還是不允許訪問。若設(shè)置為YES,則/etc/vsftpd/user_list 文件中的用戶將不允許訪問FTP服務(wù)器;若設(shè)置為NO,則只有vsftpd.user_list文件中的用戶,才能訪問FTP服務(wù)器。

?

6.設(shè)置訪問速度?
anon_max_rate=0???????
//設(shè)置匿名用戶所能使用的最大傳輸速度,單位為b/s。若設(shè)置為0,則不受速度限制,此為默認(rèn)值。
local_max_rate=0???????
// 設(shè)置本地用戶所能使用的最大傳輸速度。默認(rèn)為0,不受限制。

?

7.定義用戶配置文件?
在vsftpd服務(wù)器中,不同用戶還可使用不同的配置,這要通過用戶配置文件來實(shí)現(xiàn)。
user_config_dir=/etc/vsftpd/userconf //用于設(shè)置用戶配置文件所在的目錄。
設(shè)置了該配置項(xiàng)后,當(dāng)用戶登錄FTP服務(wù)器時(shí),系統(tǒng)就會(huì)到/etc/vsftpd/userconf目錄下讀取與當(dāng)前用戶名相同的文件,并根據(jù)文件中的配 置命令,對(duì)當(dāng)前用戶進(jìn)行更進(jìn)一步的配置。比如,利用用戶配置文件,可實(shí)現(xiàn)對(duì)不同用戶進(jìn)行訪問的速度進(jìn)行控制,在各用戶配置文件中,定義 local_max_rate配置,以決定該用戶允許的訪問速度。

?

8.與連接相關(guān)的設(shè)置?
listen=YES????????
//設(shè)置vsftpd服務(wù)器是否以standalone模式運(yùn)行。以standalone模式運(yùn)行是一種較好的方式,此時(shí)listen必須設(shè)置為YES, 此為默認(rèn)值,建議不要更改。很多與服務(wù)器運(yùn)行相關(guān)的配置命令,需要此運(yùn)行模式才有效。若設(shè)置為NO,則vsftpd不是以獨(dú)立的服務(wù)運(yùn)行,要受 xinetd服務(wù)的管理控制,功能上會(huì)受限制。

max_clients=0
//設(shè)置vsftpd允許的最大連接數(shù),默認(rèn)為0,表示不受限制。若設(shè)置為150時(shí),則同時(shí)允許有150個(gè)連接,超出的將拒絕建立連接。只有在以standalone模式運(yùn)行時(shí)才有效。

max_per_ip=0
// 設(shè)置每個(gè)IP地址允許與FTP服務(wù)器同時(shí)建立連接的數(shù)目。默認(rèn)為0,不受限制。通常可對(duì)此配置進(jìn)行設(shè)置,防止同一個(gè)用戶建立太多的連接。只有在以standalone模式運(yùn)行時(shí)才有效。

listen_address=IP地址????????
//設(shè)置在指定的IP地址上偵聽用戶的FTP請(qǐng)求。若不設(shè)置,則對(duì)服務(wù)器所綁定的所有IP地址進(jìn)行偵聽。只有在以standalone模式運(yùn)行時(shí)才有效。 對(duì)于只綁定了一個(gè)IP地址的服務(wù)器,不需要配置該項(xiàng),默認(rèn)情況下,配置文件中沒有該配置項(xiàng)。若服務(wù)器同時(shí)綁定了多個(gè)IP地址,則應(yīng)通過該配置項(xiàng),指定在哪 個(gè)IP地址上提供FTP服務(wù),即指定FTP服務(wù)器所使用的IP地址。
注意:設(shè)置此值前后,可以通過netstat -tnl對(duì)比端口的監(jiān)聽情況

accept_timeout=60????????????
//設(shè)置建立被動(dòng)(PASV)數(shù)據(jù)連接的超時(shí)時(shí)間,單位為秒,默認(rèn)值為60。
connect_timeout=60????
// PORT方式下建立數(shù)據(jù)連接的超時(shí)時(shí)間,單位為秒。
data_connection_timeout=300???
//設(shè)置建立FTP數(shù)據(jù)連接的超時(shí)時(shí)間,默認(rèn)為300秒。

idle_session_timeout=600??????
//設(shè)置多長(zhǎng)時(shí)間不對(duì)FTP服務(wù)器進(jìn)行任何操作,則斷開該FTP連接,單位為秒,默認(rèn)為600秒。即設(shè)置發(fā)呆的逾時(shí)時(shí)間,在這個(gè)時(shí)間內(nèi),若沒有數(shù)據(jù)傳送或指令的輸入,則會(huì)強(qiáng)行斷開連接。
pam_service_name=vsftpd?????
//設(shè)置在PAM所使用的名稱,默認(rèn)值為vsftpd。

setproctitle_enable=NO|YES???
//設(shè)置每個(gè)與FTP服務(wù)器的連接,是否以不同的進(jìn)程表現(xiàn)出來,默認(rèn)值為NO,此時(shí)只有一個(gè)名為vsftpd的進(jìn)程。若設(shè)置為YES,則每個(gè)連接都會(huì)有一個(gè)vsftpd進(jìn)程,使用“ps -ef|grep ftp”命令可查看到詳細(xì)的FTP連接信息。安全起見,建議關(guān)閉。

?

9.FTP工作方式與端口設(shè)置?
(1)FTP工作方式簡(jiǎn)介
????? FTP的工作方式有兩種,一種是PORT FTP,另一種是PASV FTP。下面介紹其工作方式。
二者的區(qū)別在于PORT FTP的數(shù)據(jù)傳輸端口是由FTP服務(wù)器指定的,而PASV FTP則是由FTP客戶端指定的,而且每次數(shù)據(jù)連接所使用的端口號(hào)都不同。正因?yàn)槿绱?#xff0c;所以在CuteFTP等FTP客戶端軟件中,其連接類型設(shè)置項(xiàng)中有PORT和PASV兩種選擇。

????? 當(dāng)FTP服務(wù)器設(shè)置為PASV工作模式時(shí),客戶端也必須設(shè)置為PASV連接類型。若客戶端連接類型設(shè)置為PORT,則能建立FTP連接,但在執(zhí)行l(wèi)s或get等需要數(shù)據(jù)請(qǐng)求的命令時(shí),將會(huì)出現(xiàn)無響應(yīng)并最終報(bào)告無法建立數(shù)據(jù)連接。

(2)與端口相關(guān)的配置
listen_port=21???????????????
// 設(shè)置FTP服務(wù)器建立連接所偵聽的端口,默認(rèn)值為21。
連接非標(biāo)準(zhǔn)端口示例:ftp?www.sunflower.org?7000
connect_from_port_20=YES???
// 默認(rèn)值為YES,指定FTP數(shù)據(jù)傳輸連接使用20端口。若設(shè)置為NO,則進(jìn)行數(shù)據(jù)連接時(shí),所使用的端口由ftp_data_port指定。

ftp_data_port=20????????????
//設(shè)置PORT方式下FTP數(shù)據(jù)連接所使用的端口,默認(rèn)值為20。
pasv_enable=YES|NO????????
//若設(shè)置為YES,則使用PASV工作模式;若設(shè)置為NO,使用PORT模式。默認(rèn)為YES,即使用PASV模式。
pasv_max_port=0????????????
//設(shè)置在PASV工作方式下,數(shù)據(jù)連接可以使用的端口范圍的上界。默認(rèn)值為0,表示任意端口。
pasv_mim_port=0????????????
//設(shè)置在PASV工作方式下,數(shù)據(jù)連接可以使用的端口范圍的下界。默認(rèn)值為0,表示任意端口。

?

10.設(shè)置傳輸模式?
FTP在傳輸數(shù)據(jù)時(shí),可使用二進(jìn)制(Binary)方式,也可使用ASCII模式來上傳或下載數(shù)據(jù)。
ascii_download_enable=YES //設(shè)置是否啟用ASCII模式下載數(shù)據(jù)。默認(rèn)為NO。
ascii_upload_enable=YES??? //設(shè)置是否啟用ASCII模式上傳數(shù)據(jù)。默認(rèn)為NO。

?

11.設(shè)置上傳文檔的所屬關(guān)系和權(quán)限?
(1)設(shè)置匿名上傳文檔的屬主
chown_uploads=YES???????????
//用于設(shè)置是否改變匿名用戶上傳的文檔的屬主。默認(rèn)為NO。若設(shè)置為YES,則匿名用戶上傳的文檔的屬主將被設(shè)置為chown_username配置項(xiàng)所設(shè)置的用戶名。
chown_username=whoever?????
//設(shè)置匿名用戶上傳的文檔的屬主名。只有chown_uploads=YES時(shí)才有效。建議不要設(shè)置為root用戶。 但系統(tǒng)默root

(2)新增文檔的權(quán)限設(shè)定
local_umask=022????????????
//設(shè)置本地用戶新增文檔的umask,默認(rèn)為022,對(duì)應(yīng)的權(quán)限為755。umask為022,對(duì)應(yīng)的二進(jìn)制數(shù)為000 010 010,將其取反為111 101 101,轉(zhuǎn)換成十進(jìn)制數(shù),即為權(quán)限值755,代表文檔的所有者(屬主)有讀寫執(zhí)行權(quán),所屬組有讀和執(zhí)行權(quán),其他用戶有讀和執(zhí)行權(quán)。022適合于大多數(shù)情 況,一般不需要更改。若設(shè)置為077,則對(duì)應(yīng)的權(quán)限為700。
anon_umask=022?????????????? //設(shè)置匿名用戶新增文檔的umask。默認(rèn)077
file_open_mode=0755????????? //設(shè)置上傳文檔的權(quán)限。權(quán)限采用數(shù)字格式。 默認(rèn)0666

?

12.日志文件?
xferlog_enable=YES???????????? //是否啟用上傳/下載日志記錄。默認(rèn)為NO
xferlog_file=var/log/vsftpd.log //設(shè)置日志文件名及路徑。需啟用xferlog_enable選項(xiàng)
xferlog_std_format=YES?????????? //日志文件是否使用標(biāo)準(zhǔn)的xferlog日志文件格式(與wu-ftpd使用的格式相同) 。默認(rèn)為NO

?

13.其他設(shè)置?
text_userdb_names=NO???????
//設(shè)置在執(zhí)行l(wèi)s命令時(shí),是顯示UID、GID還是顯示出具體的用戶名或組名稱。默認(rèn)為NO,以UID和GID方式顯示,若希望顯示用戶名和組名稱,則設(shè)置為YES。
ls_recurse_enable=YES???????
//若設(shè)置為YES,則允許執(zhí)行“l(fā)s –R”這個(gè)命令,默認(rèn)值為NO。在配置文件中該配置項(xiàng)被注釋掉了,與此類似的還有一些配置,需要啟用時(shí),將注釋符去掉并進(jìn)行YES或NO的設(shè)置即可

總結(jié)

以上是生活随笔為你收集整理的Linux中配置ftp服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。