UOS服务器(免费版)或Linux搭建vsftpd实现虚拟用户访问控制
- 场景实例:
- 创建admin虚拟用户,允许上传下载删除重命名任何文件
- user1虚拟用户,允许上传下载不允许删除和重命名文件
- 匿名用户可以看到pub空间,但不能上传下载删除任何文件
5.指定存储目录为/home/ftproot
6.指定日志目录为/home/vsftplog/下,vsftpd.log每天更新,以日期命名,存放三年的日志,xferlog日志存放一年,也是每日更新生成新文件以日期命名,超过存储日期后回滚删除最开始的日志。
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost vsftpd]
SELINUX=disabled
SELINUXTYPE=targeted
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost ~]
[root@localhost logrotate.d]
/home/vsftplog/vsftpd_log/vsftpd.log {
nocompress
missingok
create 0640 vftp vftp
daily
dateext
rotate 1095
}
/home/vsftplog/xferlog/xferlog {
nocompress
missingok
create 0640 vftp vftp
daily
dateext
rotate 365
}
[root@localhost ~]
[root@localhost vsftpd]
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@localhost vsftpd]
[root@localhost vsftpd]
admin
Qwer123.
user1
swdx123.
[root@localhost vsftpd]
[root@localhost vsftpd]
[root@localhost vsftpd]
[root@localhost var]
[root@localhost var]
[root@localhost var]
[root@localhost var]
[root@localhost vsftpd]
auth required pam_userdb.so db=/etc/vsftpd/vu
account required pam_userdb.so db=/etc/vsftpd/vu
[root@localhost var]
[root@localhost vsftpd]
注意以下参数和我一样就行
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
banner_file=/etc/vsftpd/banner
dual_log_enable=YES
vsftpd_log_file=/home/vsftplog/vsftpd_log/vsftpd.log
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/home/vsftplog/xferlog/xferlog
connect_from_port_20=YES
chroot_local_user=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
guest_enable=YES
guest_username=vftp
user_config_dir=/etc/vsftpd/vusers_dir
dirlist_enable=YES
pasv_enable=YES
allow_writeable_chroot=YES
pasv_min_port=40000
pasv_max_port=50000
allow_writeable_chroot=YES
pasv_min_port=40000
pasv_max_port=50000
reverse_lookup_enable=NO
[root@localhost vsftpd]
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh vu.db vu.list
[root@localhost vsftpd]
[root@localhost vsftpd]
[root@localhost vusers_dir]
[root@localhost vusers_dir]
[root@localhost vusers_dir]
[root@localhost vusers_dir]
local_root=/home/ftproot/
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
[root@localhost vusers_dir]
[root@localhost vusers_dir]
local_root=/home/ftproot/
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
[root@localhost vsftpd]
[root@localhost vsftpd]
[root@localhost home]
ftproot
如果您在生产环境中想使用USB上传文件到ftproot存储目录您可以参考我以下的bash文件改权限和属主
[root@localhost home]
[root@localhost home]
ftproot USB上传.sh user vsftplog
[root@localhost home]
chmod -R 755 /home/ftproot/*
chown -R vftp:vftp /home/ftproot/*
然后[root@localhost home]
[root@localhost home]
即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)