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

Ubuntu系统中的vsFTPd安装配置

Ubuntuvsftpd对于电脑使用的玩家的常用软件,然后我就学习及深入的研究Ubuntuvsftpd,在这里和大家一起探讨Ubuntuvsftpd的使用方法,希望对大家有用。Ubuntuvsftpd和Proftp安装与配置ZT1)安装UbuntuvsftpdUbuntu安装软件倒不是件困难的事,输入:su

Ubuntu vsftpd对于电脑使用的玩家的常用软件,然后我就学习及深入的研究Ubuntu vsftpd,在这里和大家一起探讨Ubuntu vsftpd的使用方法,希望对大家有用。Ubuntu vsftpd 和Proftp 安装与配置 ZT

1)安装Ubuntu vsftpd

Ubuntu安装软件倒不是件困难的事,输入:sudo apt-get install Ubuntu vsftpd可能会提示你使用光盘,放进去再按回车就行了。安装了之后会在/home/下建立一个ftp目录。这时候你可以试着访问下ftp://IP地址。应该可以看到一个空白内容的ftp空间。默认设置下匿名用户可以下载,但不能写入或是上传

2)设置 Ubuntu vsftpd.conf文件

现在我们要让匿名用户无法访问,并且得输入Linux上的用户密码后才能访问到他们自己目录里的内容。首先找到设置Ubuntu vsftpd的文件,位置在/etc/ vsftpd.conf修改之前最好先备份下这个文件:sudo cp /etc/ vsftpd.conf /etc/ vsftpd.conf.old然后可以改动了:

#不让匿名用户使用  

#anonymous_enable=YES 

#本地用户可用  

local_enable=YES   

#可用写操作  

write_enable=YES 

#不需要显示某目录下文件信息  

#dirmessage_enable=YES   

#加点banner提示  

ftpd_banner=Hello~~   

#FTP服务器最大承载用户  

max_clients=100 

#限制每个IP的进程  

max_per_ip=5 

#最大传输速率(b/s)  

local_max_rate=256000 

#隐藏帐号  

hide_ids=YES  

好了,重启下ftp 服务器看看效果重启后还是和原来一样对吗?呵呵,这是默认的ftp目录在做鬼,我们把它删除,再看看。怎么样?要你输入用户名和密码了吧。

新的问题

1.输入用户名密码后显示的位置是在用户的根目录下,而我们的WEB内容是在public_html目录里

2.用户可以跳到任何其他目录(非常危险..)要解决这些问题我们还得设置下Ubuntu vsftpd.conf

#启动chroot列表(Change root)  

chroot_list_enable=YES 

#指定列表位置(我这用的是默认地址)  

chroot_list_file=/etc/Ubuntu vsftpd.chroot_list  

接下来我们得在Ubuntu vsftpd.chroot_list上写进去我们要限制哪些用户,不让他们“漂移”.. 

现在有用户linyupark,所以只要sudo nano一下,往里面写就行了这样我们已经解决第2个问题了,登陆的用户只能在它的用户文件夹里活动,下面我们要更狠一点,让他只能在public_html里活动依然还是找Ubuntu vsftpd.conf

#这句默认设置里是没有的,自己加user_config_dir=/etc/自己定义一个设置个别用户用的文件夹地址根据自己设置的地址,建立一个相应的文件夹,然后往里面建立和用户名相同的文件,nano一下:#本地用户的根地址,假设用户是linyuparklocal_root=/home/linyupark/public_html好咯,重启下服务器。

1- 使用下面的命令安装proftpd:

Code:   

sudo apt-get install proftpd  

2- 在etc/shells 加入如下代码 (sudo gedit /etc/shells to open the file)(译注:命令行模式下sudo vi /etc/shells) :

Code:   

/bin/false  

新建一个 /home/FTP-shared 目录 :

Code:   

cd /home   

sudo mkdir FTP-shared  

创建一个只能用来读取ftp的用户userftp. 这个用户不需要有效的shell(更安全) ,所以选择 /bin/false shell 给 userftp , /home/FTP-shared 作为主目录。 为了是这部分更清楚,我给取此操作的命令行:

Code:   

sudo useradd userftp -p your_password -d /home/FTP-shared -s /bin/false   

在FTP-shared 目录下新建一个download和一个upload 目录:   

Code:   

cd /home/FTP-shared/   

sudo mkdir download   

sudo mkdir upload  

现在我们来给它们设置相应的权限:

Code:   

cd /home   

sudo chmod 755 FTP-shared   

cd FTP-shared   

sudo chmod 755 download   

sudo chmod 777 upload  

3- 好了,现在进入proftpd的配置文件:

Code: sudo gedit /etc/proftpd/proftpd.conf //特别注意路径,网上以前给的是错的当然你可以按你的需要编辑你自己的proftpd.conf:

Code:   

# To really apply changes reload proftpd after modifications.   

AllowOverwrite on   

AuthAliasOnly on   

# Choose here the user alias you want !!!!   

UserAlias sauron userftp   

ServerName "ChezFrodon"   

ServerType standalone   

DeferWelcome on   

MultilineRFC2228 on   

DefaultServer on   

ShowSymlinks off   

TimeoutNoTransfer 600   

TimeoutStalled 100   

TimeoutIdle 2200   

DisplayFirstChdir .message   

ListOptions "-l"   

RequireValidShell off   

TimeoutLogin 20   

RootLogin off   

# It''s better for debug to create log files ;-)   

ExtendedLog /var/log/ftp.log   

TransferLog /var/log/xferlog   

SystemLog /var/log/syslog.log   

#DenyFilter \*.*/  

# I don''t choose to use /etc/ftpusers file (set inside the users you want to ban, not useful for me)   

UseFtpUsers off   

# Allow to restart a download   

AllowStoreRestart on   

# Port 21 is the standard FTP port, so don''t use it for security reasons (choose here the port you want)   

Port 1980   

# To prevent DoS attacks, set the maximum number of child processes   

# to 30. If you need to allow more than 30 concurrent connections   

# at once, simply increase this value. Note that this ONLY works   

# in standalone mode, in inetd mode you should use an inetd server   

# that allows you to limit maximum number of processes per service   

# (such as xinetd)   

MaxInstances 8   

# Set the user and group that the server normally runs at.   

User nobody   

Group nogroup   

# Umask 022 is a good standard umask to prevent new files and dirs   

# (second parm) from being group and world writable.   

Umask 022 022   

PersistentPasswd off   

MaxClients 8   

MaxClientsPerHost 8   

MaxClientsPerUser 8   

MaxHostsPerUser 8   

# Display a message after a successful login   

AccessGrantMsg "welcome !!!"   

# This message is displayed for each access good or not   

ServerIdent on "you''re at home"   

# Set /home/FTP-shared directory as home directory   

DefaultRoot /home/FTP-shared   

# Lock all the users in home directory, ***** really important *****   

DefaultRoot ~   

MaxLoginAttempts 5   

#VALID LOGINS   

AllowUser userftp   

DenyALL   

Umask 022 022   

AllowOverwrite off   

DenyAll   

Umask 022 022   

AllowOverwrite off   

DenyAll   

Umask 022 022   

AllowOverwrite on   

DenyAll   

AllowAll  

好了,你已经完成了proftpd的配置,你的服务端口是1980,而读取的参数如下,用户:sauron,密码:你为userftp设置的那个。

4- 启动/停止/重启动你的服务:

Code:   

sudo /etc/init.d/proftpd start   

sudo /etc/init.d/proftpd stop   

sudo /etc/init.d/proftpd restart  

对你的proftpd进行一下语法检查:

Code:   

sudo proftpd -td5  

想知道谁现在连接到你的服务,用ftptop命令(使用字母"t"来转换显示频率),你也可以使用"ftpwho"命令。


推荐阅读
  • 从CodeIgniter中提取图像处理组件
    本指南旨在帮助开发者在未使用CodeIgniter框架的情况下,如何独立使用其强大的图像处理功能,包括图像尺寸调整、创建缩略图、裁剪、旋转及添加水印等。 ... [详细]
  • 在 Ubuntu 22.04 LTS 上部署 Jira 敏捷项目管理工具
    Jira 敏捷项目管理工具专为软件开发团队设计,旨在以高效、有序的方式管理项目、问题和任务。该工具提供了灵活且可定制的工作流程,能够根据项目需求进行调整。本文将详细介绍如何在 Ubuntu 22.04 LTS 上安装和配置 Jira。 ... [详细]
  • MySQL Administrator: 监控与管理工具
    本文介绍了 MySQL Administrator 的主要功能,包括图形化监控 MySQL 服务器的实时状态、连接健康度、内存健康度以及如何创建自定义的健康图表。此外,还详细解释了状态变量和系统变量的管理。 ... [详细]
  • Vulnhub DC3 实战记录与分析
    本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ... [详细]
  • 本文介绍了SIP(Session Initiation Protocol,会话发起协议)的基本概念、功能、消息格式及其实现机制。SIP是一种在IP网络上用于建立、管理和终止多媒体通信会话的应用层协议。 ... [详细]
  • 软件测试行业深度解析:迈向高薪的必经之路
    本文深入探讨了软件测试行业的发展现状及未来趋势,旨在帮助有志于在该领域取得高薪的技术人员明确职业方向和发展路径。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 本文详细探讨了Linux系统中的文件权限设置,包括常见的755、700等权限模式,以及这些权限在实际应用中的具体含义和作用。 ... [详细]
  • 调试利器SSH隧道
    在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需要通过线上域名才能正常访问。但我们一般都会在本地开发,因为这能快速的看到 ... [详细]
  • 解决PHP项目在服务器无法抓取远程网页内容的问题
    本文探讨了在使用PHP进行后端开发时,遇到的一个常见问题:即在本地环境中能够正常通过CURL获取远程网页内容,但在服务器上却无法实现。我们将分析可能的原因并提供解决方案。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 深入理解:AJAX学习指南
    本文详细探讨了AJAX的基本概念、工作原理及其在现代Web开发中的应用,旨在为初学者提供全面的学习资料。 ... [详细]
  • 在Ubuntu 18.04上使用Nginx搭建RTMP流媒体服务器
    本文详细介绍了如何在Ubuntu 18.04上使用Nginx和nginx-rtmp-module模块搭建RTMP流媒体服务器,包括环境搭建、配置文件修改和推流拉流操作。适用于需要搭建流媒体服务器的技术人员。 ... [详细]
author-avatar
kg810219_447
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有