CentOS vsFTP服务器安装

1.安装vsftpd
rpm -qa | grep vsftpd #查看是否安装了vsftpd
yum install vsftpd #下载安装
ps -ef | grep vsftpd #查看进程是否启动
service vsftpd start 
#启动服务 service vsftdp start|stop|restart|status


systemctl enable vsftpd.service #添加到自启动


2.备份配置文件
cd /etc/vsftpd
cp vsftpd.conf vsftpd.conf.old


3.修改配置信息 vi vsftpd.conf
anonymous_enable=NO #不允许匿名登录
local_enable=YES #允许本地用户登录
write_enable=YES #允许写入
local_umask=022 #上传的文件权限改为755
dirmessage_enable=YES #允许显示目录消息
xferlog_enable=YES #是否记录日志
#connect_from_port_20=YES #禁用PORT模式,采用PASV模式
xferlog_file=/var/log/xferlog #日志文件的保存路径
xferlog_std_format=YES #日志文件的格式
idle_session_timeout=300 #空闲超时时间
data_connection_timeout=120 #数据连接超时时间
ascii_upload_enable=YES #允许ascii上传
ascii_download_enable=YES #允许ascii下载
ftpd_banner=Welcome to FTP service. #ftp欢迎信息


#以下三个配置实现了,在chroot_list文件中的用户可以更改路径,其他用户只能锁定在指定目录中
chroot_local_user=YES
chroot_list_enable=YES 
chroot_list_file=/etc/vsftpd/chroot_list


listen=YES #独立进程模式启动
#listen_ipv6=YES #注释掉


pam_service_name=vsftpd #验证文件为/etc/pam.d/vsftpd
tcp_wrappers=YES


#以下两个配置实现了,只有在user_list文件中的用户才能登录
userlist_enable=YES
userlist_file=/etc/vsftpd/user_list
#userlist_deny=NO #这个不能设置,设置后,window下文件管理器无法实现登录


#因为配置了防火墙,只能使用PASV模式
pasv_enable=YES #启动PASV模式,
pasv_min_port=30000 #指定端口范围
pasv_max_port=30999 #指定端口范围  这里的端口范围不能设置太大,否则会出现连接慢的问题。目前测试999为最大范围


guest_enable=YES #采用虚拟用户认证方式
guest_username=ftp #虚拟用户对应的本地用户名
user_config_dir=/etc/vsftpd/vuser_conf #虚拟用户的配置文件目录


reverse_lookup_enable=NO #不允许dns反向查询


#listen_port=21 #这里可以修改默认的端口,修改完这里,记得把iptable里面的端口信息也要做修改


4.创建虚拟用户信息
vi vuser_passwd.txt
在文件里面添加用户信息,奇数行为用户名,偶数行为密码,如:
abc #虚拟用户名
abc123 #密码
:wq #保存退出


#执行转换 #注意,生成的验证db文件的文件后缀必须是*.db
db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db


5.修改认证文件
vi /etc/pam.d/vsftpd


先把原来所有的有效记录注释掉
#%PAM-1.0
#session    optional     pam_keyinit.so    force revoke
#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth       required    pam_shells.so
#auth       include     password-auth
#account    include     password-auth
#session    required     pam_loginuid.so
#session    include     password-auth


然后添加以下两条:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd


6.创建ftp根目录
mkdir -p /home/ftp #新建目录
chown ftp:ftp /home/ftp #修改目录所有者


7.创建虚拟用户配置文件
touch chroot_list
mkdir vuser_conf
cd /etc/vsftpd/vuser_conf #转到虚拟用户配置目录
vi abc #创建跟虚拟用户同名的文件
在文件中添加以下信息:
local_root=/data/ftp  #指定虚拟用户能访问的根目录
allow_writeable_chroot=YES #是否允许访问


#virtual_use_local_privs=YES #与绑定的用户具有同等权限
#chmod_enable=YES #允许覆盖原有文件


8.配置防火墙iptables
vi /etc/sysconfig/iptables
配置如下信息
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT #新增
-A INPUT -p tcp -m state --state NEW -m tcp --dport 30000:30999 -j ACCEPT #新增
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT


service iptables restart #重启iptables


9.重启vsftpd
service vsftpd restart
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值