在安装好CentOS以后,需要设置Ftp和Telnet服务文件,才能启动Ftp和Telnet服务,可以通过远程控制进行开启。开通FTP有gssftp和vsftpd二种,查了查,据说vsftpd更稳定和更安全。就用vsftpd吧。
一、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下创建文件chroot_list
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(这行必须要有, 否则文件vsftpd/chroot_list不会起作用)
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:
弹出窗口如下表示成功: