CentOS下VFtpD和Telnet服務的配置
一、vsftpd的安裝
1.1、檢查是否有安裝:
rpm -q vsftpd
***package vsftpd is not installed 表示沒有安裝
1.2、安裝VSFTP
yum -y install vsftpd
1.3、設置開機啟動vsftpd ftp服務並啟動
chkconfig vsftpd on
service vsftpd start
啟動vsftpd服務
***
管理vsftpd相關命令:
停止vsftpd:
service vsftpd stop
重啟vsftpd:
service vsftpd restart
1.4、配置vsftpd服務器
vi /etc/vsftpd/vsftpd.conf
將下面三行
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd/chroot_list
改為
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list
在目錄/etc/vsftpd下創建文件
vi chroot_list
***裏面沒有內容
************說明*****************
對於/etc/vsftpd/vsftp.conf文件中的3選項的關系結構
如果設置為
chroot_local_user=YES
chroot_list_enable=YES(這行可以沒有, 也可以有)
chroot_list_file=/etc/vsftpd/chroot_list
那麽, 凡是加在文件vsftpd.chroot_list中的用戶都是不受限止的用戶,即可以瀏覽其主目錄的上級目錄。
或者, 設置如下
chroot_local_user=NO
chroot_list_enable=YES(這行必須要有
chroot_list_file=/etc/vsftpd/chroot_list
然後把所有不希望有這種瀏覽其主目錄之上的各目錄權限的用戶添加到文件vsftpd.chroot_list(此時, 在該文件中的用戶都是不可以瀏覽其主目錄之外的目錄的)中即可(一行一個用戶名).
1.5、增加ftp用戶並設置密碼
useradd -d /home/wwwroot/ -g ftp ftpuser
***命令解析:
ftpuser--------------用戶名稱
/home/wwwroot/---------------用戶登錄後所在的目錄
用passwd設置用戶的密碼:
passwd ftpuser
1.6、重啟VSftpd服務
service vsftpd restart
1.7、設置Home目錄可以訪問
使用CentOS命令sestatus查看ftp布爾值的狀態列表::sestatus -b|grep ftp
可以看到所有的設置都為off,我們需要將ftp_home_dir設置為on就可以了
setsebool -P ftp_home_dir on
***其中-P表示重新開機後依舊保持為on
1.8、驗證VSFTPD服務
1.8.1、驗證是否安裝FTP
rpm –q ftp
1.8.2、安裝FTP軟件
rpm -Uvh http://mirror.centos.org/centos/6/os/x86_64/Packages/ftp-0.17-54.el6.x86_64.rpm
1.8.3、驗證執行
在本機執行
ftp 10.8.15.30
若出現上圖表示成功安裝。
1.9、錯誤集錦
1.9.1、500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list
出錯原因:
1、 沒有創建chroot_list文件
2、 Chroot_list文件中的內容配置不對
1.9.2、500 OOPS: cannot change directory:/home/wwwroot解決方法
CentOS中安裝FTP服務vsftpd是,使用ftp命令登錄過程中用戶名和密碼輸入正確情況下一直出現500 OOPS: cannot change directory:/home/wang,真是奇哉怪也。後來查找了很多資料,才發現和CentOS系統有關系,以前用Ubuntu好像不會有這樣問題 的。
使用CentOS命令sestatus查看ftp布爾值的狀態列表::sestatus -b|grep ftp
可以看到所有的設置都為off,我們需要將ftp_home_dir設置為on就可以了setsebool -P ftp_home_dir on
其中-P表示重新開機後依舊保持為on,執行下命令,再次用ftp命令連接可以登錄了
1.9.3、windows訪問不了FTP
防火墻對端口22需要設置允許執行:
使用下面命令開啟這些端口:
iptables -I INPUT -p tcp --dport 22 -jACCEPT
iptables -I INPUT -p udp --dport 22 -jACCEPT
service iptables save //保存
service iptables restart //重啟防火墻
二、Telnet的安裝
2.1、檢查是否安裝
rpm -qa | grep telnet
telnet 是掛在 xinetd 底下的,所以同時查看是否安裝了xinetd服務
rpm -q xinetd
2.2、安裝
兩者都沒有的安裝的話,yum安裝以下服務
yum install xinetd telnet telnet-server -y
2.3、設置開機啟動Telnet服務並啟動
chkconfig xinetd on
chkconfig telnet on
修改配置文件
vi /etc/xinetd.d/telnet
將”disable= yes”改成” disable=no”
激活服務
service xinetd restart
2.4、防火墻會阻止telnet,所以需要在iptables允許
當你啟動telnet服務後,你可以用netstat –tunlp命令來查看telnet服務所使用的端口,可以發現有23。
使用下面命令開啟這些端口:
iptables -I INPUT -p tcp --dport 23 -jACCEPT
iptables -I INPUT -p udp --dport 23 -jACCEPT
service iptables save //保存
service iptables restart //重啟防火墻
或者來點狠的!!關閉防火墻!
service iptables stop
2.5、嘗試驗證
2.5.1、LINUX驗證
telnet 10.8.15.30
表示需要打開該端口23,防火墻iptables,執行下一步
2.5.1.1、非root執行驗證(不能用root用戶登錄)
telnet 10.8.15.30
Exit
2.5.1.2、ROOT執行驗證(用root用戶登錄—沒有成功)
2.5.1.2.1、查看root是否可以登錄
2.5.1.2.2、配置root可以登錄(沒有成功)
以root權限執行
vi /etc/ssh/sshd_config
#PermitRootLogin yes
修改為
PermitRootLogin yes
重啟ssh服務 /etc/rc.d/init.d/sshd restart
普通用戶OK,root輸入正確密碼出錯誤提示.
CentOS release 5 (Final)
Kernel 2.6.18-53.el5 on an i686
login: root
Password:
Login incorrect
查看log有如下信息。
tail /var/log/secure
Mar 17 02:16:55 localhost login: pam_securetty(remote:auth): access denied: tty 'pts/3' is not secure !
Mar 17 02:16:59 localhost login: FAILED LOGIN 1 FROM 192.168.160.1 FOR root, Authentication failure
2.5.1.2.3、解決root登陸的阻止條件
這裏有兩個方法。
方法1:
確認/etc/pam.d/login中的pam_securetty.so行,並將其註釋掉"#"
[root@rhel52 /]# vim /etc/pam.d/login
#%PAM-1.0
#auth [user_unknown...... pam_securetty.so 這一行註釋掉
方法2:
根據"tty 'pts/3' is not secure"的提示。添加 pts/ 系列終端到/etc/securetty
pts/1
pts/2
pts/3 //增加這個應該是增加使用root登陸的個數,後面有解釋
pts/4
pts/5
//也不知道有多少可以加,不能登陸就看log,如果不夠再加好了。
2.5.1.2.4、檢查結果
重啟服務:service xinetd restart
2.5.2、WINDOWS下驗證
2.5.3.1、windows打開telent
第一步:點擊開始,打開控制面板,找到“程序和功能”一項,點擊打開。
第二步:打開或關閉windows功能
第三步:勾選 telnet服務器 telnet客戶端 確定。到此為止安裝telnet服務完畢。
2.5.3.2、執行檢驗
在windows的cmd的命令窗口下輸入:telnet 10.8.15.30:
彈出窗口如下表示成功:
CentOS下VFtpD和Telnet服務的配置