热门标签 | 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"命令。


推荐阅读
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
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社区 版权所有