简单介绍
centos7.x系统上边安装vsftpd,并配置虚拟用户
环境
系统 | 版本 |
---|---|
CentOS | 7.6.1810 (Core) |
CPU/内存 | 4核、8G |
vsftp |
vsftp安装
yum -y install vsftpd
备份配置文件
cd /etc/vsftpd/
mv vsftpd.conf vsftpd.conf.bak
vsftpd.conf
# 禁用匿名FTP登录
anonymous_enable=NO
# 允许本地用户通过FTP登录到服务器
local_enable=YES
# 允许用户上传文件到服务器
write_enable=YES
# 设置本地用户上传文件的权限掩码
local_umask=022
# 启用目录信息消息,允许服务器在用户进入目录时显示消息
dirmessage_enable=YES
# 启用传输日志,用于记录FTP传输的详细信息
xferlog_enable=YES
# 控制数据连接的端口,使用端口20进行数据连接
connect_from_port_20=YES
# 指定传输日志的文件路径
xferlog_file=/var/log/vsftpd.log
# 使用标准的传输日志格式记录传输日志
xferlog_std_format=YES
# 允许ASCII模式上传文件
ascii_upload_enable=YES
# 允许ASCII模式下载文件
ascii_download_enable=YES
# 启用chroot列表,可以配置哪些用户被限制在其主目录下
chroot_list_enable=YES
# 启用FTP服务器监听
listen=YES
# 启用虚拟用户登录
guest_enable=YES
# 指定虚拟用户的用户名,通常是一个特殊的FTP用户
guest_username=ftp
# 指定FTP服务器监听的端口号,这里是50021
listen_port=50021
# 指定PAM服务的名称,用于身份验证
pam_service_name=vsftpd
# 启用用户列表功能,允许定义哪些用户可以访问FTP服务器
userlist_enable=YES
# 启用TCP包过滤器,允许使用TCP Wrapper配置限制访问
tcp_wrappers=YES
# 指定用户特定的配置文件目录,可以用于为不同用户定义不同的FTP设置
user_config_dir=/etc/vsftpd/vuser_conf
# 允许虚拟用户使用本地用户的权限
virtual_use_local_privs=YES
# 启用被动模式,允许客户端与服务器建立数据连接
pasv_enable=YES
# 指定被动模式数据连接的最小端口号
pasv_min_port=61001
# 指定被动模式数据连接的最大端口号
pasv_max_port=62000
# 允许在chroot环境中创建可写文件,通常在虚拟用户的情况下使用
allow_writeable_chroot=YES
64位pam认证
cat /etc/pam.d/vsftpd
#%PAM-1.0
#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
auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_ftp
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_ftp
虚拟用户名和密码
cat /etc/vsftpd/vuser_ftp.txt
test
111222
digitlink
111222
gitlink
123456789
生成db文件
- 注意没添加一个虚拟用户,都需要重新生成db文件
cd /etc/vsftpd/
db_load -T -t hash -f vuser_ftp.txt vuser_ftp.db
虚拟用户配置目录
cd /etc/vsftpd/
mkdir vuser_conf
cd vuser_conf
# digitlink是用户,也是文件名字
cat digitlink
#----------------------------------------------------------------
# 指定本地用户的根目录,本地用户将被限制在此目录下
local_root=/data/ftp/digitlink
# 启用chroot列表,允许配置哪些用户被限制在其主目录下
chroot_list_enable=YES
# 允许匿名用户上传文件
anon_upload_enable=YES
# 允许匿名用户创建目录
anon_mkdir_write_enable=YES
# 允许匿名用户进行其他写操作
anon_other_write_enable=YES
# 设置匿名用户上传的文件权限掩码
anon_umask=022
# 不限制匿名用户的文件只能被它们自己读取
anon_world_readable_only=NO
# 允许匿名用户上传文件
anon_upload_enable=YES
# 允许匿名用户创建目录
anon_mkdir_write_enable=YES
# 允许匿名用户进行其他写操作
anon_other_write_enable=YES
# -----------------------------------------------------------------------------
cat gitlink
chroot_list_enable=YES
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
cat chroot_list
digitlink
gitlink
授权
cd /data/ftp/
chmod 777 ./* -R
chown ftp.root ./* -R
启动
*两种启动方式,任选其一文章来源:https://www.toymoban.com/news/detail-737384.html
# 命令启动
/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
# yum安装启动
systemctl start vsftpd.service
# 开机自启
systemctl enable vsftpd.service
连接
ftp 192.168.1.100 50021
总结
以上是centos上边部署vsftpd 虚拟用户的方法,有问题联系博主文章来源地址https://www.toymoban.com/news/detail-737384.html
到了这里,关于vsftpd虚拟用户的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!