热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

vsftp账号_vsftp实现不同用户不同权限配置

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

先说说主配置文件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_local_user

YES

NO

YES

NO

chroot_list_enable

YES

YES

NO

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/ftp123 –s /sbin/nologin

然后创建虚拟用户和密码

Cat >>vsuser<

admins

123456

upload

123456

download

123456

eof

[root&#64;DHCP-service vsftpd]# cat vsuser

admins

123456

upload

123456

download

123456

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

[root&#64;DHCP-service vsftpd]# yum install db4

[root&#64;DHCP-service vsftpd]#db_load -T -t hash -f /etc/vsftpd/vsuser /etc/vsftpd/vsuser.db

接着配置pam.d下的vsftpd&#xff0c;添加认证文件的位置

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

auth       sufficient     /lib64/security/pam_userdb.so   db&#61;/etc/vsftpd/vsuser

account    sufficient     /lib64/security/pam_userdb.so   db&#61;/etc/vsftpd/vsuser

以上针对64位机器

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

auth       sufficient     /lib/security/pam_userdb.so   db&#61;/etc/vsftpd/vsuser

account    sufficient     /lib/security/pam_userdb.so   db&#61;/etc/vsftpd/vsuser

然后就是配置vsftp了&#xff1a;

cd /etc/vsftpd/

[root&#64;DHCP-service vsftpd]# vim vsftpd.conf

anonymous_enable&#61;NO

local_enable&#61;YES

write_enable&#61;NO

local_umask&#61;022

dirmessage_enable&#61;YES

xferlog_enable&#61;YES

connect_from_port_20&#61;YES

chown_uploads&#61;NO

xferlog_std_format&#61;YES

chroot_local_user&#61;YES

allow_writeable_chroot&#61;YES   #centos 7需要添加

chroot_list_enable&#61;NO

chroot_list_file&#61;/etc/vsftpd/chroot_list

listen&#61;YES

pam_service_name&#61;vsftpd

userlist_enable&#61;YES

tcp_wrappers&#61;YES

xferlog_file&#61;/var/log/vsftpd.log

xferlog_std_format&#61;YES

nopriv_user&#61;ftp123

async_abor_enable&#61;YES

ascii_upload_enable&#61;YES

ascii_download_enable&#61;YES

ftpd_banner&#61;Welcome to blah FTP service ^_^

ls_recurse_enable&#61;NO

listen&#61;YES

local_root&#61;/home/ftp123

guest_enable&#61;YES

guest_username&#61;ftp123

virtual_use_local_privs&#61;YES

user_config_dir&#61;/etc/vsftpd/conf

主配置文件修改完毕&#xff0c;配置各个虚拟用户的权限文件

首先mkdir conf

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

Cd conf/中去

Cat >>admins<

write_enable&#61;YES

download_enable&#61;YES

eof

然后是upload用户

Cat >>upload<

virtual_use_local_privs&#61;NO

anon_world_readable_only&#61;NO

write_enable&#61;YES

anon_upload_enable&#61;YES

anon_mkdir_write_enable&#61;YES

eof

最后是download用户

Echo “anon_world_readable_only&#61;NO” >> download

然后就是启动vsftpd服务

[root&#64;DHCP-service conf]# /etc/init.d/vsftpd restart

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

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



推荐阅读
  • ;etcftpusers的设定是限制系统上的某些用户不能使用FTP传送文件,etcftphosts的设定是限制不允许某些主机连接到你的FTP服务器,这样做是为了保证系统的安全性。e ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 使用 ListView 浏览安卓系统中的回收站文件 ... [详细]
  • 本文详细介绍了在CentOS 6.5 64位系统上使用阿里云ECS服务器搭建LAMP环境的具体步骤。首先,通过PuTTY工具实现远程连接至服务器。接着,检查当前系统的磁盘空间使用情况,确保有足够的空间进行后续操作,可使用 `df` 命令进行查看。此外,文章还涵盖了安装和配置Apache、MySQL和PHP的相关步骤,以及常见问题的解决方法,帮助用户顺利完成LAMP环境的搭建。 ... [详细]
  • 如何优化MySQL数据库性能以提升查询效率和系统稳定性 ... [详细]
  • 在CICS应用环境中,众多客户端通过网络与CICS服务器进行连接。系统管理员可以通过CICS系统交易CEMT查询当前连接的客户端信息。然而,在非客户端模式下,识别用户连接并解决信息获取错误的问题变得更为复杂。本文将探讨如何在CICS服务器端准确识别非客户端模式的用户连接,并提供有效的解决方案,以确保系统的稳定性和数据的准确性。此外,还将介绍一些常用的诊断工具和技术,帮助管理员快速定位和解决问题。 ... [详细]
  • 初探性能优化:入门指南与实践技巧
    在编程领域,常有“尚未精通编码便急于优化”的声音。为了从性能优化的角度提升代码质量,本文将带领读者初步探索性能优化的基本概念与实践技巧。即使程序看似运行良好,数据处理效率仍有待提高,通过系统学习性能优化,能够帮助开发者编写更加高效、稳定的代码。文章不仅介绍了性能优化的基础知识,还提供了实用的调优方法和工具,帮助读者在实际项目中应用这些技术。 ... [详细]
  • 解决SWFUpload在本地测试成功但服务器上出现404或500错误的方法
    在使用SWFUpload进行图片批量上传时,尽管本地测试一切正常,但在部署到服务器后却遇到了404和500错误。经过详细排查,发现404错误的原因在于`flash_url`和`upload_url`需要配置为绝对路径。此外,500错误可能是由于服务器端的权限设置或脚本错误导致,建议检查服务器日志以获取更多调试信息。通过这些调整,最终成功解决了问题。 ... [详细]
  • RancherOS 是由 Rancher Labs 开发的一款专为 Docker 设计的轻量级 Linux 发行版,提供了一个全面的 Docker 运行环境。其引导镜像仅 20MB,非常适合在资源受限的环境中部署。本文将详细介绍如何在 ESXi 虚拟化平台上安装和配置 RancherOS,帮助用户快速搭建高效、稳定的容器化应用环境。 ... [详细]
  • 在Linux环境中,通过编写Shell脚本来实现自定义命令的创建与激活,能够极大地简化服务器上多个子系统的管理操作。例如,通过简单的命令如“tt”,即可快速查看各个应用程序的名称及其运行状态,从而提高系统维护的效率和便捷性。 ... [详细]
  • 原标题:vue+element_ui上传文件,并传递额外参数需求:文件大小验证文件类型验证额外参 ... [详细]
  • 通过使用七牛云存储服务,本文详细介绍了如何将本地图片高效上传至云端,并实现了内容的便捷管理。借助七牛云的 Python SDK,文章提供了从认证到文件上传的具体代码示例,包括导入必要的库、生成上传凭证以及处理文件路径等关键步骤。此外,还探讨了如何利用七牛云的 URL 安全编码功能,确保数据传输的安全性和可靠性。 ... [详细]
  • 2018年9月21日,Destoon官方发布了安全更新,修复了一个由用户“索马里的海贼”报告的前端GETShell漏洞。该漏洞存在于20180827版本的某CMS中,攻击者可以通过构造特定的HTTP请求,利用该漏洞在服务器上执行任意代码,从而获得对系统的控制权。此次更新建议所有用户尽快升级至最新版本,以确保系统的安全性。 ... [详细]
  • AppFog 是一个基于 CloudFoundry 的多语言 PaaS(平台即服务)提供商,允许用户在其平台上轻松构建和部署 Web 应用程序。本文将通过详细的图文步骤,指导读者如何在 AppFog 免费云平台上成功部署 WordPress,帮助用户快速搭建个人博客或网站。 ... [详细]
author-avatar
100斤的重口味_866
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有