linux下搭建ftp服务器(虚拟用户)

一.安装服务

yum -y install vsftpd

关闭selinux

setenforce  0 

二.修改配置文件

vim /etc/vsftpd/vsftpd.conf

chroot_local_user=YES
chroot_list_enable=NO
allow_writeable_chroot=YES   这三条配置是让用户只能在他的家目录下面操作,不能切换到系统的其他目录,并赋予其在家目录下的可写权限。

chroot_list_file=/etc/vsftpd/chroot_list  指定上述关于目录切换权限配置的用户名单文件在哪里。

在/etc/vsftpd/chroot_list文件中添加backup用户

userlist_enable=YES     #在名单里面的用户可以登陆FTTP
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list

这里指定一份用户命令及其位置,并指定在该名单里面的用户,是可以登陆到FTP的。

在/etc/vsftpd/user_list添加backup用户

pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000

启用被动模式,并指定被动模式所选用的端口范围。

三.创建用户(ftp用户其实就是系统用户)

useradd  backup  -s  /sbin/nologin  (不让ftp用户登录系统)

passwd  backup

mkdir  /backup/

usermod -d /backup/  backup (另外指定ftp用户的家目录)

四.开放防火墙端口

firewall-cmd  --add-port=21/tcp  --permanent

firewall-cmd  --add-port=6000-7000/tcp  --permanent

firewall-cmd  --reload

---------------------------------------------------------------------------------------------------------------如果想要创建虚拟用户---------------------------------------------------------------------------------------------------------------

一.安装vsftpd

yum -y installl vsftpd

关闭selinux

setenforce 0

二.修改配置文件

创建虚拟用户文件

vim /etc/vsftpd/virtual.txt

backup1
tqw961110
backup2
tqw961110

创建认证文件

db_load -T -t hash -f /etc/vsftpd/virtual.txt /etc/vsftpd/virtual.db

修改权限

chmod 600 /etc/vsftpd/virtual.db

创建pam文件

vim /etc/pam.d/vsftpd.vu

修改权限

chmod 777 /etc/pam.d/vsftpd.vu

创建用户

useradd virtual -d /backup/ -s /sbin/nologin

chmod 755 /backup/

修改ftp配置文件

listen_ipv6=YES
guest_enable=YES                                                      #开启虚拟用户
guest_username=virtual                                               #将虚拟用户映射到virtual用户
pam_service_name=vsftpd.vu                                     #指定pam认证文件
user_config_dir=/etc/vsftpd/vsftpd_user_conf             #虚拟用户权限文件的存放目录
userlist_enable=YES
tcp_wrappers=YES

指定被动模式的工作端口

pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000

创建用户权限文件存放的目录

mkdir /etc/vsftpd/vsftpd_user_conf/

cd /etc/vsftpd/vsftpd_user_conf/

创建backup1用户权限文件

vim backup1

anon_world_readable_only=YES             #可以浏览目录下载文件
anon_upload_enable=YES                      #可以上传文件
anon_mkdir_write_enable=YES               #可以创建 删除目录
anon_other_write_enable=YES                #可以更名删除文件
allow_writeable_chroot=YES                   #对自己的主目录有写的权限,(若不加此参数,而virtual用户对其家目录又有写权限,则会出现登录出错,这是ftp的安全机制。)

创建backup2用户权限文件

vim backup2

anon_world_readable_only=YES             #可以浏览目录下载文件
anon_upload_enable=YES                      #可以上传文件
anon_mkdir_write_enable=NO                #可以创建 删除目录
anon_other_write_enable=NO                 #可以更名 删除文件
allow_writeable_chroot=YES                   #对自己的主目录有写的权限,(若不加此参数,而virtual用户对其家目录又有写权限,则会出现登录出错,这是ftp的安全机制。)

重启服务

开发防火墙

firewall-cmd --add-port=20/tcp --permanent

firewall-cmd --add-port=21/tcp --permanent

firewall-cmd --add-port=6000-7000/tcp --permanent

firewall-cmd --reload

三.测试

先用backup1用户登录ftp

创建一个文件

然后切换到backup2用户

尝试删除文件

发现没有反应

则表示成功

原文地址:https://www.cnblogs.com/QicongLiang/p/9927637.html