linux的ftp服务之本地访问浏览与虚拟账户

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux的ftp服务之本地访问浏览与虚拟账户相关的知识,希望对你有一定的参考价值。

限制本地用户浏览根目录
/etc/vsftpd/vsftpd.conf
技术图片

功能:所有用户被锁定到自己的加目录中(修改之前不仅可以在自己家目录,还可以看其他)
编辑限制浏览根目录用户
vim /etc/vsftpd/chroot_list
技术图片技术图片
添加白名单设置
chroot_local_user=YES ---> 此参数要求去掉自己对加目录的写权限
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list ---> 名单文件路径
技术图片
技术图片
在/etc/vsftpd/chroot_list文件中列出的用户,可以切换到其他目录

技术图片
注 ---> 未在文件中列出的用户,不能切换到其他目录
添加黑名单设置
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list ---> 名单文件路径
技术图片

技术图片
在/etc/vsftpd/chroot_list文件中列出的用户,不能切换到其他目录
技术图片
注 ---> 未在文件中列出的用户,可以切换到其他目录
.


限制本地用户登录
功能:限制本地用户登录
注 ---> 限制本地用户设置
vim /etc/vsftpd/ftpusers 只默认黑名单设置 ---> 永久用户黑名单
vim /etc/vsftpd/user_list 白黑名单均可设置 ---> 用户临时黑名单
用户黑名单建立

userlist_enable=YES
技术图片

黑名单设置vim /etc/vsftpd/user_list ---> 用户临时黑名单
技术图片技术图片
只默认黑名单 vim /etc/vsftpd/ftpusers ---> 永久用户黑名单
技术图片技术图片
技术图片
技术图片
其他用户可登录
技术图片

用户白名单建立

userlist_enable=YES
userlist_deny=NO ---> 白名单功能建立
技术图片

用户白名单设定

vim /etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登录ftp
技术图片技术图片
技术图片
只有白名单tom可以登录
技术图片
其他用户都不能登录
技术图片
.


ftp虚拟用户的设定
(创建虚拟帐号身份)
vim /etc/vsftpd/testfile ---> 文件名称任意
技术图片
user1
111
user2
222
user3
333
技术图片

db_load -T -t hash -f /etc/vsftpd/testfile /etc/vsftpd/testfile .db
技术图片
注 ---> 上面的密码是明文的,不安全,要进行加密,T表示transfer,t表示转换方式为hash
查看文件类型
技术图片

ps aux | grep pam
技术图片
注 ---> 系统里有pam这个进程的
cd /etc/pam.d ---> 查看vsftpd.conf,认证的时候是使用pam认证
技术图片
注 ---> cd /etc/pam.d,目录里有个vsftpd文件
---> 认证的时候就是在这个文件里做用户名和密码的比对
vim test
技术图片
account required pam_userdb.so db=/etc/vsftpd/testfile
auth required pam_userdb.so db=/etc/vsftpd/testfile
技术图片
注 ---> account表示帐号名称,auth表示密码,先后顺序不分
---> required是通过了用户名认证才能进入下一步认证,然后使用pam_userdb.so这个插件来验证
---> db=/etc/vsftpd/testfile 文件后不要写.db,系统会自动加

创建虚拟帐号身份
vim /etc/vsftpd/vsftpd.conf
虚拟帐号认证参考test认证文件
pam_service_name=test
开启虚拟账户功能
guest_enable=YES
技术图片
虚拟帐号没有身份指定时,登录共享目录
技术图片
虚拟帐号身份指定
设置家
guest_username=tom
技术图片
注 ---> 默认使用虚拟用户时,登录后在pub目录,要想改变,修改此参数,修改后登录到tom家目录
chmod u-w /home/ftpuser
技术图片技术图片技术图片
虚拟帐号家目录独立设定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftphome/$USER

user_sub_token=$USER
vim /etc/vsftpd/vsftpd.conf
注 ---> $USER是shell里的用法,要让配置文件里支持,必须加这个参数
技术图片
创建user1,2的家目录
mkdir /ftphome/user1/pub1 -p
mkdir /ftphome/user2/pub2 -p

改目录权限为775,组为ftp
chgrp ftp /ftphome /user1/pub1
技术图片
chgrp ftp /ftphome /user2/pub2
技术图片

chmod 775 /ftphome/user1/pub1

技术图片
chmod 775 /ftphome/user2/pub2
技术图片
虚拟帐号配置独立
创建配置文件
mkdir -p /etc/vsftpd/userconf
技术图片
配置文件user1设置
vim /etc/vsftpd/userconf/user1
技术图片
注 ---> 在此文件中设定配置文件中的所有参数,此文件的优先级高
anon_upload_enable=YES
技术图片
user1可以上传
技术图片
user2不行
技术图片

以上是关于linux的ftp服务之本地访问浏览与虚拟账户的主要内容,如果未能解决你的问题,请参考以下文章

Linux中的ftp文件传输服务

linux[基础]-30-[vsftpd]-[虚拟用户访问]-[04]

FTP服务最安全认证模式---虚拟账户访问

FTP服务之本地用户访问

FTP服务配置实例

Linux虚拟机上搭建ftp服务器