• linux下ftp的配置


    最近公司要用到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...

  • 相关阅读:
    并发通信、生产者消费者模型
    进程和线程的标识,守护模式
    IO多路复用
    网络编程(三):非阻塞套接字
    网络编程(二):套接字Socket
    网络编程(一):基础知识
    python标准库:base64模块
    @classmethod 和 @staticmethod
    Python特性及解释目录(不间断更新)
    Keras 整理及部分源码分析目录(不间断更新)
  • 原文地址:https://www.cnblogs.com/s-b-b/p/5714958.html
Copyright © 2020-2023  润新知