最近公司要用到ftp,小菜鸡百度了一下教程,自己也总结一下

现在随便百度都是vsftpd的服务,所以这里我也是用vsftp

1.检测或安装vsftp

首先检查一下你的主机是否含有vsftp服务,关于rpm,其实是关于的软件管理,可能ubuntu没有,所以我们只需下载就是了(apt-get install rpm)

rpm -qa| grep vsftpd

如果有显示vsftp版本,证明是已经存在vsftp了,可以跳到第二步。

如果没有我们就进行安装vsftp

yum install vsftpd

如果是ubuntu,安装vsftp则执行下面的代码

apt-get install vsftpd

2.添加对应的用户

添加用的命令如下:

useradd 选项或参数 用户名

在这里我们要创建一个用户test321,他的访问的根目录在alidata/www/default,而且不给ssh访问,所以这么写

useradd -d alidata/www/default -s /bin/false test321

然后更改用户的对应的密码

passwd test321 密码

顺带一提。此时用户的信息显示在/etc/passwd里面,如果想去修改用户的初次访问目录,可以去修改该文件

3.修改用户只能去访问该目录

首先要去配置/etc/vsftpd.conf里面的配置项

在这里我们可以找到这段注释

# You may restrict local users to their home directories.  See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
# chroot_local_user=YES

上面三行大致的意思是你也许想去限制他只能访问自己的根目录,那就取消注释最下面的那句话就好了,然后我取消注销chroot_local_user=YES这句话,就能使通过ftp访问的用户只能访问自己的根目录

重启服务才能生效:

 service  vsftpd  restart

但是我们可能还想一些ftp用户具有特权,不单单是访问他的根目录,还可以去访问其他目录,我们可以这样做

在conf里面我们可以看到这段注释

# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

我们只要把chroot_local_user=YES这段代码取消注释,那表示打开特权,而下面的chroot_list_file这个参数就是存放含有“特权用户”的文件路径,在这个文件里面,我只要写上用户的名字就可以把他改为“特权用户”,注意:一行一个用户。

4.如何修改连接数和限制速度

以下的配置项可以直接在vsftpd.conf最下面添加

限制一个ip的连接数:max_per_ip=连接数

限制ftp的连接数: max_clients=100(注意这个是会话数,不是连接人数)

限制本地用户的速度:local_max_rate=速度

5.可能遇到的错误或问题

1.当限制用户不能跳转其他目录,即注释掉chroot_local_user=YES这句话之后就会出现错误500 OOPS: vsftpd: refusing to run with writable root inside chroot()

只要加上这句话就好了:allow_writeable_chroot=YES,这是因为,从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。摘自百度

2.虚拟用户可以登录上去,但是root账户登录不上去,查看一下你的/etc目录,看看下面是否有ftpusers这个文件,这很可能就是引起原因的文件。

ftpusers可以说是ftp登录的黑名单,凡是在这个文件上面有对应名字的,都不能登录,一般而言含有root

3.是否开启了pam模块,有时候vsftp下载下来的时候会在/etc/pam.d目录下含有一个文件vsftpd,具体pam怎么配置我不太清楚...如果这个vsftpd文件存在,新建的用户都不能登录上去,如果不想折腾的话,可以把他删了,但是具体后果我不清楚,因为我还没研究pam...

linux下ftp的配置的更多相关文章

  1. Linux下ftp安装配置及三种用户的验证

    一.原理简介 二.安装配置 三.三种用户的验证 一.简介 FTP即文件传输协议(File Transfer Protocol),完成各主机的文件共享功能,基于客户端-服务器的协议,工作在应用层,tcp ...

  2. linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)

    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...

  3. Linux 下 FTP虚拟用户的使用配置

    Linux下FTP虚拟用户的使用配置 Linux的FTP服务支持3种用户: 1.匿名帐户 2.本地帐户 3.虚拟用户 为什么要使用虚拟用户: 匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用 ...

  4. Linux下ftp和ssh详解

    学习了几天Linux下ftp和ssh的搭建和使用,故记录一下.学习ftp和ssh的主要目的是为了连接远程主机,并且进行文件传输.废话不多说,直接开讲! ftp服务器 1. 环境搭建 本人的系统是Arc ...

  5. Linux 下 ftp的使用

    最近需要在Linux上搭建FTP服务,通过网上的一些大神学习了一些新知识,在这个做一个总结: Linux 下FTP 为 vsftp (linux red hat)1.FTP配置路径:/etc/vsft ...

  6. VMware Linux 下 Nginx 安装配置 - Tomcat 配置 (二)

    准备工作 相关浏览: VMware Linux 下 Nginx 安装配置 (一) 1. 选在 /usr/local/ 下创建 softs 文件夹,通过 ftp 命令 把 apache-tomcat-7 ...

  7. Linux(4)- centos7安装python3、Linux下安装、配置virtualenv、确保开发环境的一致性、虚拟环境之virtualenvwrapper、vim

    一.centos7安装python3 1.下载python3的源码包 下载地址:https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz cd ...

  8. Linux下安装mantis配置指南【转】

    转自:http://blog.csdn.net/xabc3000/article/details/6858229 目录(?)[-] Linux下安装mantis配置指南 配置Linux下的Apache ...

  9. Linux下PortSentry的配置

    Linux下PortSentry的配置       前年写过<IDS与IPS功能分析>一文,受到广大读者关注,现将近期有关IDS配置的文章和大家分享.    Internet上的服务器一般 ...

随机推荐

  1. SharePoint 2013 文档库中PPT转换PDF

    通过使用 PowerPoint Automation Services,可以从 PowerPoint 二进制文件格式 (.ppt) 和 PowerPoint Open XML 文件格式 (.pptx) ...

  2. JavaScript下的setTimeout(fn,0)意味着什么?

    近期在研究异步编程的我对于setTimeout之类的东西异常敏感.在SegmentFault上看到了一个问题<关于SetTimeout时间设为0时>:提问者读了一篇文章,原文解释setTi ...

  3. Android开发学习——Android项目的目录结构

    Android项目的目录结构: 资源文件夹: 清单配置文件: Android的四大组件在使用前全部需要在清单文件中配置 <?xml version="1.0" encodin ...

  4. 初学HTML 常见的标签(三) 插入类标签

    第三篇博客, 这次说的是插入链接类标签, 我们平常在网页中经常能看到蓝色的链接类标签, 或者是一张图片, 一个电邮, 这些都是插入链接类的标签起的作用. <a></a>链接标签 ...

  5. 【转】Jsduck一个纯净的前端文档生成神器

    让前端程序更具可维护性,是一个老生常谈的问题,大多数时候我们都关注于应用层面的代码可维护性,如:OO.模块化.MVC,编码规范.可扩展和复用性,但这都是属于设计层面需要考虑的事情,可维护性还应包含另一 ...

  6. js自动完成

    源代码来自于: http://down.51cto.com/data/921955  我做了一下修改. 要做一个自动完成的功能,又不想依赖一大堆的js脚本库,我要的是定制的,代码尽可能简洁,方便修改和 ...

  7. Linux命令学习总结:pwd命令

    命令简介: 该命令用来显示目前所在的工作目录.指令英文原义:print work directory 执行权限    :All User 指令所在路径:/usr/bin/pwd 或 /bin/pwd ...

  8. Database 'xxx' cannot be upgraded because it is read-only or has read-only file Make the database or files writeable, and rerun recovery.

      在分离数据库DatabaseName(暂且用DatabaseName代替该数据库名)后,我将其数据文件以及日志文件移动到新增的磁盘上.然后附加该数据库,结果报如下错误: Database 'Dat ...

  9. SQL Server Column Store Indeses

    SQL Server Column Store Indeses SQL Server Column Store Indeses 1. 概述 2. 索引存储 2.1 列式索引存储 2.2 数据编码和压缩 ...

  10. springMVC 配置CharacterEncodingFilter之后不起效果

    最近开始自学springMVC框架,遇到中文乱码这一经典问题,记录下解决过程,以便后续忘记 web.xml 里过滤器配置如下: <?xml version="1.0" enc ...