linux 安装vsftpd

1、首先用命令检查VSFTP是否已经安装。
chkconfig --list | grep vsftpd

2、如安装可直接进行配置未安装用懒人安装法
yum install –y vsftpd

3、安装完毕进行vsftpd配置文件配置(yum默认配置文件路径/etc/vsftpd/vsftpd.conf)
vim /etc/vsftpd/vsftpd.conf

4、设置vsftpd开机自启
chkconfig vsftpd on (CentOS7使用systemctl enable vsftpd)

5、需要配置的一些地方
anonymous_enable=NO #不允许匿名访问,禁用匿名登录

local_enable=YES #允许使用本地帐户进行FTP用户登录验证

write_enable=YES #开放本地用户写的权限

local_umask=022 #上传的文件所具有的权限

dirmessage_enable=YES #是否显示目录说明文件

xferlog_enable=YES #记录使用者所有上传下载信息

connect_from_port_20=YES #确保ftp-datad 数据传送使用port 20(20号端口)

xferlog_std_format=YES

ftpd_banner=Welcome to blah FTP service. #链接成功提示欢迎语

chroot_local_user=YES #启用限定用户在其主目录下

chroot_list_enable=YES #禁固宿主目录,限制使用者不能离开家目录,例如blue登陆后位于/home/blue下,设置该选项后,他不可以转到/home/blue的上层目录,如/bin, /usr,/opt…etc

chroot_list_file=/etc/vsftpd/chroot_list #与上条同时使用,设置要禁固宿主目录的用户的配置文件为/etc/vsftpd/chroot_list 建立文本文件/etc/vsftpd/chroot_list,写入要禁固宿主目录的用户,一行一个。当chroot_list_enable=YES时,则禁固chroot_list文件里面的用户的宿主目录,而为NO时chroot_list文件里面的用户不禁固宿主目录。

listen=YES

listen_ipv6=NO #开启会报500错误

pam_service_name=vsftpd **#PAM所使用的名称.同userlist_一样限制用户登陆,不同的是userlist_在进行密码验证之前拒绝用户登陆,pam是在密码验证之后拒绝登陆.(提示密码错误) 用户列表默认存放在/etc/ftpusers中,一行一个. (可通过/etc/pam.d/vsftpd重定向用户列表存放文件)

userlist_enable=YES #为yes时, /etc/vsftpd/user__list文件中的用户将不能访问vsftpd服务器

tcp_wrappers=YES #支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny)

listen_port=21 #ftp监听端口

userlist_deny=No #与参数:userlist_file=/etc/vsftpd/localuser_list 结合使用

local_root=/home/pptline #设定所有本地用户登陆后的目录,如不设置此项,则本地用户登陆后位于各自家目录下

pasv_enable=YES #是否允许被动模式

pasv_min_port=6000
pasv_max_port=7000 #设定在PASV模式下,建立数据传输所可以使用port范围的下界和上界,0 表示任意。默认值为0。把端口范围设在比较高的一段范围内,比如50000-60000,将有助于安全性的提高
allow_writeable_chroot=YES #另外,从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列项:allow_writeable_chroot=YES
好了,这样就只能访问自身所属目录。如果希望某个用户可以访问根目录,把用户名加入
/etc/vsftpd/chroot_list不存在就创建这个文件,一行一个用户名。

6、添加用户
useradd -d /home/ftpuser1(文件名自定义) -s /sbin/nologin ftpuser1
passwd 输入密码

ftpuser是一个黑名单始终有效、user_list是一个黑白名单根据参数的配置进行转换
userlist_enable和userlist_deny两个选项联合起来针对的是:本地全体用户(除去ftpusers中的用户)和出现在user_list文件中的用户以及不在在user_list文件中的用户这三类用户集合进行的设置。
当且仅当userlist_enable=YES时:userlist_deny项的配置才有效,user_list文件才会被使用;当其为NO时,无论userlist_deny项为何值都是无效的,本地全体用户(除去ftpusers中的用户)都可以登入FTP
当userlist_enable=YES时,userlist_deny=YES时:user_list是一个黑名单,即:所有出现在名单中的用户都会被拒绝登入;
当userlist_enable=YES时,userlist_deny=NO时:user_list是一个白名单,即:只有出现在名单中的用户才会被准许登入(user_list之外的用户都被拒绝登入);另外需要特别提醒的是:使用白名单后,匿名用户将无法登入!除非显式在user_list中加入一行:anonymous

配置参考:https://blog.csdn.net/bluishglc/article/details/42273197

7、配置防火墙
按照以上步骤还不能运行,用下面命令可以查看一下防火墙允许的端口号,ftp的端口号是"20、21",
service iptables status
没有进行配置允许(iptables)
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
centos7对iptables升级成firewall
systemctl start firewalld
firewall-cmd --zone=public --add-port=20-21/tcp --permanent
firewall-cmd --zone=public --add-port=10240-10260/tcp --permanent
firewall-cmd --reload

8、设置selinux问题
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux史上最杰出的新安全子系统。SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制 (MAC)系统。对于目前可用的 Linux 安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MAC 研究基础上建立的。SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念SELinux提供了比传统的UNIX权限更好的访问控制。
getsebool -a | grep ftp
setsebool -P ftp_home_dir 1
setsebool -P allow_ftpd_full_access 1

9、重启vsftpd服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值