配置vsftpd服務:Linux是壹種開源的而且安全的操作系統,已經深入人心。作為Linux的壹種流行發行版本,Ubuntu的使用更為普及。vsftpd作為Linux下壹種最為方便的FTP程序,也為人們所推崇。本文講述的是如何配置vsftpd服務
服務的啟動與停止
啟動服務之前,我們先編輯配置文件/etc/vsftpd.conf. 打開配置文件後可以看到許多以“#”開始的行,這些行都是註釋行,大多是幫助信息,可以仔細閱讀。vsftpd.conf文件的所有項目都是以“參數=值 ”來設置的,對格式要求比較嚴格,必須嚴格區分大小寫,等號兩邊不能有空格,每行的最後也不能有空格。每個參數都有壹個默認值,沒有在配置文件中明確指定的參數就會使用默認值。我們這裏不理會配置文件本來的信息,把所有內容都刪掉或註釋掉,最後加上下面四行,每行右邊的//及後的文字是含義說明,不要輸入到文件中:
1.listen=yes //vsftpd工作在standalone 模式下 2. 3.anonymous_enable=yes //允許匿名用戶登陸服務器 4. 5.local_enable=yes //允許本地用戶登錄到服務器 6. 7.pam_service_name=vsftpd //使用PAM認證 8. vsftpd有兩種工作模式,standalone模式和xinetd守護進程模式,第1行就是讓其工作在standalone模式下。此種模式中,每次修改配置文件必須重新啟動vsftpd服務才能生效,關於兩種模式在後面有詳細介紹。我們安裝時還把 Redhat 目錄下的 vsftpd.pam 文件復制成了/etc/pam.d/vsftpd 文件。這個文件就是本地用戶登陸的 pam 驗證配置文件。關於這個文件我們會在後面具體介紹。這裏我們要知道,必須得有這個配置文件,而且主配置文件裏要加上 pam_service_name=vsftpd語句,我們才能讓本地用戶登陸。用以下命令啟動服務:
1.[root@redhat vsftpd-2.3.2]# /usr/local/sbin/vsftpd & //後臺啟動vsftp 2. 我們可以通過pgrep vsftpd 來查看vsftpd服務器是否運行起來;
1.[root@redhat vsftpd-2.3.2]# pgrep vsftpd 2. 3.4248 4. 上面顯示vsFTPd服務器運行起來了,您可以通過ftp命令、lftp工具或gftp或其它的FTP客戶端來測試連接;
為保證服務確實啟動,我們用如下命令檢測:
1.[root@redhat vsftpd-2.3.2]# netstat -an |grep 21 2. 3.tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 4. 我們看到服務器已經打開了tcp21端口,表明ftp確實已經啟動。再登錄服務器:
1.[root@redhat vsftpd-2.3.2]# ftp 127.0.0.1 2. 3.Connected to 127.0.0.1. 4. 5.220 (vsFTPd 2.0.5) 6. 7.530 Please login with USER and PASS. 8. 9.530 Please login with USER and PASS. 10. 11.KERBEROS_V4 rejected as an authentication type 12. 13.Name (127.0.0.1:root): ftp 14. 15.331 Please specify the password. 16. 17.Password: 18. 19.230 Login successful. 20. 這時我們已經用匿名用戶(用戶名ftp或anonymous,密碼任意)登錄到服務器了,還可以用本地用戶登錄。我們做測試時建議使用如上所示的ftp命令(windows、Linux及Unix都帶這個命令,用法都是壹樣的)來登錄服務器,這樣可以看到更詳細的信息,對於我們調試服務器是非常有幫助的。最簡單的ftp服務器就已經達建起來了。
使用如下命令關閉ftp服務:
1.[root@redhat vsftpd-2.3.2]# killall vsftpd //或是 pkill vsftpd 2. 3.[root@redhat vsftpd-2.3.2]# pgrep vsftpd //查看vsftpd服務器是否已經關閉 4. 開機自啟動
用vi打開etc/rc.local在裏面加入/usr/local/bin/vsftpd & 即可。
標籤: 配置
linux學習-linux配置文件出去註釋行
1、使用grep -v “^#” 來去掉註釋行,其中:-v 就是取相反的 ^# 表示註解行
eg. grep -v “^#” /etc/vsftpd/vsftpd.conf (也可以使用“>”來重寫配置文件)
2、有時也會連同空行壹起去掉,使用管道符來完成(^$表示空行 )
eg. grep -v “^#” httpd.conf | grep -v “^$” >> vsftpd.conf
上面用了 2次 grep 過濾命令 ,也就是把空行和註解行過濾掉,再把剩下的內容追加保存為原
來的配置文件 vsftpd.conf 這個時候就文件裏的內容就沒有註解行和空行了,,,,
提示: 對配置文件不熟悉的建議不要用這種方法,配置文件中的註解行還是有壹定的幫助的。
另外,在更改配置文件時,建議先對配置文件做壹下備份:
cp -a httpd.conf httpd.conf.bak
kerberos的安裝配置
kerberos是由MIT開發的提供網絡認證服務的系統,很早就聽說過它的大名,但壹直沒有使用過它。它可用來為網絡上的各種server提供認證服務,使得口令不再是以明文方式在網絡上傳輸,並且聯接之間通訊是加密的;它和PKI認證的原理不壹樣,PKI使用公鑰體制(不對稱密碼體制),kerberos基於私鑰體制(對稱密碼體制)。 本篇文章不打算詳細講解kerberos的工作原理,而是側重介紹在redhat8.0環境下如何使用kerberos自己提供的Ktelnetd,Krlogind,Krshd來替代傳統的telnetd,rlogind,rshd服務,有關kerberos工作的原理可以參考《Kerberos:AN Authentication Services for Computer Networks》。 安裝環境:壹臺i386機器。 安裝包:krb5-server-1.2.5-6,krb5-workstation-1.2.5-6,krb5-libs-1.2.5-6 rpm -ivh krb5-libs-1.2.5-6.i386.rpm rpm -ivh krb5-server-1.2.5-6.i386.rpm rpm -ivh krb5-workstation-1.2.5-6.i386.rpm 上述要求滿足後,我們就可以先配KDC服務器,然後再配Ktelnetd,Krlogind,Krsh服務器,最後就可以使用krb5-workstation提供的telnet,rlogin,rsh來登錄這些服務了。下面是安裝步驟: 1、生成kerberos的本地數據庫 kdb5_util create -r EXAMPLE.COM -s 這個命令用來生成kerberos的本地數據庫,包括幾個文件:principal,principal.OK,principal.kadm5,principal.kadm5.lock. -r 指定realm(kerberos術語),我們隨便取壹個叫EXAMPLE.COM. 2、生成賬號 kerberos用principal(kerberos術語)來表示realm下的壹個帳戶,表示為primary/instance@realm,舉個例子就是username/9.181.92.90@EXAMPLE.COM,這裏假設9.181.92.90是妳機器的ip地址. 在數據庫中加入管理員帳戶: /usr/kerberos/sbin/kadmin.local kadmin.local: addprinc admin/admin@EXAMPLE.COM 在數據庫中加入用戶的帳號: kadmin.local: addprinc username/9.181.92.90@EXAMPLE.COM 在數據庫中加入Ktelnetd,Krlogind,Krshd公用的帳號: kadmin.local: addprinc -randkey host/9.181.92.90@EXAMPLE.COM 3、檢查/var/kerberos/krb5kdc/kadm5.keytab是否有下列語句: */admin@EXAMPLE.COM * 若沒有,那麽就添上。 4、修改/etc/krb5.conf文件,修改所有的realm為EXAMPLE.COM,並且加入下列句子 kdc = 9.181.92.90:88 admin_server = 9.181.92.90:749 5、在/etc/krb.conf中加入下列語句: EXAMPLE.COM EXAMPLE.COM 9.181.92.90:88 EXAMPLE.COM 9.181.92.90:749 admin server 6、啟動kdc服務器和Ktelnetd,Krlogind,Krshd /etc/init.d/krb5kdc restart chkconfig klogin on chkconfig kshell on chkconfig eklogin on chkconfig krb5-telnet on /etc/init.d/xinetd restart 7、制作本地緩存 將username/9.181.92.90@EXAMPLE.COM的credentials(kerberos術語)取到本地做為cache,這樣以後就可以不用重復輸入password了。 kinit username/9.181.92.90 如果順利的話,在/tmp下面會生成文件krb5*;這步如果不通,那麽就必須檢查以上步驟是否有漏。 可以用klist命令來查看credential。 8、導出用戶密匙 export host/9.181.92.90@EXAMPLE.COM的key到/etc/krb5.keytab,Ktelnetd、Krlogind和Krshd需要/etc/krb5.keytab來驗證username/9.181.92.90的身份。 kadmin.local: ktadd -k /etc/krb5.keytab host/9.181.92.90 9、修改~/.k5login文件 在其中加入username/9.181.92.90@EXAMPLE.COM,表示允許username/9.181.92.90@EXAMPLE.COM登錄該帳戶 cat username/9.181.92.90@EXAMPLE.COM >>~/.k5login 10、測試kerberos客戶端 krsh 9.181.92.90 -k EXAMPLE.COM ls krlogin 9.181.92.90 -k EXAMPLE.COM rlogin 9.181.92.90 -k EXAMPLE.COM rsh 9.181.92.90 -k EXAMPLE.COM telnet -x 9.181.92.90 -k EXAMPLE.COM