美文网首页
高效!用虚拟用户搭建FTP工作环境

高效!用虚拟用户搭建FTP工作环境

作者: 运维贼船 | 来源:发表于2022-07-03 16:54 被阅读0次

此前,使用vsftp工具来搭建ftp时,我们使用的用户为Linux的系统用户,而当我们的人员过多时,且都需要用各自的账户登录,那么管理起来将会非常地不方便。使用虚拟用户的方式能很好的解决这个问题,不占用系统用户!

1.配置基础环境

关闭seliux

# 永久关闭selinux
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux
# 临时关闭selinux
setenforce 0

2.安装vsftp

这里需要安装两个模块,分别为vsftpd和db4-utils。

yum -y install vsftpd db4-utils

3.修改配置

养成好习惯,修改配置前备份一下配置,以防止后续修改后无法启动时作为参考依据。

cd /etc/vsftpd/
mv vsftpd.conf vsftpd.src.conf

修改配置如下:

vim vsftpd.conf
listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
chroot_local_user=YES
allow_writeable_chroot=YES
guest_enable=yes
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vsftpd_user_conf
pam_service_name=vsftpd

local_enable=YES
pasv_enable=YES
# 被动模式,占用5090-6000端口
#listen_port=52221
pasv_min_port=5090
pasv_max_port=6000
#pasv_address=49.235.71.50

4.创建虚拟用户账户文件

vim /etc/vsftpd/userfile

在文件中填入用户名和密码,其中单行是用户名,双行是密码,比如我设置了两个用户user1和user2,他们两个的密码都是123456:

user1
123456
user2
123456

5.根据虚拟用户账户文件生成虚拟用户配置文件 vsftpd_login.db

db_load -T -t hash -f /etc/vsftpd/userfile /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db

6.配置虚拟用户登录认证,注释掉全部内容,新增下面的两行,最终效果如下:

vim /etc/pam.d/vsftpd
#%PAM-1.0
auth        sufficient  /lib64/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
account     sufficient  /lib64/security/pam_userdb.so  db=/etc/vsftpd/vsftpd_login
#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

7.限制虚拟用户切换主目录

vim /etc/vsftpd/chroot_list
user1
user2

8.创建配置文件目录

mkdir /etc/vsftpd/vsftpd_user_conf

10.创建vsftpd用户(与vsftpd.conf 文件中的:guest_username=vsftpd 一致)

useradd -d /home/vsftpd -s /sbin/nologin vsftpd

10.按用户名为每个用户写配置内容

仅下载权限

mkdir -p /home/vsftpd/user1
chown -R vsftpd:vsftpd /home/vsftpd
# 注意这里创建的文件名要和你的用户一致·1
vim /etc/vsftpd/vsftpd_user_conf/user1
anon_world_readable_only=NO    
local_root=/home/vsftpd/user1

上传、下载权限,不能删除、不能重命名

anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
local_root=/home/vsftpd/user1

全部权限:可上传、下载、删除和改名

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/vsftpd/user1

11、重启vsftpd服务

systemctl restart vsftpd
systemctl enable vsftpd

12.允许vsftp防火墙通过

firewall-cmd --add-service=ftp --permanent
firewall-cmd --add-port=5090-6000/tcp --permanent
firewall-cmd --reload

相关文章

  • 高效!用虚拟用户搭建FTP工作环境

    此前,使用vsftp工具来搭建ftp时,我们使用的用户为Linux的系统用户,而当我们的人员过多时,且都需要用各自...

  • 第十二周

    1、搭建vsftpd,并实现虚拟用户 我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。 匿名登录:...

  • vsftpd、iptables

    1、搭建vsftpd,并实现虚拟用户 VSFTP介绍 VSFTP(Very Secure FTP)是一种在Unix...

  • 作品目录链接

    一、Mysql目录二、Redis三、MongoDB四、Oracle目录五、FTP共享服务器搭建(虚拟用户)

  • ftp创建虚拟用户配置权限

    (1) 安装vsftp (2) 搭建基于虚拟用户的ftp服务。首先建立文本格式的用户名密码 奇数行是用户名,偶数是...

  • 网络文件共享服务

    实现基于DB文件的虚拟用户FTP服务 实现基于MySQL的虚拟用户FTP服务 实现基于NFS共享服务的http实时...

  • vsftpd搭建FTP,并设置虚拟用户

    需求:系统ubuntu14.04,建立虚拟用户,便于管理 安装vsftpd 1.创建vsftpd服务的宿主用户和虚...

  • CentOS搭建虚拟用户的FTP服务

    安装vsftpd 修改配置 添加虚拟用户 设置FTP根目录权限 开启FTP服务 参考:vsftpd安装以及配置FT...

  • CentOS7搭建FTP(虚拟用户)

    采用的是虚拟用户和firewall防火墙 结果大致如下: 然后新建一个ftp的宿主用户(即存在Linux系统的用户...

  • centos7搭建ftp(虚拟用户)

    安装前的准备 关闭防火墙或者开端口权限。一般是firewalld或者iptables。 关闭sellinux立即关...

网友评论

      本文标题:高效!用虚拟用户搭建FTP工作环境

      本文链接:https://www.haomeiwen.com/subject/vbtrbrtx.html