linux vsftpd 配置安装 (虚拟用户)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux vsftpd 配置安装 (虚拟用户)相关的知识,希望对你有一定的参考价值。
linux vsftp创建虚拟用户FTP有三种登录方式:匿名登录、本地系统用户登录和虚拟用户登录。
虚拟用户是ftp服务器的专用用户,它的特点是只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源。所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性。在VSFTP中,认证这些虚拟用户使用的是单独的口令库文件(pam_userdb),由可插入认证模块(PAM)认证。使用这种方式更加安全,并且配置更加灵活。
vsftp 配置安装
—、关闭防火墙
> systenmctl stop firewalld
> setenforce 0
或者永久性关闭防火墙
> #vim /etc/selinux/config
> SELINUX=disable
二、安装vsftpd服务
1、使用yum安装vsftpd
> #yum -y install vsftpd*
2、备份vstpd主配置文件
#
cp /etc/vdftpd/vdftpd/vsftpd.conf,.bak
三、配置虚拟用户访问的vsftpd服务
1、创建虚拟用户密码文件,奇数行为用户名,偶数行为密码
#
vim /etc/vsftpd/vir_user
user1
1234567a
user2s
1234567b
2、生成虚拟用户数据库
#
yum -y install libdb-utils
#db_load -T -t hash -f /etc/vdftpd/vir_user /etc/vdftpd/vir_user.db
#chomd 700 /etc/vdftpd/vir_udrt.db
3.配置vsftpd pam 验证文件
修改先前备份文件
#cp /etc/pam.d/vsftpd,.balk
将auth机account的所有配置行均注释掉,添加一下两行
#vim /etc/pam.d/vsrtpd
1 auth required pam_userdb.so db=/etc/vsftpd/vir_user
2 account required pam_userdb.so db=/etc/vsftpd/vir_user
4.添加一个系统用户‘virftp’,所有虚拟用户都会映射到此用户后对文件系统进行读写操作
#mkdir /ftproot
#useradd -d /ftproot -s /sbin/nologin virtp
#chown -R virtp:virftp /ftproot
5.设置vsftpd主配置文件
#vim /etc/vsftpd/vsftpd.conf
#禁止匿名用户登录
anonymous_enable=NO
#允许本地用户登录
local_enable=YES
#启用虚拟账户
guest_enable=YES
#把虚拟账户映射到系统账户virftp
guest_username=virftp
#使用虚拟用户验证(PAM验证)
pam_service_name=vsftpd
#设置存放各虚拟用户配置文件的目录(此目录下与虚拟用户名相同的文件为他的配置文件)
user_config_dir=/etc/vsftpd/vsftpd_viruser
#启用chroot时,虚拟用户根目录允许写入
allow_writeable_chroot=YES
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
vsftp配置文件啊翻译
anonymous_enable=YES 是否允许匿名登陆
local_enable=YES 允许本地登陆
write_enable=YES 启用任何形式的ftp 写入命令
local_umask=022 FTP上本本地的文件权限,默认是077,不过vsftp安装后的配置文件里默认是022
anon_upload_enable=YES 允许匿名ftp 用户上传文件
anon_mkdir_write_enable=YES 允许匿名用户 创建新的目录
dirmessage_enable=YES 激活目录消息,向远程用户发送消息,进入某个目录
xferlog_enable=YES 激活上传/下载 日志记录
connect_from_port_20=YES 确保RORT传输连接来自端口 20
chown_uploads=YES
chown_username=whoever
设置 匿名用户上传文件的默认用户,不推荐使用root
xferlog_file=/var/log/xferlog 日志文件路径
xferlog_std_format=YES 日志文件使用标准ftpd xferlog格式的日志文件 ,默认位置 /var/log/xferlog
idle_session_timeout=600 更改超时空闲会话的默认值
data_connection_timeout=120 超时数据连接的默认值
nopriv_user=ftpsecure 创建ftp服务器 独立的用户
async_abor_enable=YES 启用 异步 ABOR 请求
ascii_upload_enable=YES 允许ASCII模式上传文件
ascii_download_enable=YES 允许ASCII模式下载文件
ftpd_banner=Welcome to blah FTP service. 自定义登陆标题字符串
deny_email_enable=YES 指定不允许匿名登陆电子邮件
banned_email_file=/etc/vsftpd/banned_emails 默认路径
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
指定 chroot 参数
CHROOT就是Change Root,也就是改变程序执行时所参考的根目录位置。CHROOT可以增进系统的安全性,限制
使用者能做的事
ls_recurse_enable=YES 启用 ls –R 选项
listen=NO 启用 listen 指令,vsftp 以独立模式运行侦听ipv4 套接字,该指令不能同时使用 with
listen_inv6 指令
listen_ipv6=YES 监听ipv6
pam_service_name=vsftpd 虚拟用户使用PAM认证方式
userlist_enable=YES 只允许userlist 文件中的账户登陆
tcp_wrappers=YES 是否允许tcp_wrappers 管理
anon_other_write_enable=YES 允许匿名用户改名和删除文件
anon_world_readable_only=YES 匿名用户可以读文件 反之就是不能读
pasv_min_port=30000
pasv_max_port=35000 PASV模式下指定端口范围
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
6.配置虚拟用户各自的配置文件,文件名称是‘虚拟用户名’
#vim /etc/vsftpd/vsftpd_viruser/user1
#允许写入
write_enable=YES
#允许浏览FTP目录和下载
anon_world_readable_only=NO
#允许虚拟用户上传文件
anon_upload_enable=YES
#允许虚拟用户创建目录
anon_mkdir_write_enable=YES
#允许虚拟用户执行其他操作(如改名、删除)
anon_other_write_enable=YES
#上传文件的掩码,如022时,上传目录权限为755,文件权限为644
anon_umask=022
#指定虚拟用户的虚拟目录(虚拟用户登录后的主目录)
local_root=/ftproot/admin/
7.创建虚拟用户的根目录,要保证虚拟用户映射的系统用户,对这个根目录有读写权限
#mkdir -p /ftproot/admin/
#chown -R virftp.virftp /ftproot/admin/
四、测试配置结果
1.重启vsftpd服务
#systemctl restart vsftpd
#systemctl enable vsfpd
2.关闭防火墙
#systemctl stop firewalld
3.利用FileZilla工具连接测试
主机IP:192.168.124.44 用户名:user1 密码:1234567a
连接成功!
以上是关于linux vsftpd 配置安装 (虚拟用户)的主要内容,如果未能解决你的问题,请参考以下文章