1 这里讲的是已经安装好了vsftpd服务的前提下
1.1 配置文件/etc/vsftpd/vsftpd.conf
anonymous_enable=NO # 不允许匿名访问,禁用匿名登录
chroot_local_user=YES # 启用限定用户在其主目录下
use_localtime=YES # 使用本地时(自行添加)
chroot_list_enable=YES
local_enable=YES # 允许使用本地帐户进行FTP用户登录验证
allow_writeable_chroot=YES # 如果启用了限定用户在其主目录下需要添加这个配置,解决报错 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
xferlog_enable=YES # 启用上传和下载的日志功能,默认开启。
local_umask=022 # 设置本地用户默认文件掩码022
# FTP上本地的文件权限,默认是077,不过vsftpd安装后的配置文件里默认是022
1.2 虚拟用户高级参数
•当virtual_use_local_privs=YES 时,虚拟用户和本地用户有相同的权限;
•当virtual_use_local_privs=NO 时,虚拟用户和匿名用户有相同的权限,默认是NO。
•当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传、下载、删除、重命名)。
•当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。
•当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限。
•当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限。
•当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限。
•当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权限。
2 配置用户名和密码
2.1 编辑和配置用户名和密码
vim /etc/vsftpd/passwd
2.2 在passwd里面输入用户名密码
test 用户名
test 密码
.... 注 :如果想要继续增加用户和密码则继续输入
2.3 保存退出
:wq
3 生成虚拟用户数据文件
db_load -T -t hash -f /etc/vsftpd/passwd /etc/vsftpd/passwd.db
4 在配置文件/etc/vsftpd/chroot_list里面追加用户 用来管理用户只能访问自己的目录
vim /etc/vsftpd/chroot_list 注这里这个路径需要在/etc/vsftpd/vsftpd.conf里面去配置
4.1在配置文件chroot_list里面追加用户名即可
用户名
4.2 保存退出
:wq
5, 创建用户的虚拟用户配置
touch /etc/vsftpd/vconf/用户名
6 在文件里面追加
local_root=/data/vsftp/目录名 #这里用来指定访问哪个目录
anonymous_enable=no #不允许匿名用户登录
write_enable=YES #全局配置
local_umask=000
anon_world_readable_only=YES #允许匿名用户下载文件
anon_upload_enable=NO # 允许匿名用户上传文件(须将全局的write_enable=YES,默认YES)
anon_mkdir_write_enable=NO #不允许匿名用户创建目录
idle_session_timeout=300 #如果使用者在 300 秒内都没有命令动作,强制脱机
data_connection_timeout=1000 #传输文件不顺利时,timeout设定(默认是300秒
max_clients=0 #如果 vsftpd 是以 stand alone 方式启动的,那么这个设定项目可以设定同一
时间,最多有多少 client 可以同时连上 vsftpd !限制使用 FTP 的用量!
max_per_ip=0 #与上面 max_clients 类似,这里是同一个 IP 同一时间可允许多少联机
local_max_rate=0 #实体用户的传输速度限制,单位为 bytes/second, 0 为不限制。
anon_other_write_enable=YES # 允许匿名用户删除和重命名权限(自行添加)
7 创建虚拟用户访问目录
mkdir /data/vsftpd/目录名
8 建立虚拟用户的仓库目录并更改相应属组
chown virtusers:virtusers /data/vsftpd/目录名
9 赋权限
chmod 777 /data/vsftpd/目录名
10用ftp工具连接登陆默认端口21