Fedora16下安裝vsftpd實現ftp小結

2021-06-17 21:42:49 字數 4114 閱讀 6423

之前也搗鼓過一段時間linux下的ftp,環境是fedora16,結果沒成功,這次由於專案需要又再一次搗鼓起來,整了一天,終於弄好,實現了可在windows下使用資源管理器視窗訪問linux伺服器主機的特定ftp資料夾,現在小結一下今天的工作。

1.安裝vsftpd。

2.相關檔案和引數說明

安裝完成之後,可在/etc資料夾下開啟vsftpd的資料夾。

其中,vsftpd.conf檔案是配置檔案,相關的引數設定可以在編輯設定;ftpusers為禁止訪問賬戶檔案,檔案中的使用者不能訪問ftp;user_list檔案為可以訪問賬戶列表檔案,其中的使用者為可訪問ftp的賬戶。

參考1:

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隱含檔案的內容 

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 是否使用獨佔啟動方式(這一項比較重要) 

參考2:

anonymous_enable=yes|no 控制是否允許匿名使用者登入,yes允許,no不允許,預設值為yes。

ftp_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=                                  設定匿名使用者的根目錄,即匿名使用者登入後,被定位到此目錄下。主配置檔案中預設無此項,預設值為/var/ftp/。

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使用者。

vsftpd的啟動方法

方法一:service vsftpd start;service vsftpd stop;service vsftpd restart本方法在fedora系統下有效

方法二:systemclt start vsftpd.service(啟動);systemclt stop vsftpd.service(停止);systemclt restart vsftpd.service.(重啟)

以上是相關部分引數是釋義,但是在修改的同時需要對系統環境做一番設定才行,不然設定了也不會起作用。

例子1:設定root訪問方式

chroot_list = yes

chroot_list_file=/etc/vsftpd/chroot_list

需要自己在資料夾中建立chroot_list檔案才能起到相應的作用,檔案中新增root使用者。

例子2:設定ftp預設資料夾

首先對需要設定ftp預設的資料夾進行許可權操作,例如想使用/home資料夾作為ftp資料夾,則需要執行chmod 755 /home操作;

然後在vsftpd.conf檔案中,增加local_root = /home這句話;

接著輸入命令:sestatus -b | grep ftp 檢視ftp相關服務開啟狀態

然後輸入命令setsebool ftp_home_dir 1;開啟ftp_home_dir(這一步如果不做,連線ftp會報500 oops: cannot change directory:/root)

然後重啟vsftpd服務(service vsftpd restart/systemclt restart vsftpd.service)

例子3:關閉防火牆或是selinux

參考:有時候服務是正常開啟的,但是卻訪問不了,這時可以考慮是不是是防火牆或selinux的事;可能ftpd伺服器被防火牆或selinux的安全機制防住了。所以您必須要讓防火牆通過ftp,當然也要讓selinux通過ftp伺服器才行;

在fedora/redhat/centos中,您要設定一下防火牆,可以把防火牆關掉,或者在自定義中讓ftp通過防火牆;

或者執行一下如下的命令,清除防火牆規則(通用);

[root@localhost beinan]# iptables -f

關於selinux伺服器的解說 ,可能老手或新手對selinux都有點麻煩,建議您selinux;或者讓vsftpd伺服器跳過selinux啟動;也就是說要用到 4.1、vsftpd伺服器啟動和關閉的通用方法;這在fedora/redhat/centos中這樣啟動vsftpd伺服器是有效的;

當然您可也可以關掉selinux,在/etc/selinux/config 配置檔案如下;

/etc/selinux/config

檔案內容如下

# this file controls the state of selinux on the system.

# selinux= can take one of these three values:

# enforcing - selinux security policy is enforced.

# permissive - selinux prints warnings instead of enforcing.

# disabled - selinux is fully disabled.

selinux=disabled #這樣就把selinux伺服器關掉了,請重新啟動系統;

# selinuxtype= type of policy in use. possible values are:

# targeted - only targeted network daemons are protected.

# strict - full selinux protection.

selinuxtype=targeted

以上幾個例子都是自己測試過,可以使用。

安裝fedora 16 之後

電腦換了windows 8 系統之後,再裝fedora,發現只有16可以正常安裝而且是在win8裡安裝easybcd,才能正常啟動windows,這是我反覆裝了很多次才發現此情況的。無奈只能繼續使用16了。不知會不會有解決的辦法出來。現把我裝16之後一些設定,外掛程式安裝記錄如下,並隨時更新,備用。...

Fedora 16 安裝 ATI顯示卡驅動

基本步驟就是 1.從ati官網根據顯示卡型號下驅動軟體,我下的是ati driver installer 11 12 x86.x86 64.run 2.進入終端,找到驅動所在目錄,新增執行許可權 plain view plain copy print?sudo chmod x ati driver ...

Fedora 16使用感受

使用linux已經很多年了,但並不不是高手,只是對開源,對自由軟體天然的親近,才使我從沒斷續過linux.接觸linux從2003年開始,剛開始接觸linux的版本是red hat 9.0,那是裝在virtual box的虛擬機器,很簡陋,後來被微軟收購了。乙個全新 陌生的系統就要出生了,想想都莫名...