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

Ubuntu系统下vsFTPd的安装和配置

一、安装vsftp和db4sudoapt-getinstallvsftpdsudoapt-getinstalldb4.8-util二、建立虚拟用户口令库文件sudomkdir/etc/vsftpd新建名为logins.txt的用户口令文件,sudogedit/etc/vsftpd/logins.txt奇数行为用户名。偶

一、 安装vsftp和db4

sudo apt-get install vsftpd

sudo apt-get install db4.8-util

 

二、建立虚拟用户口令库文件

sudo mkdir /etc/vsftpd

新建名为logins.txt的用户口令文件,

sudo gedit /etc/vsftpd/logins.txt

奇数行为用户名。偶数行为密码,如下用户User1的密码为123456,User2的密码为12345

User1

123456

User2

12345

admin

admin

三、生成vsftpd的认证文件

使用db_load命令生成认证文件:

sudo db4.8_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db

将vsftpd_login.db的权限设为只对root可读写,即600

chmod 600 /etc/vsftpd/vsftpd_login.db

四、建立虚拟用户所需的PAM配置文件

在/etc/pam.d目录中建立vsftpd.vu内容如下

sudo gedit /etc/pam.d/vsftpd.vu

auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required pam_userdb.so db=/etc/vsftpd/vsftpd_login

五、建立虚拟用户所需的系统用户和主目录

sudo useradd jtmvi -d /www -s /bin/false

sudo chown jtmvi.jtmvi /www

sudo chown jtmvi.jtmvi /www/User1

sudo chown jtmvi.jtmvi /www/User2

六、设置vsftpd.conf配置文件:(记得先备份)

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf_bak #备份

gedit /etc/vsftpd.conf

listen=YES

anonymous_enable=NO

dirmessage_enable=YES

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

chroot_local_user=YES

guest_enable=YES

guest_username=jtmvi

user_config_dir=/etc/vsftpd_user_conf

pam_service_name=vsftpd.vu

local_enable=YES

 

七 、对不同的虚拟用户设置不同权限

sudo mkdir /etc/vsftpd_user_conf

gedit /etc/vsftpd_user_conf/User1

write_enable=YES

anon_world_readable_Only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/www/User1

 

gedit /etc/vsftpd_user_conf/User2

write_enable=YES

anon_world_readable_Only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/www/User2

gedit /etc/vsftpd_user_conf/admin

write_enable=YES

anon_world_readable_Only=NO

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

local_root=/www

八、重启vsftpd

sudo service vsftpd restart

现在应该能通过ftp连接,连接后上传文件可能会出现:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
这个错误,然后google之,发现这是由于vsftpd升级了安全性验证的缘故:

- Add stronger checks for the configuration error of running with a writeable
root directory inside a chroot(). This may bite people who carelessly turned
on chroot_local_user but such is life.

简而言之,就是说如果开启了chroot来控制用户路径,则用户不能再具有 根目录 的 写 的权限。。。

把用户根目录的 写 权限 去掉就可以解决问题了。

其实我觉得这样有点不方便,因为这样需要在用户根目录下建一个文件夹 然后给它赋予 写 的权限, 然后用户登陆进去会发现必须要再进一层目录才能找到自己的文件。。。这样有点不太方便,当然提高了安全性这一点不可否认。。



推荐阅读
  • 2023年,Android开发前景如何?25岁还能转行吗?
    近期,关于Android开发行业的讨论在多个平台上热度不减,许多人担忧其未来发展。本文将探讨当前Android开发市场的现状、薪资水平及职业选择建议。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 解决Word文档无法打开的问题
    本文探讨了Word文档无法正常打开的原因及解决方案,包括病毒感染和模板损坏等常见问题。 ... [详细]
  • 理财规划:迈向财务自由的路径
    实现财务自由,摆脱经济压力,是许多人的梦想。财务自由不仅意味着有足够的财富支持生活,还包括能够灵活应对未来可能遇到的各种经济挑战。本文将探讨如何通过有效的理财规划达到这一目标。 ... [详细]
  • 本文介绍了SELinux的两种主要工作模式——强制模式和宽容模式,并提供了如何在CentOS 7中正确启用和配置SELinux的方法,以及在遇到登录问题时的解决策略。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 了解多域名SAN SSL证书及其工作原理
    本文介绍了多域名SAN SSL证书的概念及其工作方式,探讨其在现代网络安全中的重要性和应用。 ... [详细]
  • 龙蜥社区开发者访谈:技术生涯的三次蜕变 | 第3期
    龙蜥社区的开发者们通过自己的实践和经验,推动着开源技术的发展。本期「龙蜥开发者说」聚焦于一位资深开发者的三次技术转型,分享他在龙蜥社区的成长故事。 ... [详细]
  • 最新版 EasyCriteria 3.0 已正式上线,该版本经过全面重构,带来了多项性能优化与功能增强。更多详情请参阅官方文档:http://uaihebert.com/?p=1898 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • 解决Win10系统自动删除破解软件的问题
    如何处理Win10系统频繁自动删除安装的破解软件?本文将详细介绍可能的原因及解决方案,帮助用户顺利安装所需软件。 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • Windows操作系统提供了Encrypting File System (EFS)作为内置的数据加密工具,特别适用于对NTFS分区上的文件和文件夹进行加密处理。本文将详细介绍如何使用EFS加密文件夹,以及加密过程中的注意事项。 ... [详细]
author-avatar
mobiledu2502868917
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有