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

centOS 7.1.1503 搭建vsftpd环境-使用虚拟用户登录

2015-08-07 10:50 786 查看
简要:centOS搭建vsftpd环境,使用虚拟用户登录,在服务器上传下载文件。

一,vsftpd配置

1,安装vsftpd(sudo yum install vsftpd),查看(rpm -qa |grep vsftpd)。

$ rpm -qa |grep vsftpd
vsftpd-3.0.2-9.el7.x86_64


2,修改配置文件(vi /etc/vsftpd/vsftpd_conf),anonymous_enable=NO/local_enable=YES(使用账号登录,不允许匿名登录),

ascii_*=YES(支持ascii),

chroot_*=YES(chroot到用户目录),chroot_list_file=/etc/vsftpd/chroot_list(chroot目录列表),

使用pam插入认证(pam_service_name=vsftpd),

guest_enable启用虚拟用户,

user_config_dir=/etc/vsftpd/vuser_conf虚拟用户列表,

映射虚拟用户为本地用户ftp,

pasv_*使用被动模式。

查看配置。

$ sudo grep '^[^#]' /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
connect_from_port_20=YES
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vsftpd
userlist_enable=YES
pasv_enable=yes
pasv_min_port=6000
pasv_max_port=7000
guest_enable=YES
guest_username=ftp  #虚拟化用户登录
user_config_dir=/etc/vsftpd/vuser_conf


3创建chroot_list_file,使用本地用户ftp。

$ cat /etc/vsftpd/chroot_list
ftp


4创建虚拟用户,奇数行账号,偶数行密码。

$ cat /etc/vsftpd/vuser_pwd.txt
ftp1
ftp1
ftp2
ftp2
public
public


5创建虚拟用户pam认证。

$ sudo db_load -T -t hash -f /etc/vsftpd/vuser_pwd.txt /etc/vsftpd/vuser_pwd.db


6配置pam认证(/etc/pam.d/vsftpd)。

$ sudo grep '^[^#]' /etc/pam.d/vsftpd
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_pwd            #LONG_BIT=64
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_pwd         #LONG_BIT=64


7创建虚拟用户配置文件(/etc/vsftpd/vuser_conf/ftp1),用户名即为配置文件,local_root用户自定义(mkdir /var/ftp/ftp1)。

$ cat /etc/vsftpd/vuser_conf/ftp1
local_root=/var/ftp/ftp1
write_enable=YES
anon_world_readable_only=NO
anon_mkdir_write_enable=YES
$ sudo mkdir /var/ftp/ftp1/upload
$ sudo chmod -R 555 /var/ftp/ftp1
$ sudo chmod -R 777 /var/ftp/ftp1/upload


8设置selinux权限。

$ setsebool -P allow_ftpd_full_access=1


二,防火墙配置

1,防火墙放行端口。

$ sudo firewall-cmd --permanent --zone=public --add-port=21/tcp
$ sudo firewall-cmd --permanent --zone=public --add-port=20/tcp
$ sudo firewall-cmd --permanent --zone=public --add-port=6000-7000/tcp


2,重新获取配置

$ sudo firewall-cmd --reload
$ sudo systemctl restart vsftpd #重启ftp服务
$ sudo systemctl enable vsftpd #开机启动ftp服务


BTW:1注意chroot目录权限。2防火墙端口放行。3启用ftp被动模式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos vsftpd