搭建vsftpd服务器及简单配置

来源:互联网 发布:wow插件mac版 编辑:程序博客网 时间:2024/06/07 04:05

搭建ftp服务器

说明:
操作系统:Red Hat 7.0
vsftpd版本:3.0.2
目标:
通过配置ftp服务器,向外提供文件传输服务

安装vsftpd服务器

# yum install vsftpd -y  

安装vsftpd

备份配置文件

# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.confbak# grep -v "#" /etc/vsftpd/vsftpd.confbak > /etc/vsftpd/vsftpd.conf

查看默认配置文件

# cat /etc/vsftpd/vsftpd.conf

anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

使用默认配置启动vsftpd

# systemctl start vsftpd# systemctl status vsftpd

vsftpd状态

添加系统服务

# systemctl enable vsftpdln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'

防火墙设置(防火墙配置请参考配置iptables或firewalld配置)

# systemctl stop firewalld.service # systemctl stop  iptables.service# 关闭selinux

匿名登陆

ftp匿名访问模式是不安全的服务模式,正式环境不允许匿名登陆

匿名登陆

配置ftp

配置本地用户模式

# cat /etc/vsftpd/vsftpd.conf

anonymous_enable=NO #禁止匿名访问
local_enable=YES #允许本地用户模式
write_enable=YES #允许写入
local_umask=022 #本地用户文件umask值
userlist_deny=YES #禁止list中的用户值为NO则为仅允许名单
userlist_enable=YES #允许”禁止登陆名单”,名单文件为ftpuser与user_list
dirmessage_enable=YES #是否激活目录欢迎信息功能
xferlog_enable=YES #记录服务器上传和下载情况的日志文件
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
tcp_wrappers=YES

重启服务:

# systemctl restart vsftpd.service

查看禁止登陆用户:
禁止登陆用户

添加普通用户:

# useradd moxiaokai# passwd moxiaokai    Changing password for user moxiaokai.    New password:     BAD PASSWORD: The password is a palindrome    Retype new password:     passwd: all authentication tokens updated successfully.

在客户端尝试登陆ftp:
普通用户登陆

配置虚拟用户模式

添加虚拟用户:

单行为账号,双行为密码

# cd /etc/vsftpd/# vi vuser.list    moxiaokai    pa33word    cy    pa22word

生成数据库文件:

生成库文件:

# db_load -T -t hash -f vuser.list vuser.db# file vuser.db     vuser.db: Berkeley DB (Hash, version 9, native byte-order)

授权:

# chmod 600 vuser.db 

删除原始文件:

# rm -f vuser.list

创建ftp根目录及虚拟用户映射系统用户

# useradd -d /var/ftproot/ -s /sbin/nologin vmxk# chmod -Rf 755 /var/ftproot/

建立PAM文件

# vim /etc/pam.d/vsftpd.vu    auth       required     pam_userdb.so db=/etc/vsftpd/vuser    account    required     pam_userdb.so db=/etc/vsftpd/vuser

配置vsftp

# vim /etc/vsftpd/vsftpd.conf    anonymous_enable=NO    local_enable=YES    guest_enable=YES    guest_username=vmxk    write_enable=YES    local_umask=022    dirmessage_enable=YES    xferlog_enable=YES    connect_from_port_20=YES    xferlog_std_format=YES    listen=NO    listen_ipv6=YES    pam_service_name=vsftpd.vu    userlist_enable=YES    tcp_wrappers=YES    allow_writeable_chroot=YES    user_config_dir=/etc/vsftpd/vusers_dir

创建目录&文件:

# mkdir /etc/vsftpd/vusers_dir# cd /etc/vsftpd/vusers_dir# touch moxiaokai# vim moxiaokai    anon_upload_enable=YES    anon_mkdir_write_enable=YES    anon_other_write_enable=YES

重启vsftpd服务:

# systemctl restart vsftpd.service

使用虚拟用户登录:

虚拟用户登录


更新日期:2017年11月29日

实际上按照如下操作百分百能够使用:

centos7.4,vsftpd 3.0.2:
1.创建一个目录
mkdir /data/ftp
2.创建一个FTP用户
useradd -d /data/ftp -s /sbin/nologin ftpuser
passwd ftpuser
3.更改目录所有者及目录权限
chown -R ftpuser:ftpuser /data/ftp
chmod -R 755 /data/ftp
4.修改vsftpd的配置文件
vim /etc/vsftpd/vsftpd.conf
YES 改成 NO
anonymous_enable=NO
去掉前面的#
chroot_local_user=YES
添加一行
allow_writeable_chroot=YES

原创粉丝点击