笔者重新整理了文章的结构和内容,看这篇会舒服很多Linux笔记之配置vsftpd服务的虚拟用户登录 配置虚拟用户,使用独立的用户帐号进行登录vsftp 1.环境准备 安装vsftpd及相关组件 rpm -qa | grep vsftpd
配置虚拟用户,使用独立的用户帐号进行登录vsftp
1.环境准备
安装vsftpd及相关组件
rpm -qa | grep vsftpd # 查看系统是否已安装
yum install vsftpd -y
安装依赖组件libdb,libdb-utils,默认已安装
rpm -qa | grep libdb-utils
安装该组件
yum install libdb libdb-utils -y
关闭防火墙,关闭selinux,守护进程
systemctl disable firewalld && systemctl stop firewalld
setenforce 0
建立虚拟用户口令库文件
格式:
用户名
密码
添加虚拟用户tom,jack
cd /etc/vsftpd/
# cat >>vusers.list<
tom123
jack
jack123
eof
生成vsftpd的认证文件
注意:生成认证文件,以后新加或删除用户以后重新运行本命令
db_load -T -t hash -f /etc/vsftpd/vusers.list /etc/vsftpd/vsftpd_login.db
可以选择生成一个用户脚本文件,用于保存该命令,方便快捷执行
cat >>/etc/vsftpd/adduser.sh<
db_load -T -t hash -f /etc/vsftpd/vusers.list /etc/vsftpd/vsftpd_login.db
EOF
# 修改脚本文件的权限
chmod o+x /etc/vsftpd/adduser.sh
为认证用户文件赋权
# chmod 600 /etc/vsftpd/vsftpd_login.db
建立虚拟用户所需的PAM配置文件
mv /etc/pam.d/vsftpd{,.bak}
cat >/etc/pam.d/vsftpd<
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
EOF
建立虚拟用户要访问的目录并设置权限
#mkdir -p /data/ftp/
#定义vsftpd虚拟用户vuser,宿主目录/data/ftp
#useradd -d /data/ftp -s /sbin/nologin vuser
#修改宿主目录的属主和属组
#chown -R vuser:vuser /data/ftp/
创建用户的个人目录,每一个用户对应一个ftp主目录文件,
mkdir -p /data/ftp/{tom,jack}
为用户目录定义权限
chown -R vuser:vuser /data/ftp/tom /data/ftp/jack
备份,cp /etc/vsftpd/vsftpd.conf{,.bak}
在 vsftpd.conf 添加以下参数配置项:
anonymous_enable=NO
local_enable=YES
listen=YES
listen_ipv6=NO
#standalone模式,独立服务
xferlog_enable=YES
xferlog_file=/var/log/xferlog
xferlog_std_fORMat=YES
#启用日志
guest_enable=YES
#启用虚拟用户
guest_username=vuser
#定义虚拟用户名
allow_writeable_chroot=YES
chroot_local_user=YES
#禁锢在宿主目录则使用
user_config_dir=/etc/vsftpd/vsftpd_user_conf
#定义每个用户的配置文件夹
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
#被动模式
对不同虚拟用户设置不同权限
创建虚拟用户配置文件夹
mkdir /etc/vsftpd/vsftpd_user_conf
建立用户tom单独配置文件,文件名就是用户名,与vusers.list中的用户名相同
cat >/etc/vsftpd/vsftpd_user_conf/tom<
chroot_local_user=YES
write_enable=YES
virtual_use_local_privs=YES
EOF
建立用户jack单独配置文件
cat >/etc/vsftpd/vsftpd_user_conf/jack<
chroot_local_user=YES
write_enable=YES
virtual_use_local_privs=YES
EOF
参数说明:
local_root=/data/ftp/tom
#这里的虚拟用户目录可以修改,/data/ftp/tom目录提前建立,赋权vuser用户可以写入
chroot_local_user=YES
禁锢在宿主目录则使用
write_enable=YES
#可以对虚拟用户用写入
virtual_use_local_privs=YES
#虚拟用户具有写权限(上传、下载、删除、重命名)
如果只具用下载权限,则只保留local_root=/data/ftp/tom
最终效果如下:
#查看用户tom的配置文件
cat /etc/vsftpd/vsftpd_user_conf/tom
local_root=/data/ftp/tom
chroot_local_user=YES
write_enable=YES
virtual_use_local_privs=YES
#查看用户jack的配置文件
cat /etc/vsftpd/vsftpd_user_conf/jack
local_root=/data/ftp/jack
chroot_local_user=YES
write_enable=YES
virtual_use_local_privs=YES
启动服务
systemctl start vsftpd
服务开机自启
systemctl enable vsftpd
可以在window系统使用客户端(比如FileZilla),连接服务器ip,使用账号tom或者jack登录进行操作
其他配置
可以为各用户分别配置,修改/etc/vsftpd/vsftpd_user_conf/jack,添加如下内容即可
max_clients=0
设置vsftpd允许的最大连接数,默认值为0,表示不受限制。若设置为100时,则同时允许有100个连接,超出的将被拒绝。只有在standalone模式运行才有效。
max_per_ip=0
设置每个IP允许与FTP服务器同时建立连接的数目。默认值为0,表示不受限制。只有在standalone模式运行才有效。
local_max_rate设置项 用于设置本地用户的最大传输速率,单位为B/s,值为0时表示不限制。
例如local_max_rate=500000表示FTP服务器的本地用户最大传输速率设置为500KB/s.
最终完整配置vsftpd.conf如下所示
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=vuser
allow_writeable_chroot=YES
chroot_local_user=YES
user_config_dir=/etc/vsftpd/vsftpd_user_conf
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30999
来源地址:https://blog.csdn.net/owenxiaobai/article/details/128150612
--结束END--
本文标题: vsftpd操作——配置虚拟用户登录的详细步骤
本文链接: https://www.lsjlt.com/news/397115.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-11
2024-05-11
2024-05-10
2024-05-07
2024-04-30
2024-04-30
2024-04-30
2024-04-29
2024-04-29
2024-04-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0