vsftp 实现不同用户不同权限配置

先说说主配置文件vsftpd.conf中的配置参数说明:这里的参数只是初步设定的默认参数,具体可在各虚拟用户中配置

anonymous_enable=NO  #不允许匿名访问

local_enable=YES     #设定本地用户可以访问。注意:主要是为虚拟宿主用户,如果该项目设定为NO那么所有虚拟用户将无法访问。

write_enable=YES   #设定可以进行写操作。

local_umask=022        #设定上传后文件的权限掩码,文件644,文件夹755

anon_upload_enable=NO  #禁止匿名用户上传文件。

anon_mkdir_write_enable=NO  #禁止匿名用户建立目录。

dirmessage_enable=YES       #设定开启目录标语功能。

xferlog_enable=YES           #设定开启日志记录功能。

connect_from_port_20=YES    #设定端口20进行数据连接。

chown_uploads=NO   #设定禁止上传文件更改宿主。

xferlog_file=/var/log/vsftpd.log  #设定Vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来,并且由于这里更改了Vsftpd的服务宿主用户为手动建立的Vsftpd。必须注意给与该用户对日志的写入权限,否则服务将启动失败。

xferlog_std_format=YES   #设定日志使用标准的记录格式。

#idle_session_timeout=600 #设定空闲连接超时时间,这里使用默认。将具体数值留给每个具体用户具体指定,当然如果不指定的话,还是使用这里的默认值600,单位秒。

nopriv_user=www2013 #设定支撑Vsftpd服务的宿主用户为手动建立的Vsftpd用户。注意,一旦做出更改宿主用户后,必须注意一起与该服务相关的读写文件的读写赋权问题。比如日志文件就必须给与该用户写入权限等。

async_abor_enable=YES    #设定支持异步传输功能。

ascii_upload_enable=YES

ascii_download_enable=YES     #设定支持ASCII模式的上传和下载功能。

ftpd_banner=This Vsftp server
supports virtual users ^_^    #设定Vsftpd的登陆标语。

Banner_file =/…                        #设定Vsftpd的登陆标语的文件。

下面是一个比较扯淡的参数:有下面4种组合

chroot_local_user=YES

chroot_list_enable=NO

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list


参数


取值


取值


取值


取值


chroot_list_enable


YES


YES


NO


NO


chroot_local_user


YES


NO


YES


NO


意义


文件中列出的用户根目录为系统根目录,其它用户根目录为自己主目录。


文件中列出的用户根目录为自己主目录,其它用户根目录为系统根目录。


全部用户根目录都是自己主目录。


全部用户根目录都是系统根目录。

红色部分是常用到的,它的意思是,所有用户的目录都是共享的ftp目录,不可以切到别的目录,包括上传的时候,只能上传所在目录的文件,不能上传别的目录里的文件。

ls_recurse_enable=NO    #禁止用户登陆FTP后使用"ls -R"的命令。该命令会对服务器性能造成巨大开销。如果该项被允许,那么挡多用户同时使用该命令时将会对该服务器造成威胁。

listen=YES  #开启独立进程vsftpd,不使用超级进程xinetd。设定该Vsftpd服务工作在StandAlone模式下。顺便展开说明一下,所谓StandAlone模式就是该服务拥有自己的守护进程支持,在ps -A命令下我们将可用看到vsftpd的守护进程名。如果不想工作在StandAlone模式下,则可以选择SuperDaemon模式,在该模式下 vsftpd将没有自己的守护进程,而是由超级守护进程Xinetd全权代理,与此同时,Vsftp服务的许多功能将得不到实现。

pam_service_name=vsftpd #设定,启用pam认证,并指定认证文件名/etc/pam.d/vsftpd。

userlist_enable=YES    #设定userlist_file中的用户将不得使用FTP。

tcp_wrappers=YES       #设定支持TCP Wrappers。

实际操作过程:环境CENTOS 6.8

目标:实现在同一跟目录下对admins,upload,download三个虚拟用户的不同权限的控制。具体权限控制列表如下:


用户名


权限说明


admins


管理员,可以上传、下载、新建文件夹、删除和更改文件和文件夹名。


upload


不可以下载,可以上传、新建文件夹,但不能删除文件和文件夹,不能重命名原有文件和文件夹;


download


只能下载,不能进行其他操作。

1、安装vsftpd

Yum install vsftpd -y

2、添加虚拟映射用户

Useradd –d /home/ftp –s /sbin/nologin

然后创建虚拟用户和密码

Cat >>vsuser<<eof

admins

123456

upload

123456

download

123456

eof

[[email protected] vsftpd]# cat vsuser

admins

123456

upload

123456

download

123456

然后呢 安装db4,制作vsftp的用户认证文件,因为刚才的虚拟帐号和密码的文本文件无法被系统帐号直接调用,需要创建用于系统认证的db文件

[[email protected] vsftpd]# yum install db4

[[email protected] vsftpd]#db_load -T -t hash -f /etc/vsftpd/vsuser /etc/vsftpd/vsuser.db

接着配置pam.d下的vsftpd,添加认证文件的位置

vim /etc/pam.d/vsftpd   #将文将中原来的内容改为下面的内容(记得先备份呀)

auth       sufficient     /lib64/security/pam_userdb.so   db=/etc/vsftpd/vsuser

account    sufficient     /lib64/security/pam_userdb.so   db=/etc/vsftpd/vsuser

以上针对64位机器

如果是32位的话将lib64改为lib即

auth       sufficient     /lib/security/pam_userdb.so   db=/etc/vsftpd/vsuser

account    sufficient     /lib/security/pam_userdb.so   db=/etc/vsftpd/vsuser

然后就是配置vsftp了:

cd /etc/vsftpd/

[[email protected] vsftpd]# vim vsftpd.conf

anonymous_enable=NO

local_enable=YES

write_enable=NO

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

chown_uploads=NO

xferlog_std_format=YES

chroot_local_user=YES

chroot_list_enable=NO

chroot_list_file=/etc/vsftpd/chroot_list

listen=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

nopriv_user=ftp

async_abor_enable=YES

ascii_upload_enable=YES

ascii_download_enable=YES

ftpd_banner=Welcome to blah FTP service ^_^

ls_recurse_enable=NO

listen=YES

local_root=/home/ftp

guest_enable=YES

guest_username=ftp

virtual_use_local_privs=YES

user_config_dir=/etc/vsftpd/conf

主配置文件修改完毕,配置各个虚拟用户的权限文件

首先mkdir conf

注意:这个文件夹下的文件名一定要与我们刚开始创建的3个虚拟用户名相对应

Cd conf/中去

Cat >>admins<<eof

write_enable=YES

download_enable=YES

eof

然后是upload用户

Cat >>upload<<eof

virtual_use_local_privs=NO

anon_world_readable_only=NO

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

eof

最后是download用户

Echo “anon_world_readable_only=NO” >> download

然后就是启动vsftpd服务

[[email protected] conf]# /etc/init.d/vsftpd restart

下载windows上的ftp客户端软件fileZilla安装测试

经过测试完成预期目标。^_^

时间: 2024-07-31 23:58:53

vsftp 实现不同用户不同权限配置的相关文章

速达软件开发版用户和权限配置

一.用户新建和同步 用户可以正常选择帐套,通过系统默认的管理员账号:admin 和密码:000000就可以登录系统: 接下来我们需要根据登录的速达帐套配置对应的用户和权限,输入用户名和密码,选择登录到系统中:需要强调的是: 速达每个业务帐套数据库都是有独立的操作员和权限,而速达软件开发版是所有的业务帐套和数据库用的是一套操作员和权限:如果用户新建立帐套需要将开发版中的用户同步到速达帐套中:登录系统后,选择文件=>人员信息进行人员新增,或者从速达同步,或者同步至速达: 新增用户:只是在开发版数据库

Linux下用户-组权限配置

cat /etc/group cat /etc/ashadow 一.用户管理 1.添加用户 #useradd 用户名 useradd php100;用cat /etc/passwd查看 分析:php100是创建的用户名 x表示密码占位符 因为passwd文件是每个用户都有权限 所以直接显示是不安全的.密码存在了/etc/shadow文件中 1000表示用户id 1001表示用户所在的组id /home/php100表示家目录 末尾如果是bash表示可以登录系统 如果是nologin表示无法登录操

Mosquitto搭建Android推送服务(四)Mosquitto服务器用户登录与权限配置

文章钢要: 1.对服务器进行多用户配置 2.根据不同用户给予不同权限 一.Mosquitto的用户机制 mosquitto中可以添加多个用户,只有使用用户名和密码登陆服务器才允许用户进行订阅与发布操作.可以说用户机制是mosquitto重要的安全机制,增强服务器的安全性. 用户与权限配置需要修改3处地方: 1.mosquitto中最最最重要的配置文件mosquitto.conf. 2.pwfile.example (保存用户名与密码) 3.aclfile.example (保存权限配置) 首先给

centos6中搭建svn服务器以及相关权限配置

使用yum方式安装svn服务器软件,在centos中搭建团队使用的代码仓库,为开发成员创建账号以及分配权限: 1.检查svn服务软件安装情况 svnserve –version命令查看安装情况, 出现"-bash: /usr/bin/svnserve: No such file or directory"提示说明没有安装,直接进入第2步, 否则会显示已安装svn服务器软件版本信息"svnserve, version -",可以使用以下命令删除已安装的版本 yum r

Linux下SVN部署/安全及权限配置,实现web同步更新

转自:http://www.cnblogs.com/me115/archive/2013/04/07/3002058.html 本文包含以下内容: SVN服务器安装 SVN权限管理 SVN使用SASL加密 SVN上传时同步其它目录 需求 在WEB线上版本管理的基础上,能够在代码上传之后,立刻通过WEB访问,查看修改效果:同时,保证数据的安全性: SVN安装 SVN服务器有2种运行方式:独立服务器和借助apache运行. svnserve和apache相比是轻量级的,也比较简单,svnserve包

vueThink权限配置

vueThink中的 admin 默认是展示所有权限,其他的权限组用户就要自己去特定进行配置 http://vuedemo.cn:8181 这里我是默认本地配置了apache到  php\public 下的绝对路径 安装成功登录之后,默认显示的菜单是这样,后面会做新增菜单配置操作 第一步: 先复制模板创建一个前端vue的目录出来,然后进行 routes.js 的前端页面路由配置即可, 这里我新建了一个 Demo[模块]->demouser[目录]->list.vue 的页面 进行前端路由配置指

[vsftp服务]——ftp虚拟用户、权限设置等的实验

搭建ftp服务器,满足以下要求: 1.允许匿名用户登录服务器并下载文件,下载速度设置为最高2MB/s 2.不允许本地用户登录ftp服务器 3.在服务器添加虚拟用户vuser01.vuser02.vuser03,密码自己设置.其中: (1)vuser01用户的下载速度最高为3MB/s,vuser02为4MB/s,vuser03为5MB/s: (2)vuser01可以进行文件上传,但不能进行其它操作: (3)vuser02可以上传和创建目录: (4)vuser03可以进行上传.创建文件和删除文件:

vsftp实现只能上传不能下载、删除权限配置

vsftpd可以对每个用户特别限制.只要给那个用户建立一个设置文件,然后在文件里设置 在vsftpd.conf里加user_config_dir=/etc/vsftpd/vsftpd_user_conf,这是文件夹.当然你可以自己选把用户文件放在哪在此文件夹里新建一个文件,跟用户名相同.VSFTPD会比对用户名和用户设置文件. 在文件里加local_root=PATH to directory就可以更改用户的home directorylocal_max_rate=XXXX就可以限制此用户的带宽

t3用户-角色-权限hibernate经典配置

[java] view plain copy print? 用户-角色-权限hibernate经典配置. [java] view plain copy print? 既然有人问起,我就写下说明吧.在文章中间的配置文件那里.权当回忆一下,也帮助更多人.这是以前学校时写的,没有注释.都是贴的代码笔记.看到的莫要见怪.欢迎学习交流. [java] view plain copy print? [java] view plain copy print? 首先是三个实体类: [java] view pla