




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、在linux 中,搭建ftp服務(wù)器的方法, 謝謝, 瀏覽次數(shù):629次懸賞分:20 | 解決時間:2011-1-4 12:40 | 提問者:weiyong0719 最佳答案 FTP不安全,萬不得已情況下,才可使用。vsftp安全性相對較好可采用sftp代替FTPLinux另外常用的FTP:proftpvsftppureftp下面以VSFTP為例:安裝方式一:源碼包安裝useradd -s /bin/false -d /var/ftp ftpvirtualcd .makemake installcp vsftpd.conf /etc/usr/local/sbin/vsftpd & #啟動
2、安裝方式二:rpm安裝,推薦rpm -ivh vsftpd-2.0.1-5.i386.rpm或者 yum install vsftpd/etc/init.d/vsftpd start兩種方式安裝完成后,配置方法都一樣,下面開始講配置。首先講主配置文件常見配置vi /etc/vsftpd/vsftpd.confanonymous_enable=NO #禁止匿名登錄local_enable=NO #禁止本地用戶登錄 write_enable=YES #對本地用戶的寫權(quán)限local_umask=022 #本地用戶文件生成掩碼dirmessage_enable=YES #顯示隱藏文件xferlog_e
3、nable=YES #啟用上傳和下載日志connect_from_port_20=YES #服務(wù)器將啟用FTP數(shù)據(jù)端口的連接請求xferlog_std_format=YES #服務(wù)器將使用標(biāo)準(zhǔn)的ftpd xferlog日志格式pam_service_name=vsftpd #設(shè)置PAM認(rèn)證服務(wù)的配置文件名稱userlist_enable=YES #設(shè)置文件中指定的用戶是否可以訪問vsftpd服務(wù)器listen=YES #FTP服務(wù)器將處于獨立啟動模式 tcp_wrappers=YES #使用tcp_wrappers作為主機(jī)訪問控制方式 chroot_local_user=YES #將FTP本地
4、用戶禁錮在宿主目錄中 chroot_list_enable=YES #將用戶禁錮在宿主目錄中l(wèi)isten_address= #偵聽地址pasv_enable=YES #是否允使用被動模式,默認(rèn)是允許的。pasv_min_port=10000 #指定使用被動模式時打開端口的最小值pasv_max_port=10004 #指定使用被動模式時打開端口的最大值。max_clients=100 #設(shè)置FTP服務(wù)器所允許的最大客戶端連接數(shù),值為0時表示不限制 max_per_ip=5 #同一IP地址允許的最大客戶端連接數(shù),值為0時表示不限制,即線程 local_max_rate=50
5、0000 #設(shè)置本地用戶的最大傳輸速率,單位為bytes/sec,值為0時表示不限制 anon_max_rate=200000 #設(shè)置匿名用戶的最大傳輸速率,單位為bytes/sec,值為0表示不限制 use_localtime=YES #在vsftp之中的時間默認(rèn)值是顯式GMT時間,因此我們會發(fā)現(xiàn)上面的時間與我們時寄存取的時間差八小時。改了這一項就好了。listen_port=10021 改端口one_process_model=NO yes可增加性能,增加負(fù)載,便降低安全,建議NOnopriv_user=nobody 默認(rèn)以nobody運行vsftp對外服務(wù),建議使用stand alone
6、方式啟動,性能好。僅內(nèi)部人員,建議用super daemon啟動,修改如下:listen=NO略vsftp默認(rèn)使用GMT時間,建議修改如下:use_localtime=YES/etc/vsftpd.ftpusers #保存不允許進(jìn)行FTP登錄的本地用戶帳號,提高系統(tǒng)的安全性/etc/vsftpd.user_list #禁止vsftpd.user_list中的用戶userlist_enable=YESuserlist_deny=YES #僅允許vsftpd.user_list中的用戶userlist_enable=YESuserlist_deny=NO 日志:vsftpd_log_file=/v
7、ar/log/vsftpd.log下面開始講vsftp四種“用戶認(rèn)證”的方式一、匿名用戶 ftp anonymous/var/ftp 默認(rèn)主目錄在/etc/vsftpd/vsftpd.conf中:anonymous_enable=YESanon_upload_enable=YESanon_other_write_enable=YES #可刪除chmod -R 777 /var/ftp/pub/修改/var/ftp/pub的SELinux權(quán)限執(zhí)行以下命令,修改/var/ftp/pub這目錄的類型:chcon -R -t ftpd_anon_rw_t /var/ftp/pub/anon_root=
8、/var/www/html/ftp #改匿名用戶的宿主目錄二、本地用戶默認(rèn)支持,使用各自的宿主目錄。不安全local_root=/opt #新增這一項,改成其他路徑三、虛擬用戶 PAM文件方式 推薦建立虛擬用戶口令庫文件# cat logins.txt mikepwabcdjohnpw1234生成vsftpd的認(rèn)證文件db_load -T -t hash -f logins /etc/vsftpd/vsftpd_login.dbchmod 600 /etc/vsftpd/vsftpd_login.db 新創(chuàng)建虛擬用戶所需的PAM配置文件cat /etc/pam.d/vsftpd.vuauth
9、required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 新創(chuàng)建虛擬用戶的系統(tǒng)用戶所要訪問的目錄并設(shè)置相應(yīng)權(quán)限# useradd -s /bin/false -d /home/ftpsite ftpvirtual# chmod 700 /home/ftpsite#設(shè)置vsftpd.conf配置文件,支持虛擬用戶guest_enable=YESguest_username=ftpvi
10、rtualpam_service_name=vsftpd.vu user_config_dir=/etc/vsftpd/vsftpd_user_conf #添加用戶配置文件目錄設(shè)置/etc/vsftpd/vsftpd_user_conf/mike (同名),這里沒有的設(shè)置默認(rèn)按vsftpd.conf的設(shè)置執(zhí)行anon_world_readable_only=NO #可以瀏覽FTP目錄和下載文件anon_upload_enable=YES #用戶可以上傳文件,等同于 write_enable=yes 允許上傳anon_mkdir_write_enable=YES #具有建立和刪除目錄的權(quán)利 an
11、on_other_write_enable=YES #具有文件改名和刪除文件的權(quán)限 local_root=/data/userspace #設(shè)置虛擬用戶登錄后的主目錄anon_max_rate=1024000 #以Bytes/s為單位,這里限8Mbit,范圍大概在80%到120%之間四、虛擬用戶 mysql認(rèn)證方式 推薦1. mysql安裝見mysql筆記2.1 openssl-0.9.8e 源程序預(yù)編譯時在日志中可能出現(xiàn)md5.h "Present But Cannot Be Compiled的錯誤,卸載下面某些包可能解決問題。cyrus-sals-sql cyrus-sasl-n
12、tlm cyrus-sasl-gssapi cyrus-sasl-devel openldap-devel然后移除系統(tǒng)可能自帶的:mv /usr/bin/openssl /usr/bin/openssl.OFFmv /usr/include/openssl /usr/include/openssl.OFFln -s /usr/local/ssl/bin/openssl /usr/bin/opensslln -s /usr/local/ssl/include/openssl /usr/include/openssl配置庫文件搜索路徑#echo "/usr/local/ssl/lib&q
13、uot; >> /etc/ld.so.conf#ldconfig -v2.2 或者安裝openssl-0.9.8e的rpm包3. pam_mysql-0.7RC1.tar.gz#./configure -with-mysql=/usr/local/mysql -with-openssl=/usr/local/ssl如果mysql是rpm安裝的,則不帶-with-mysql參數(shù),如果openssl是rpm安裝的,參數(shù)為-with-opensslmake;make install注意pam_mysql.so路徑,可能在/usr/lib/security/pam_mysql.so或/li
14、b/security/pam_mysql.sovi /etc/pam.d/vsftp.mysql #新建,僅兩行auth required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2account required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp tabl
15、e=users usercolumn=name passwdcolumn=passwd crypt=24.0 準(zhǔn)備數(shù)據(jù)庫、表和數(shù)據(jù)mysql> create database vsftp;mysql> grant select on vsftp.* to vsftpdlocalhost identified by '123456'mysql> grant select on vsftp.* to vsftpd identified by '123456'mysql> use vsftp;mysql> create
16、table users ( -> id int AUTO_INCREMENT NOT NULL, -> name char(20) binary NOT NULL, -> passwd char(48) binary NOT NULL, -> primary key(id) -> );mysql> insert into users(name,passwd) values('hlc',password('hlc');mysql> insert into users(name,passwd) values('hol
17、ly',password('holly');5.0 修改主配置文件vi /etc/vsftpd/vsftpd.confguest_enable=YESguest_username=vsftplisten=YESpam_service_name=vsftpd.mysql以上完成了vsftp的配置,下面是補(bǔ)充:dirmessage_enable=YES #設(shè)置歡迎語 在每個目錄下建立.message,寫入歡迎語即可。db_load支持包(前面三個即可):db4db4-develdb4-utilsdb4-javadb4-tclLinux建議關(guān)閉selinux或征對FTP不做任
18、何安全setsebool -P -ftpd_disable_trans onsetsebool -P -allow_ftpd_full_access onservie vsftpd restart或者需要重啟服務(wù)器底下列出FTP訪問中所出現(xiàn)數(shù)字代碼的含意。110 重新啟動標(biāo)記應(yīng)答。 120 服務(wù)在多久時間內(nèi)ready。 125 數(shù)據(jù)鏈路端口開啟,準(zhǔn)備傳送。 150 文件狀態(tài)正常,開啟數(shù)據(jù)端口。 200 命令執(zhí)行成功。 202 命令執(zhí)行失敗。 211 系統(tǒng)狀態(tài)或是系統(tǒng)求助響應(yīng)。 212 目錄的狀態(tài)。 213 文件的狀態(tài)。 214 求助的訊息。 215 名稱系統(tǒng)類型。 220 新的聯(lián)機(jī)服務(wù)read
19、y。 221 服務(wù)的控制端口關(guān)閉,可以注銷。 225 數(shù)據(jù)鏈接開啟,但無傳輸動作。 226 關(guān)閉數(shù)據(jù)端口,請求的文件操作成功。 227 進(jìn)入passive mode。 230 用戶登錄。 250 請求的文件操作完成。 257 顯示目前的路徑名稱。 331 用戶名稱正確,需要密碼。 332 登入時需要帳戶信息。 350 請求的操作需要進(jìn)一部的命令。 421 無法提供服務(wù),關(guān)閉控制連結(jié)。 425 無法開啟數(shù)據(jù)鏈路。 426 關(guān)閉聯(lián)機(jī),終止傳輸。 450 請求的操作未執(zhí)行。 451 命令終止:有本地的錯誤。 452 未執(zhí)行命令:磁盤空間不足。 500 格式錯誤,無法識別命令。 501 參數(shù)語法錯誤。
20、 502 命令執(zhí)行失敗。 503 命令順序錯誤。 504 命令所接的參數(shù)不正確。 530 未登入。 532 儲存文件需要賬戶登入。 550 未執(zhí)行請求的操作。 551 請求的命令終止,類型未知。 552 請求的文件終止,儲存位溢出。 553 未執(zhí)行請求的的命令,名稱不正確。如何在LINUX上建立虛擬用戶 瀏覽次數(shù):582次懸賞分:0 | 提問時間:2011-3-18 10:55 | 提問者:472994948 推薦答案 為vsftpd 建立虛擬用戶ftp 2009-07-21 16:07:34 閱讀155 評論0 字號:大中小 訂閱 Linux的FTP服務(wù)支持3種用戶:1.匿名帳戶2.本地帳戶
21、3.虛擬用戶為什么要使用虛擬用戶:匿名帳戶可以很好的保證FTP服務(wù)器的安全性,但是,對匿名用戶的權(quán)限管理不夠靈活.如果想對訪問FTP的帳戶給予更多的權(quán)限,就可以用本地帳戶來實現(xiàn). 但是,本地帳戶默認(rèn)情況下是可以登陸Linux系統(tǒng)的,這樣對Linux系統(tǒng)來說是一個安全隱患.那么怎么能在靈活的賦予FTP用戶權(quán)限的前提下,保證 FTP服務(wù)器乃至整個Linux系統(tǒng)的安全呢?使用虛擬用戶就是一種解決辦法.下面,我們就一起來學(xué)習(xí),該怎樣在Linux下配置FTP服務(wù)器的虛擬用戶.開始配置前,讓我們先大概了解下FTP虛擬用戶的工作原理:虛擬用戶,顧名思義,并不是一個合法的Linux系統(tǒng)帳戶,但是他可以用來登陸
22、該系統(tǒng)上運行的FTP服務(wù)器.當(dāng)用戶在連接上FTP服務(wù)器后,會被要求輸入用戶名和密碼.FTP服務(wù)器在拿到這個用戶名和密碼后,會調(diào)用相應(yīng)的PAM認(rèn)證模塊對,和系統(tǒng)中的FTP認(rèn)證文件進(jìn)行相比較.如果該用戶名和密碼與FTP認(rèn)證文件中的某條記錄相符,就通過認(rèn)證,然后該帳戶就被映射成一個Linux下的本地帳戶,然后根據(jù)使用該本地帳戶對FTP資源進(jìn)行訪問.否則則斷開該連接請求.了解了FTP虛擬用戶的工作原理后,我們就可以開始配置FTP虛擬用戶了.整個過程可以分這幾個步驟:1.準(zhǔn)備一個虛擬用戶的口令庫文件.該文件中保存的用戶名和密碼是用戶連接FTP服務(wù)器時,需要輸入的用戶名和密碼.文件可以自己創(chuàng)建,位置無關(guān)緊
23、要,文件格式為:奇數(shù)行為用戶名,偶數(shù)行為密碼.例如:touch login.txt /創(chuàng)建一個名為login.txt的虛擬用戶口令庫文件 vi login.txt /編輯該口令庫文件 mike /虛擬用戶mike 123 /虛擬用戶mike的密碼 john /虛擬用戶john 321 /虛擬用戶john的密碼保存退出.2.用剛才建立的虛擬用戶口令庫文件生成FTP服務(wù)器的認(rèn)證文件.該認(rèn)證文件是一個被加密后的密文.PAM在調(diào)用相應(yīng)的認(rèn)證模塊后,會對從FTP服務(wù)器發(fā)來的用戶名和密碼進(jìn)行加密,然后在跟該文件進(jìn)行對比,發(fā)現(xiàn)相符條目后,登陸用戶才會被允許登陸.db_load -T -t hash -f l
24、ogin.txt /etc/vsftpd/vsftpd_login.db /在運行該命令前,別忘記安裝db4-utils軟件包,該包包含有db_load命令等.關(guān)于該命令的使用不在本文討論范圍內(nèi).其中-f參數(shù)后跟的為剛才創(chuàng)建的虛擬用戶口令庫文件.最后的路徑為生成的FTP認(rèn)證文件的存放位置.為了進(jìn)一步保證安全,可以將該FTP認(rèn)證文件的權(quán)限設(shè)置為600.3.建立虛擬用戶所需要的PAM配置文件.由于FTP服務(wù)器在接受到用戶的用戶名和口令后會調(diào)用PAM認(rèn)證,所以我們還要創(chuàng)建虛擬用戶的PAM配置文件.我們將該文件保存在/etc/pam.d目錄下,文件名暫時取為:vsftpd.這里要注意一點就是,該文件名
25、要與FTP服務(wù)主配置文件(/etc/vsftpd/vsftpd.conf)中的pam_service_name=vsftpd選項的選項值相同.創(chuàng)建好該文件后,將下面的內(nèi)容加入到該文件中:auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login改好后,保存退出(注意,/etc/pam.d/vsftpd 這個文件只能有上面兩行代碼有效,其他內(nèi)容請用#號注釋掉).注意3個紅色文
26、件的文件名.該3個文件為1個文件,只不過在使用中寫法不同.4.由于用戶在通過PAM的認(rèn)證后要被映射成一個本地用戶,所以我們還要建立一個本地用戶供虛擬用戶使用.我們只需要對該本地用戶賦予FTP主目錄的適當(dāng)訪問權(quán)限就行.即使FTP服務(wù)器遭到攻擊,這個本地用戶也沒有訪問其他目錄的權(quán)限,相對比較安全一些.useradd -d /home/ftpsite virtual /用戶名為virtual,主目錄為FTP的根chmod 700 /home/ftpsite /將其權(quán)限設(shè)置為700,可以根據(jù)實際情形進(jìn)行修改*更正(ftp目錄歸屬與被用于ftp的虛擬用戶的情況下)*000(-) 可切僅可登陸500(r-
27、x-) 可見文件列表,可下載,不可上傳與ftp上不同名的文件,不可刪除、改名、新建文件夾700(rwx-) 可上傳下載文件,可修改文件名,可刪除文件,可建立文件夾,可移動文件(可做全部操作)(vsftpd 配置許可的情況下)5.在FTP的主配置文件中,啟用FTP虛擬用戶.增加如下選項即可:guest_enable=YESguest_username=virtual /將虛擬用戶映射成本地的哪個用戶.這里用的是virtual,剛才建 立的那個用戶.pam_service_name=/etc/vsftpd/vsftpd /切記要修改該項的值6.配置到這里就完成了,別忘記重啟FTP服務(wù)進(jìn)行測試.7.
28、為不同的虛擬用戶分配權(quán)限默認(rèn)情況下,虛擬用戶擁有相同的權(quán)限,就是virtual的權(quán)限,我們可以根據(jù)實際需求對不同的虛擬用戶分配權(quán)限.首先在FTP的主配置文件中加一個選項:user_config_dir=/etc/vsftpd_user_conf /文件名和路徑都可以自己定義然后創(chuàng)建該目錄.mkdir /etc/vsftpd_user_conf下面就可以在該目錄下編輯不同虛擬用戶的權(quán)限配置文件了,比如要對mike編輯其權(quán)限.touch mike /建立mike的權(quán)限文件.文件名要與虛擬用戶名相同可以根據(jù)實際需求為該文件添加下面的選項和值:anon_world_readable_only=NO /
29、表示用戶可以瀏覽FTP目錄和下載文件anon_upload_enable=YES /表示用戶可以上傳文件anon_mkdir_write_enable=YES /表示用戶有創(chuàng)建和刪除目錄的權(quán)限anon_other_write_enable=YES /表示用戶具有文件改名和刪除文件的權(quán)限 另外:修改 /etc/selinux 文件夾下的 config 文件,SELINUX=enforcing 修改為 SELINUX=disabled到這里,虛擬用戶就算完成配置完成了.不過,有一個問題,好象在配置完虛擬用戶后,不關(guān)FTP主配置文件里怎樣配置,匿名用戶和本地用戶都不能登陸FTP服務(wù)器了.該怎樣解決這
30、個問題呢?如果不能上傳文件,如果其他配置都和上面一樣,而且ftp主目錄的權(quán)限設(shè)置為777都不能上傳的話,則可能是防火墻的問題:= 以下轉(zhuǎn)自:(/bbs/Topic.aspx?BoardID=18&TopicID=321) =Vsftpd匿名用戶無法上傳的解決在CentOS下,通過#yum -y install vsftpd安裝好vsftpd并通過編輯/etc/vsftpd/vsftpd.conf進(jìn)行配置anonymous_enable=YESlocal_enable=YESwrite_enable=YESanon_upload_enable=YES
31、anon_mkdir_write_enable=YESanon_other_write_enable=YES在/var/ftp/下建立upload目錄,設(shè)置/var/ftp/upload目錄的屬性為777,將其屬主改為ftp用戶chmod -R 777 /var/ftp/uploadchown ftp:ftp /var/ftp/upload重啟vsftpd。至此,按理說vsftpd的匿名用戶在ftp的upload目錄下應(yīng)具有下載、上傳、建目錄、刪除的權(quán)限,但在上傳時,卻出現(xiàn)了錯誤200 Switching to Binary mode.200 PORT command successful.C
32、onsider using PASV.553 Could not create file.試了好多天,一直在配置文件上和目錄權(quán)限上找原因,可都沒有解決問題。今天,看到一篇文章,說出現(xiàn)Consider using PASV是防火墻的原因。通過setup打開防火墻配置項,看到有SELinux項,有強(qiáng)制、允許、禁用三項,選禁用后,vsftpd的匿名用戶就可以進(jìn)行上傳,建目錄等操作了。 或者運行命令setsebool -P ftpd_disable_trans 1然后重啟vsftpd服務(wù),也可解決這個問題。解決了上傳的問題后,又有了新的問題,就是匿名用戶上傳的文件無法下載。經(jīng)查上傳的文件的屬性為-rw-。先是在配置文件中,修改local_umask=022項,沒有解決問題,增加如下項anon_world_readable_only=NO則能下載,具體原因不詳。 后來增加anon_umask-022項,則上傳的文件屬性為-rw-r-r-,匿名用戶可以正常下載。vsftpd用戶目錄問題服務(wù)器技術(shù) 2009-10-12 17:13:03 閱讀216 評論
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藝術(shù)類培訓(xùn)管理制度
- 蘇州家紡店管理制度
- 茶樓茶藝師管理制度
- 集中充電樁管理制度
- 小學(xué)語文《小公雞和小鴨子》課件
- 畢業(yè)設(shè)計(論文)答辯 -后擾流板對汽車氣動特性影響的仿真分析
- 廣西欽州市第四中學(xué)2024-2025學(xué)年高一下學(xué)期學(xué)業(yè)水平合格性考試模擬試卷地理試卷(九)(含答案)
- 幼兒園大班《認(rèn)識人民幣》教案
- 從職業(yè)生涯規(guī)劃書看舞蹈生的成長之路
- 山東中考濟(jì)寧題目及答案
- 無人機(jī)法律法規(guī)與安全飛行 第2版 課件 9 國外無人機(jī)管理
- 【新能源汽車動力電池常見故障及維修方法探討5900字(論文)】
- 最全的-鐵路工程檢驗批表格
- 過敏調(diào)查表范本
- 三江學(xué)院輔導(dǎo)員考試題庫
- 2023年06月中國社會科學(xué)院金融研究所第一批專業(yè)技術(shù)人員公開招聘筆試歷年難、易錯考點試題含答案解析
- 貴州省貴陽市普通中學(xué)2021-2022學(xué)年八年級下學(xué)期期末監(jiān)測考試物理試題
- 特種設(shè)備日管控、周排查、月調(diào)度模板
- 中職數(shù)學(xué)基礎(chǔ)模塊上下冊全套同步練習(xí)題含答案
- 《愛的教育》課外閱讀指導(dǎo)課正式版
- 2020年現(xiàn)行房屋建筑工程常用材料進(jìn)場取樣復(fù)試檢驗項目規(guī)范
評論
0/150
提交評論