FTP(虚拟用户,并且每个虚拟用户可以具有独立的属性配置)

主配置文件:/etc/vsftpd/vsftpd.conf
【匿名用户】
anonymous_enable=yes 是否可以匿名访问
anon_umask=022 设置匿名用户所上传文件的默认权限掩码值
anon_root=/var/ftp 设置匿名用户的FTP根目录(缺省为/var/ftp/)
anon_upload_enable=yes 是否可以匿名用户上传文件
anon_mkdir_write_enable=yes 是否可以匿名用户有创建目录的写入权限
anon_other_write_enable=yes 是否可以匿名用户有其他写入权限。如对问件改名、覆盖、删除文件等
anon_max_rate=0 限制匿名用户的最大传输速率(0为不限制),单位为字节/秒
【本地用户】
local_enable=yes 是否可以本地系统用户访问
local_umask=022 设置本地用户所上传文件的默认权限掩码值
local_root=/var/ftp 设置本地用户的ftp根目录(缺省为用户的宿主目录)
chroot_local_user=yes 是否将ftp本地用户禁锢在宿主目录中
local_max_rate=0 限制本地用户的最大传输速率(0为不限制),单位为字节/秒
【全局配置】
listen=yes 是否以独立运行的方式监听服务
listen_address=0.0.0.0 设置监听ftp服务的IP地址
listen_port=21 设置监听FTP服务的端口号
write_enable=yes 启用任何形式的写入权限(如上传,删除文件等)都需要开启此项
download_enable=yes 是否可以下载文件(建立仅限浏览,上传的ftp服务器时可将其设为“no”)
dirmessage_enable=yes 用户切换进入目录时显示.message文件(如果存在)的类容
xferlog_enable=yes 启用xferlog日志,默认记录到/var/log/xferlog
xferlog_std_format=yes 启用标准的xferlog日志格式,若禁用此项,将使用vsftpd自己的日志格式
connect_from_port_20=yes 同意服务器主动模式(从20端口建立数据连接)
pasv_enable=yes 同意被动模式连接
pasv_max_port=24600 设置用于被动模式的服务器最大端口号
pasv_min_port=24500 设置用于被动模式的服务器最小端口号
pam_service_name=vsftpd 设置用于用户认证PAM文件位置(/etc/pam.d/目录中对应的文件名)
userlist_enable=yes 是否启用user_list用户列表文件 /etc/vsftpd/ptpusers
userlist_deny=yes 是否禁用user_list列表文件中的用户账号 /etc/vsftpd/uer_list
max_clients=0 最多同意多少个客户端同是连接(0为不限制)
max_per_ip=0 对来自同一个ip地址的客户端,最多同意多少个并发连接(0为不限制)
tcp_wrappers=yes 是否启用TCP_Wrappers主机访问控制
guest_enable=YES 启用用户隐射功能
guest_username=share 映射的系统用户名字 本地用户
pam_service_name=share 指定 pam认证文件
user_config_dir=/etc/vsftpd/share_dir
vi /etc/vsftpd/share(名字随便填)
第一行 名字 第二行 密码

创建数据库DB
cd /etc/vsftpd/
db_load -T -t (类型)hash -f share share.db(转换后名字)
file share.db 查看格式

然后把文件隐藏起来 chmod 600 /etc/vsftpd/share*

把权限给最低
然后加用户测试 :useradd -d 指定家目录 -s 指定shell /sbin/nologin 用户名share 不给登陆到系统

创建虚拟用户支持
建立PAM认证文件
vi /etc/pam.d/share 名字随便起 但是要知道什么意思 跟上面名字一样 方便一些
auth required pam_userdb.so db=/etc/vsftpd/share (DB在哪里)后缀DB直接隐藏了
account required pam_userdb.so db=/etc/vsftpd/share
新建配置文件保存
最后修改主配置文件 vi /etc/vsftpd/vsftpd.conf 加4条语句 并且把匿名的语句注释了和一些权限放到最低,直接给子文件配置
guest_enable=YES 启用用户隐射功能
guest_username=share 映射的系统用户名字 本地用户
pam_service_name=share 指定 pam认证文件
user_config_dir=/etc/vsftpd/share_dir

创建子文件 mkdir /etc/vsftpd/share_dir 随便建的子目录 在里面建子文件
cd /etc/vsftpd/share_dir 切换进去
然后建子文件 就是用户的需求 可以给那些权限
比如 chenhao 用户可以登录 能够正常浏览,下载文件,也可以上传文件,但是不能够删除,新建目录
vi chenhao
local_root=/home/share 指定的家目录
anon_upload_enable=yes 可以上传文件 但是不能进行删除或者新建 因为 没有给他权限

(必须锁在家目录 让他不能去系统别的地方)
chroot_local_user=yes 是否将ftp本地用户禁锢在宿主目录中
并且linux 主机中的系统用户无法登陆FTP
并且匿名用户只能下载 不能上传
测试结果:




测试虚拟用户

上传下载都可以

上传不可以 下载可以!



在主配置文件上必须要添加这句话!后面跟的是你子文件夹!

必须要加这句话!
启用独立配置文件
注意:权限一定要给755 否则会发现无法浏览目录等情况!做实验发现
[root@localhost ~]# chmod 775 /home/share/
[root@localhost ~]# chown share:share /home/share/
然后按需求 复制上面的参数保存退出就可以!
达到不同用户不同权限更方便企业管理员管理每个用户账户,并且很安全,权限可以自由分配!
FTP(虚拟用户,并且每个虚拟用户可以具有独立的属性配置)的更多相关文章
- vsftpd搭建ftp服务,并实现虚拟用户访问
安装vsftpd服务: yum install vsftpd -y [root@wadeson ~]# rpm -ql vsftpd /etc/logrotate.d/vsftpd /etc/pam. ...
- linux之FTP服务搭建 ( ftp文件传输协议 VSFTPd虚拟用户)
FTP服务搭建 配置实验之前关闭防火墙 iptables -F iptables -X iptables -Z systemctl stop firewalld setenforce 0 1.ftp简 ...
- linux(十二)___Apache服务器用户认证、虚拟主机的配置
创建xiangkejin zhangsan两个用户 可看见文件中创建的两个用户: 建立虚拟目录并配置用户认证 ①建立虚拟目录 /xiangkejin ②在Apache的主配置文件httpd.conf ...
- centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 访问控制 apache rewrite 配置开机启动apache tcpdump 第二十节课
centos LAMP第二部分apache配置 下载discuz!配置第一个虚拟主机 安装Discuz! 用户认证 配置域名跳转 配置apache的访问日志 配置静态文件缓存 配置防盗链 ...
- 高级运维(二):搭建Nginx服务器、用户认证、基于域名的虚拟主机、SSL虚拟主机、Nginx反向代理
一.搭建Nginx服务器 目标: 在IP地址为192.168.4.5的主机上安装部署Nginx服务,并可以将Nginx服务器,要求编译时启用如下功能: 1> SSL加密功能 2> 设置Ng ...
- linux下建ftp用户,并限制用户访问路径[转]
目的是:在linux系统上建立ftp用户,并限制其通过ftp访问时,只能访问用户主目录:其主目录显示路径也是“/”,看不到上级目录. 例如,我要建立用户usertest,密码为usertest ...
- Linux:linux下建ftp用户,并限制用户访问路径
安装:ftp安装部分,操作步骤如下: 可以使用yum命令直接安装ftp # yum install vsftpd ftp服务的开启与关闭命令: 开启:# service vsftpd start 关闭 ...
- linux ftp服务器设置,只允许用户访问指定的文件夹,禁止访问其他文件夹
在Linux中添加ftp用户,并设置相应的权限,操作步骤如下: 1.环境:ftp为vsftp.被限制用户名为test.被限制路径为/home/test 2.建用户:在root用户下: useradd ...
- 用户管理 之 Linux 用户(User)查询篇
用户(User)和用户组(Group)的配置文件,是系统管理员最应该了解和掌握的系统基础文件之一,从另一方面来说,了解这些文件也是系统安全管理的重要组成部份:做为一个合格的系统管理员应该对用户和用户组 ...
随机推荐
- cache、session、cookie的区别
session把数据保存在服务器端,每一个用户都有属于自己的Session,与别人的不冲突就是说,你登陆系统后,你的信息(如账号.密码等)就会被保存在服务器上一个单独的session中,当你退出系统后 ...
- docker的安装及使用
准备工具: 系统:ubuntu18.04 docker软件包:docker-compose.tar.gz,containerd.io_1.2.4-1_amd64.deb,docker-ce-cli_1 ...
- 一切皆Socket
“一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket. ——有感于实际编程和开源项目研究. socket()函数介绍 socket函数介绍 函数原型 domai ...
- Mave------pom.xml标签详解
pom文件作为MAVEN中重要的配置文件,对于它的配置是相当重要.文件中包含了开发者需遵循的规则.缺陷管理系统.组织.licenses.项目信息.项目依赖性等.下面将重点介绍一下该文件的基本组成与功能 ...
- Java位运算符浅析
在学习源码中,发现有大量使用位运算符,这样做的目的是为了节约内存开销和加快计算效率. 位运算符,这个”位”代表这什么? 位:二进制位简称“位”,是二进制记数系统中表示小于2的整数的符号,一般用1或 0 ...
- swift 实践- 05 -- UITextField
import UIKit class ViewController: UIViewController ,UITextFieldDelegate{ // 文本框的创建, 有如下几个样式: // UIT ...
- Mac配置Jdk 安装及系统环境配置
注:本文来于< Mac配置Java开发环境 > 1. 下载JDK 从下面链接选择合适版本的安装包进行下载...笔者下载的是jdk-9.0.1 链接:http://www.oracl ...
- embed标签详解
HTML-embed标签详解 Embed(一).基本语法:embed src=url说明:embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3等等, Net ...
- 反向找related_name以及limit_fields_to
问题2:客户的添加页面,通过popup创建用户时 解决方案: 如果新创建的用户时:如果是销售部的人,页面才增加 目的是:拿到limit_choices_to,就可以判断了 当有两个Foreignkey ...
- HighCharts基本使用
一.简叙 HighCharts是一个非常强大的画图插件,在以后的工作汇报,数字展示,它将是一把利器.既然是插件,那么就有它的使用规则,我们只需要遵循它的使用规则,就可以画出我们想要的展示效果了.期待吗 ...