热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Ubuntu系统中配置vsFTPd上传目录

Vsftpd配置还是好麻烦,花了不少时间,特别是权限管理,什么本地用户和虚拟用户。配置vsftpd主要是为了方便上传web,并让apache能够访问。以默认目录/var/www为例目标:建立ftp服务,指定虚拟用户并设置对提供web的目录具有写操作。指定apache服务所在用

Vsftpd配置还是好麻烦,花了不少时间,特别是权限管理,什么本地用户和虚拟用户。

配置vsftpd主要是为了方便上传web,并让apache能够访问。

以默认目录/var/www为例

目标:
建立ftp服务,指定虚拟用户并设置对提供web的目录具有写操作。

指定apache服务所在用户加入ftp虚拟用户组,使ftp只需要调整组权限就能调整是否对apache可写,无需777权限。\

1.vsftpd安装,添加虚拟用户的帐户

sudo apt-get install vsftpd

sudo useradd ftpvirtual -d /home/ftpvirtual -s /bin/false

修改vsftpd配置文件

sudo vim /etc/vsftpd.conf

自己的配置文件为:

listen=YES
anonymous_enable=NO
local_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
data_connection_timeout=2
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd#权限验证,指向/etc/pam.d/vsftpd
user_config_dir=/etc/vsftpd/user_conf#虚拟用户的配置目录

data_connection_timeout=120

guest_enable=YES#打开虚拟用户
guest_username=ftpvirtual#虚拟用户使用的本地用户,由上面命令创建

准备建立虚拟用户,本来还有mysql的方式,不过太麻烦就懒得去做了,用不到这么强的功能。

首先建立一个空白文件:

sudo vim /etc/vsftpd/virtuals

该文件输入的内容就是虚拟用户的用户名和密码,格式为一行用户名一行密码例如:

testuser

111111

username

password

使用命令将该文本转为数据库,这里不清楚是否安装了db4.7-util,没有安装的执行下面命令(可能老版本为4.6,新版本就不知道了)

sudo apt-get install db4.7-util

执行命令建立数据库文件

sudo db4.7_load -T -t hash -f /etc/vsftpd/virtuals /etc/vsftpd/virtuals.db

设置一下数据库文件权限,并删除刚才的文本文件

sudo chmod 600 /etc/vsftpd/virtuals.db

sudo rm /etc/vsftpd/virtuals

现在配置PAM文件

sudo vim /etc/pam.d/vsftpd

修改内容为下面内容,注意没有".db"这个后缀

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers
account required /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers

将/var/www拥有者和组改为ftpvirtual

sudo chown -R ftpvirtual:ftpvirtual /var/www

建立虚拟用户配置文件

sudo vim /etc/vsftpd/user_conf/test_user

加入以下权限设置内容

write_enable=YES
local_root=/var/www
local_umask=003
anon_umask=003
anon_world_readable_Only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

将www-data用户加入ftpvirtual用户组

gpasswd -a www-data ftpvirtual

重启vsftpd

sudo /etc/init.d/vsftpd restart

以上配置完成。

如果考虑更安全的权限,应该把anon_umask调整为023,需要可写的地方用ftp设置组的写权限。

配置环境

Ubuntu 9.04 server 32bit


推荐阅读
  • 阿里云服务器搭建详解——Ubuntu
    由于自己电脑配置跟不上,双系统一开,整个电脑就会变得非常卡顿,所以决定在阿里云买一个云服务器。听朋友说,学生买的话是非常便宜 ... [详细]
  • Ubuntu 环境下配置 LAMP 服务器
    本文详细介绍了如何在 Ubuntu 系统上安装和配置 LAMP(Linux、Apache、MySQL 和 PHP)服务器。包括 Apache 的安装、PHP 的配置以及 MySQL 数据库的设置,确保读者能够顺利搭建完整的 Web 开发环境。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • flea,frame,db,使用,之 ... [详细]
  • 本文探讨了在MySQL数据库中处理大规模数据删除的最佳实践,包括分批删除、利用索引、管理事务以及选择合适的删除命令等策略,旨在提升删除效率并确保系统稳定。 ... [详细]
  • 如何在U8系统中连接服务器并获取数据
    本文介绍了如何在U8系统中通过不同的方法连接服务器并获取数据,包括使用MySQL客户端连接实例的方法,如非SSL连接和SSL连接,并提供了详细的步骤和注意事项。 ... [详细]
  • 在Ubuntu 16.10 (x86) 上安装 WordPress 4.7.115
    本文介绍如何在Ubuntu 16.10 (x86) 系统上安装WordPress 4.7.115,包括下载、解压、配置等步骤,确保安装过程顺利进行。 ... [详细]
  • Linux系统快捷键大全及使用技巧
    本文详细介绍了Linux系统中的各种快捷键,包括命令行和VIM编辑器中的常用快捷键,帮助用户提高操作效率。同时,文章还提供了关于字体配置、软件安装等方面的实用信息。 ... [详细]
  • Ubuntu 14.04 系统安装后网卡名称修改方法
    本文介绍了在安装 Ubuntu 14.04 Server 版本后,如何将默认的网卡名称从非 eth 格式修改为传统的 eth 格式,并提供了详细的步骤和示例。 ... [详细]
  • 本文详细介绍了在Mac平台上安装和配置MySQL的步骤,包括下载安装包、卸载MySQL以及解决命令行中找不到mysql命令的问题。 ... [详细]
  • 整理于2020年10月下旬:总结过去,展望未来Itistoughtodayandtomorrowwillbetougher.butthedayaftertomorrowisbeau ... [详细]
  • vsftpd配置(虚拟用户、匿名用户登录)
    一、ftp服务搭建(一)概述1.ftp连接及传输模式(1)控制连接TCP21,用于发送FTP命令信息 ... [详细]
  • Nacos 0.3 数据持久化详解与实践
    本文详细介绍了如何将 Nacos 0.3 的数据持久化到 MySQL 数据库,并提供了具体的步骤和注意事项。 ... [详细]
  • 1.tarzxfapache-activemq-5.12.0-bin.tar.gztarzxfapache-activemq-5.12.0-bin.tar.gz2.cdapac ... [详细]
author-avatar
闫小芽_209
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有