在安装好CentOS以后,需要设置FtpTelnet服务文件,才能启动FtpTelnet服务,可以通过远程控制进行开启。开通FTPgssftpvsftpd二种,查了查,据说vsftpd更稳定和更安全。就用vsftpd吧。

一、vsftpd的安装

1.1检查是否有安装:

rpm -q vsftpd

 image.png

 ***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_userYES

chroot_list_enable=YES(这行可以没有, 也可以有)

chroot_list_file=/etc/vsftpd/chroot_list

 

那么, 凡是加在文件vsftpd.chroot_list中的用户都是不受限止的用户,即可以浏览其主目录的上级目录。

 

或者, 设置如下

 

chroot_local_userNO

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

CentOS下VFtpD和Telnet服务的配置_第1张图片

可以看到所有的设置都为off,我们需要将ftp_home_dir设置为on就可以了

setsebool -P  ftp_home_dir  on

***其中-P表示重新开机后依旧保持为on

CentOS下VFtpD和Telnet服务的配置_第2张图片

1.8、验证VSFTPD服务

1.8.1、验证是否安装FTP

rpm –q ftp

image.png

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

CentOS下VFtpD和Telnet服务的配置_第3张图片

若出现上图表示成功安装。

1.9、错误集锦

1.9.1500 OOPS: could not read chroot() list file:/etc/vsftpd/chroot_list

CentOS下VFtpD和Telnet服务的配置_第4张图片

出错原因:

1、   没有创建chroot_list文件

2、   Chroot_list文件中的内容配置不对

1.9.2500 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

CentOS下VFtpD和Telnet服务的配置_第5张图片

可以看到所有的设置都为off,我们需要将ftp_home_dir设置为on就可以了setsebool -P  ftp_home_dir  on

其中-P表示重新开机后依旧保持为on,执行下命令,再次用ftp命令连接可以登录了

CentOS下VFtpD和Telnet服务的配置_第6张图片

1.9.3windows访问不了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

image.png

2.2、安装

两者都没有的安装的话,yum安装以下服务

yum install xinetd telnet telnet-server -y

CentOS下VFtpD和Telnet服务的配置_第7张图片

2.3、设置开机启动Telnet服务并启动

chkconfig xinetd on

chkconfig telnet on

修改配置文件

vi /etc/xinetd.d/telnet

”disable= yes”改成” disable=no”

 

激活服务

service xinetd restart

image.png

2.4防火墙会阻止telnet,所以需要在iptables允许

当你启动telnet服务后,你可以用netstat –tunlp命令来查看telnet服务所使用的端口,可以发现有23

CentOS下VFtpD和Telnet服务的配置_第8张图片

使用下面命令开启这些端口:

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.1LINUX验证

telnet 10.8.15.30

image.png

  表示需要打开该端口23,防火墙iptables,执行下一步

2.5.1.1、非root执行验证(不能用root用户登录)

telnet 10.8.15.30

CentOS下VFtpD和Telnet服务的配置_第9张图片

Exit

CentOS下VFtpD和Telnet服务的配置_第10张图片

2.5.1.2ROOT执行验证(用root用户登录没有成功)

2.5.1.2.1查看root是否可以登录

CentOS下VFtpD和Telnet服务的配置_第11张图片

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.2WINDOWS下验证

2.5.3.1、windows打开telent

第一步:点击开始,打开控制面板,找到程序和功能一项,点击打开。

第二步:打开或关闭windows功能

CentOS下VFtpD和Telnet服务的配置_第12张图片

第三步:勾选 telnet服务器  telnet客户端   确定。到此为止安装telnet服务完毕。

CentOS下VFtpD和Telnet服务的配置_第13张图片

2.5.3.2、执行检验

windowscmd的命令窗口下输入:telnet 10.8.15.30

image.png

弹出窗口如下表示成功:

CentOS下VFtpD和Telnet服务的配置_第14张图片