vsftp部署和优化(CentOS自带的ftp软件)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vsftp部署和优化(CentOS自带的ftp软件)相关的知识,希望对你有一定的参考价值。

一、(1)首先安装vsftpd

yum install -y vsftpd

(2)安装完vsftpd后启动vsftpd服务

/etc/init.d/vsftpd start

(这时启动的时候可能会失败,原因是上面我们pure-ftpd已经占用了21端口,ftp服务使用的都是21端口,所以这时候出现冲突,这时候vsftpd服务自然无法启动起来;这时我们就得先把pure-ftpd先kill掉,再次启动就可以了)

(3)切换到客户端直接用系统用户登录

lftp [email protected] (www是创建的一个用户)

(这时候登录的你会发现在ftp里可以自由的切换目录,甚至etc啊tmp啊等等目录下的内容你都能看到并下载,这是个很危险的情况,所以我们要禁止用户切换到其它目录下去,也就是要把用户限制到某个目录下)

(4)将用户限制到某个目录下:

修改配置文件: vim /etc/vsftpd/vsftpd.conf

在配置文件中找到: chroot_local_user=YES 这一行,将其前面的注释去掉即可,然后再去客户端测试是否还能切换目录操作。

(5)生成一个虚拟的用户来操作ftp(正常我们配置ftp一般是不能用系统用户来使用的,要不然都知道你系统用户了那都可以通过sshd来登录系统了,这也是一个安全隐患,所以我们需要配置一个虚拟用户来操作)

二、1、创建一个虚拟用户对应的那个系统用户:useradd virftp -s /sbin/nologin

2、创建一个虚拟用户存放用户名密码的文件:vim /etc/vsftpd/vsftpd_login

写入内容:

test1

111222aaa

test2

aaa111bbb

然后更改其权限:chmod 600 /etc/vsftpd/vsftpd_login

3、将vsftpd_login这个文件生成一个vsftpd这个服务能识别的一个二进制的库文件:

db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

4、创建虚拟用户:

(1)创建一个虚拟用户配置文件存放的一个目录: mkdir /etc/vsftpd/vsftpd_user_conf

(2)进入到这个目录下进行配置文件的创建: cd /etc/vsftpd/vsftpd_user_conf

(3)创建一个跟第2步配置文件中用户名同名的一个配置文件: vim test1

写入内容: local_root=/home/virftp/test1

anonymous_enable=NO

write_enable=YES

local_umask=022

anon_upload_enable=NO

anon_mkdir_write_enable=NO

idle_session_timeout=600

data_connection_timeout=120

max_clients=10

max_per_ip=5

local_max_rate=50000

(4)既然在上面配置文件中我们有限制test1的家目录到/home/vsftpd/test1下,我们自然要去创建这个目录:

mkdir /home/virftp/test1

然后更改其属主以及属组为我们的系统用户:

chown -R virftp:virftp /home/virftp/test1

(5)编辑认证相关的一个配置文件:(告诉配置文件你得用哪种方式去认证,要不然会用系统默认的用户名和密码,

现在我们要用虚拟用户的来认证,这时候就需要告诉配置文件他的这些密码库文件这些在哪里,要去用它)

vim /etc/pam.d/vsftpd

添加两行信息即可:

auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

保存之前我们要先去确认下/lib/security/pam_userdb.so这个文件存在不存在

(因为这个关系到系统是32位还是64位的问题,32位的系统是存放在上面所说的路径下的,但是如果是64位操作系统的话

是存放在/lib64/security/pam_userdb.so里的) 可以用uname -a查看系统是多少位的操作系统

(6)编辑vsftpd的配置文件: vim /etc/vsftpd/vsftpd.conf

(将一些关于匿名用户信息行的选项打开并将其改成NO;注:local_enable=YES这一行就是默认的YES别去改)

并在配置文件最底下添加一些配置信息:

guest_enable=YES

guest_username=virftp

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/vsftpd_user_conf

(7)重启vsftpd服务: /etc/init.d/vsftpd restart

5、接下来就是登陆测试了

(1)可以在本服务器上进行测试:

lftp [email protected]


本文出自 “7169431” 博客,请务必保留此出处http://7179431.blog.51cto.com/7169431/1877508

以上是关于vsftp部署和优化(CentOS自带的ftp软件)的主要内容,如果未能解决你的问题,请参考以下文章

vsftp部署和优化

Linux vsftp 部署&优化

CentOS平台部署vsftp(基于虚拟用户)

vsftp部署和优化

VSFTP通讯原理与搭建详解

VSFTP通讯原理与搭建详解