您的位置:首页 > 运维架构 > Linux

centos_7.0 1503 配置笔记(三)--配置vsftpd FTP服务器

2015-04-27 20:33 337 查看
这应该是非常著名的一个ftp软件了,废话不多,直接上步骤:

1、安装vftpd,加-y是因为出现提示默认直接按Y。

yum -y install vsftpd
2、查看状态,默认是关闭的
service vsftpd status
3、开启vsftpd服务
service vsftpd start
4、设置为开机启动
chkconfig vsftpd on

5、进行相关配置,配置修改在/etc/vsftpd/vsftpd.conf里面,还是先备份这个文件

cp /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd.conf.backup
vim /etc/vsftpd/vsftpd.conf


只需要修改如下几个就好了,如有其他需要自定义就好

anonymous_enable=NO (不允许匿名登陆)
local_umask=022 (FTP上本地的文件权限,默认是022)

ftpd_banner=XXXXX (欢迎信息)

listen=NO (独立的VSFTPD服务器,这里我设置成NO为了避免端口被占用等问题导致vsftpd无法打开)

anon_upload_enable=NO ( 不开放匿名上传权限)

anon_mkdir_write_enable=yes (不开放匿名新建文件夹权限)

local_enble=yes (本地帐户能够登陆)

write_enable=yes (开放本地用户写的权限)

//接下来是关于ftp用户的相关配置,根据我自己尝试总结出来的

//首先是利用当前目录下的ftpusers文件和user_list文件来设置可以使用FTP的账户,因为在Centos下系统用户和FTP用户是用相同的方式增加的,一般来说FTP用户不能登录 //系统,但是能不能还是看自己的设置。ftpusers这个文件里面默认是不允许登录FTP的用户列表,一个用户名一行,里面已经预先设定了一些系统用户;user_list里面是可以
//登录FTP的用户列表,前提是你得启用这个文件,下面会说到。另外,当前目录下并没有chroot_list这个文件,这是要手动建立的,这个文件主要是限制用户能不能切换到别 //的目录,要通过相应的设置来生效。

//下面的设置是配置启用user_list文件并且只有该文件中的用户才可以登录FTP

userlist_enable=YES(启用user_list文件)

userlist_deny=NO(user_list中列出的帐户不阻止登录,换言之就是可以登录,而且只有文件中的用户才可以登录)

//下面的设置是配置启用chroot_list文件并且设置该文件中的用户可以切换到其他目录

chroot_list_enable=yes (启用chroot_list文件)

chroot_local_user=yes (chroot_list中列出的帐户可以切换到其他目录,其他的用户不行)

//通过上面的配置,可以知道,先用user_list设置可以登录FTP的用户,再用chrrot_list限制这些用户的切换目录权限,整个过程中ftpusers这个文件就是用来把不想登录FTP的用户扔进去、

//额外的一些配置,知道你在干什么的情况下再去修改

Idle_session_timeout=600(秒) (用户会话空闲后10分钟)

data_connection_timeout=120(秒) (将数据连接空闲2分钟断)

accept_timeout=60(秒) (将客户端空闲1分钟后断)

connect_timeout=60(秒) (中断1分钟后又重新连接)

local_max_rate=50000(bite) (本地用户传输率50K)

anon_max_rate=30000(bite) (匿名用户传输率30K)

pasv_min_port=50000 (将客户端的数据连接端口改在

pasv_max_port=60000 50000—60000之间)

max_clients=200 (FTP的最大连接数)

max_per_ip=4 (每IP的最大连接数)

listen_port=5555 (从5555端口进行数据连接)

ls_recurse_enable=NO (不允许执行 ls命令)

xferlog_enable=yes (激活上传和下载的日志)

xferlog_std_format=yes (使用标准的日志格式)

6、文件配置好了,重启vsftpd服务

service vsftpd restart


7、现在来增加一个用户测试一下

useradd  -d /usr/local/apache/htdocs -s /sbin/nologin dev    #创建用户 ,-d是指定登录之后的目录,-s是配置账户属性,这里是nologin,不能登录控制台,用户名是dev
passwd  dev     #设置密码  


8、用户添加好了,现在去编辑 user_list ,前面预定义的那些用户可以在前面加个  #  号注释掉(也可以不注释,因为ftpusers的优先级比较高--意味着他里面的用户不能登录FTP,就是不能)加入刚才添加的  dev  账户

9、同理,新建并编辑chroot_list ,加入  dev  账户,加不加看你自己,可以试试配置有没有生效。

10、现在就可以随便打开一个ftp客户端测试了。按道理应该可以了

根据别处的经验,有可能ftp的进程或者端口被SELinux限制了,需要开个后门,就按下面的来,此处不多做赘述。

修改SELinux设置,使vsftp在enforcing security enhance模式下正常运行

本文还有很多没有涉及,比如虚拟用户,用户组,相关用户(组)的权限等等,读者可以自己去查阅学习。

建议阅读文章:

史上最详细的vsftpd配置文件讲解

Centos配置vsftpd服务器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: