前言:这次内容比较多,我通过了悟空编辑器的目录形式进行展示出来,希望能给大家提供帮助,感觉可以的话,就冲吧!
总合脚本解释
----------常用配置项-----------
listen=YES:是否以独立运行的方式监听服务
listen_address=192.168.4.1:设置监听的 IP 地址
listen_port=21:设置监听 FTP 服务的端口号
write_enable=YES:是否启用写入权限(影响整个服务器)
download_enable=YES:是否允许下载文件
userlist_enable=YES:是否启用 user_list 列表文件
userlist_deny=YES:是否禁用 user_list 中的用户
max_clients=0:限制并发客户端连接数,就是最多允许多少用户同时登录
max_per_ip=0:限制同一 IP 地址的并发连接数,就是一个IP最多同时下载几个文件
----------匿名配置项--------------
anonymous_enable=YES:启用匿名访问
anon_umask=022:匿名用户所上传文件的权限掩码
anon_root=/var/ftp:匿名用户的 FTP 根目录
anon_upload_enable=YES:允许上传文件
anon_mkdir_write_enable=YES:允许创建目录
anon_other_write_enable=YES:开放其他写入权
anon_max_rate=0:限制最大传输速率(字节/秒)
----------本地配置项---------------
local_enable=YES:是否启用本地系统用户
local_umask=022:本地用户所上传文件的权限掩码
local_root=/var/ftp:设置本地用户的 FTP 根目录
chroot_local_user=YES:是否将用户禁锢在主目录
local_max_rate=0:限制最大传输速率(字节/秒)
--------被动模式配置项--------
速率
pasv_enable=YES
pasv_min_port=24500
pasv_max_port=24600
--------虚拟用户配置项-----------
cd /etc/vsftpd
vi vusers.txt
奇数行用户名
偶数行密码
db_load -T -t hash -f vusers.txt vusers.db
chmod 600 vusers.*
useradd -d /srv/ -s /sbin/nologin vuser
vi /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth
required pam_userdb.so
db=/etc/vsftpd/vusers
account
required pam_userdb.so
db=/etc/vsftpd/vusers
vi vsftpd.conf
#pam_service_name=vsftpd
……
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.vu
systemctl restart vsftpd
测试……-----默认所有虚拟用户的权限都是匿名用户的权限-----
vi vsftpd.conf
user_config_dir=/etc/vsftpd/vdir //为虚拟账号建立单独的配置文件目录
mkdir vdir
cd vdir
vi test01 //以虚拟用户自己的用户名命名,就是独立配置文件。
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_max_rate=0
local_root=/opt/t01
//设置虚拟用户自己的家目录
mkdir /opt/t01
chown vuser /opt/t01
速率调节
速率
pasv_enable=YES
pasv_min_port=24500
pasv_max_port=24600
pub的位置
查找(对于/的文件或目录,通用不知道文件位置的可以使用这个命令)
find / -name 加文件或 目录名
如:find / -name
在ftp搭建好时这个路径会自动创建
匿名
这个需要给pub权限
vim vsftpd.conf
anon_max_rate=10240 开启匿名写入速度(kb)
anon_other_write_enable=YES 开启匿名其他写入权限
anon_mkdir_write_enable=YES 开启匿名可以创建文件
anon_upload_enable=YES 开启匿名可以上传文件
anonymous_enable=YES 开启匿名访问
anon_umask=022 匿名用户所上传文件的权限掩码(反权限)
anon_root=/var/ftp 匿名用户的 FTP 根目录
upload上传数据,max最大限度,rate速度,other其他,write写,
enable启动,anonymous匿名,
连接ftp--匿名
用户
创建了白名单,如果把用户放进去就等于通行
vim vsftpd.conf
vim vsftpd.conf
chroot_local_user=YES 将用户禁锢在家目录
chroot_list_enable=YES 开启用户白名单
allow_writeable_chroot=YES 允许家目录可以有写权限(当禁锢了就要开启)
chroot_list_file=/etc/vsftpd/chroot_list 用户白名单的位置(谁放进去就可以随便跑了 )
local_enable=YES 开启用户访问
local_root=/ftp/123 用户的 FTP 根目录
local_umask=022 本地用户所上传文件的权限掩码(反权限)
local_max_rate=0 限制最大传输速率(字节/秒)
local本地,list列表,allow允许, writeable可以写入
连接ftp--用户
虚拟用户
cd /etc/vsftpd ##切换到配置文件目录下面
vi vusers.txt ##创建虚拟用户文件
user1 ##奇数行用户名
1qaz!QAZ ##偶数行密码
db_load -T -t hash -f vusers.txt vusers.db ##将vuser.txt转换成数据库文件类型,f指定文件
chmod 600 vusers.* ##安全起见,不让别人看到,设置权限
useradd -d /srv/ -s /sbin/nologin vuser ##创建系统用户,指定家目录,不能登录操作系统
vi /etc/pam.d/vsftpd.vu ##编译pam认证模块
auth
required pam_userdb.so
db=/etc/vsftpd/vusers ##识别转换过得数据库文件
account
required pam_userdb.so
db=/etc/vsftpd/vusers ##连接的密码服务
vimvsftpd.conf ##编辑vsftpd.conf的配置文件
#pam_service_name=vsftpd ##关闭本地用户的登录的pam模板
guest_enable=YES ##开启来宾用户登录
guest_username=vuser ##使用vuser用户名
pam_service_name=vsftpd.vu ##虚拟用户的pam模板
systemctl restart vsftpd.vu ##重启服务
使用fillezilla测试 …
-----默认所有虚拟用户的权限都是匿名用户的权限-----
vimvsftpd.conf ##编辑vsftpd.conf的配置文件
user_config_dir=/etc/vsftpd/vdir ##为虚拟账号建立单独的配置文件目录
mkdir vdir ##在/etc/vsftpd目录下面进行创建vdir目录
cd vdir ##前往vdir目录
vim user1 ##以虚拟用户自己的用户名命名,配置的跟匿名访问的权限一样。
anon_upload_enable=YES ##允许上传文件
anon_mkdir_write_enable=YES ##允许创建文件
anon_other_write_enable=YES ##开启其他写入权限
local_root=/opt/user1 ##设置虚拟用户自己的家目录
mkdir /opt/user1 ##创建虚拟用户的家目录
chown vuser /opt/user1 ##使目录的主人变成user1
连接ftp--虚拟用户
案例实验
实验--
1、搭建VSFTP服务器,实现系统账号可以被锁定,并且将tom用户加入到黑名单。
2、实现虚拟账号功能,要求虚拟账号t01可以在服务器上有上传文件和目录的权限,而t02只有下载权限,且下载速度为100K。要求虚拟用户t03的家目录和上面两个账号不在同一目录。
3、要求虚拟用户t03的家目录和上面两个账号不在同一目录。限制t03用户的下载速度为50K每秒,测试效果。