linux vsftp创建虚拟用户

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
运维安全中心(堡垒机),企业双擎版|50资产|一周时长
简介:

前言:

  FTP有三种登录方式:匿名登录、本地系统用户登录和虚拟用户登录。

  虚拟用户是ftp服务器的专用用户,它的特点是只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源。所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性。在VSFTP中,认证这些虚拟用户使用的是单独的口令库文件(pam_userdb),由可插入认证模块(PAM)认证。使用这种方式更加安全,并且配置更加灵活。

1
2
3
4
5
yum  install  -y vsftpd
vi  /etc/vsftpd/vsftpd .conf  #开启用户登录认证
anonymous_enable=NO
local_root= /data
chroot_local_user=YES

1.生成虚拟用户口令库文件(为了建立此口令库文件,先要生成一个文本文件。)

1
2
3
4
5
vi  /etc/vsftp/user_list .txt
user1
pass
user2
pass

2.生成用户数据库

1
2
db_load -T -t  hash  -f  /etc/vsftpd/user_list .txt  /etc/vsftpd/user_list .db
chmod  600  /etc/vsftpd/user_list .db

3.创建虚拟用户PAM文件

1
2
3
vi  /etc/pam .d /vsftpd .vu
auth required  /lib64/security/pam_userdb .so db= /etc/vsftpd/user_list
account required  /lib64/security/pam_userdb .so db= /etc/vsftpd/user_list

4.建立本地用户来映射虚拟用户

1
2
useradd  -s  /sbin/nologin  vftp
chmod  700  /home/vftp

5.启动虚拟用户并映射到本地用户

1
2
3
4
vi  /etc/vsftpd/vsftpd .conf
guest_enable=YES
guest_username=vftp
pam_service_name=vftpd.vu

6.默认虚拟用户都在vsftp家目录,需要设置指定的目录,添加虚拟用户配置文件位置

添加用户配置目录:

1
2
3
vi  /etc/vsftpd/vsftpd .conf
user_config_dir= /etc/vsftpd/vsftpd_user_conf
mkdir  /etc/vsftpd/vsftpd_user_conf

添加用户配置文件:

1
2
3
4
5
6
7
vi  /etc/vsftpd/vsftpd_user_conf/user1
local_root= /ftp/share
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_world_readable_only=NO    #开放用户浏览、下载权限
anon_other_write_enable=YES    #重命名权限、续传,不建议开

设置权限:

1
2
chown  vftp:root -R  /ftp/share
service vsftpd restart



本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1294765,如需转载请自行联系原作者
相关文章
|
Ubuntu Linux 网络安全
Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录
本文介绍了Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录。
2887 1
Linux Debian11服务器安装SSH,创建新用户并允许远程SSH远程登录,并禁止root用户远程SSH登录
|
Linux 数据安全/隐私保护
Linux Debian11创建新用户和删除用户
Linux Debian11创建新用户和删除用户
4456 0
Linux Debian11创建新用户和删除用户
|
Linux 网络安全 数据安全/隐私保护
linux 手动创建密钥实现免密登录
linux 手动创建密钥实现免密登录
linux 手动创建密钥实现免密登录
|
Linux C语言 C++
Linux VScode创建第一个C++程序 配置环境(图文教程)
Linux VScode创建第一个C++程序 配置环境(图文教程)
Linux VScode创建第一个C++程序 配置环境(图文教程)
|
Shell Linux API
关于Linux中如何使用 systemd-run创建临时Cgroup来限制ad-hoc的资源消耗
分享一些临时命令资源限制的笔记 博文内容涉及: systemd-run 限制 ad-hoc 资源消耗基本原理 前后台 ad-hoc 资源限制 demo 理解不足小伙伴帮忙指正
298 0
|
Linux Windows
Linux Command parted 创建分区
Linux Command parted 创建分区
Linux Command parted 创建分区
|
Unix Linux 开发工具
【看表情包学Linux】了解操作系统 | 目录内容的显示 | 目录跳转 | 基本创建与删除操作(二)
本章将浅谈一下 "操作系统是什么" 的问题,随后通过讲解一些 Linux 下的基本指令,显示目录内容、跳转操作和文件的创建与删除。在讲解的同时我会穿插一些知识点,比如 Linux 隐藏文件、路径等基础知识。
175 0
【看表情包学Linux】了解操作系统 | 目录内容的显示 | 目录跳转 | 基本创建与删除操作(二)
|
人工智能 Linux C++
【看表情包学Linux】了解操作系统 | 目录内容的显示 | 目录跳转 | 基本创建与删除操作(一)
本章将浅谈一下 "操作系统是什么" 的问题,随后通过讲解一些 Linux 下的基本指令,显示目录内容、跳转操作和文件的创建与删除。在讲解的同时我会穿插一些知识点,比如 Linux 隐藏文件、路径等基础知识。
252 0
【看表情包学Linux】了解操作系统 | 目录内容的显示 | 目录跳转 | 基本创建与删除操作(一)
|
Linux
Linux:ln创建删除软连接
Linux:ln创建删除软连接
154 0
|
算法 安全 Ubuntu
Linux Command htpasswd 创建密码文件
Linux Command htpasswd 创建密码文件