zoukankan      html  css  js  c++  java
  • ubuntu配置vsftpd记录

    基本上,我是按照这篇文章来做的,当然中间还参考了一些别的教程,最终虽然跑起来了,但不完全合我的意,这玩意在windows上玩serverU和filezilla简单爆了,到linux上肿么就这么复杂~~~

    基本步骤:安装》配置》添加(系统用户)》添加组》设置目录权限

    如果按照教程跑起来了,你的/etc目录下最终会有这几个配置文件:

    1,vsftpd.conf 主配置文件

    2,vsftpd.allowed_users 把userlist_enable开关打开后,引入的配置文件。配置允许该文件里的用户登录,【注:该教程用的是vsftpd.userlist,但配置文件中的是vsftpd.allowed_users,我就保持了配置文件的名字】;

    3,sftd.chroot_list 把chroot_list_enable开关打开后,引入的配置文件。配置允许该文件里的用户登录成功后能跳到别的目录去(所以不能跳到别的目录,就叫jailed了);

    要想跑起来注意几点:

    1,vsftpd安装后默认的文件夹是/srv/ftp;

    2,你在本地 ftp localhost 然后用用户名密码登录成功,却发现远程登录不成功,那么(防火墙的事你自己搞定)在ftp客户端上自己设置一下传输模式为“主动模式”(pasv);

    3,/srv/ftp的目录默认是没有上传文件的权限的,暂时不要去chmod它,会出问题,只有建了一个有完全权限的子文件夹(文后已经解决了这个问题);

    4,chroot的问题,即允许登录用户跳到根目录外的目录,下面单独来讲这个问题。

    如果你的(ftp)用户的根目录(比如你没有指向默认目录)有写权限,那么该用户登录的时候会得到一个“500 OOPS: vsftpd: refusing to run with writable root inside chroot ()”错误。

    1,这时你就需要把这个用户添加到上述提到的第二个配置文件vsftpd.chroot_list里面去,再测试登录,应该会成功,这不是chroot的目的,只是客观上解决了上面这个500错误,而一旦你这么做了,该用户就能访问这台电脑的所有目录了,这不是你要的吧。。。(图1)

    image

    (图1)/srv/ftp/upload是我设置的该用户的根目录,但是chroot后显然其它目录也对用户可见了

    2,如果你把该用户的根目录指到ftp根目录去(因为对ftp根目录而言,该用户属于other组,不具有写权限),没问题。可这也不是你要的吧,我们就来测试下:

    a. 新建一个/home/admin的文件夹(mkdir),

    b. 把它定义成admin这个ftp用户的根目录(usermod),

    c. 并且设为admin为其拥有者(chown),

    d. 把admin用户从chroot_list文件中移除,

    e. 然后登录ftp,500错误如愿出现 ,(图2)

    f. 现在把home/admin目录的写权限去掉(555),成功了。(图3)

    image

    (图2)

    image

    (图3)

    这个问题网上有解决方法,我尝试失败了。。。

    所以我才选了上面提到的别扭的解决方案是:

    指向不可写的根目录,然后不允许chroot,在该目录里建一个可写的目录用来给用户上传~~~纠结

    ps========

    才写完这篇博客,我就把/srv/ftp这个根目录给chown给了一个用户,结果发现根目录居然“既有写权限,又不需要chroot,还能正常登录”了,也就是说可以往根目录上传文件了,奇怪,遂继续上面的测试以期能复现我刚才的结果:

    image

    原因我就不深究了,两次测试都成功了。

  • 相关阅读:
    微信小程序创建第一个项目
    微信小程序工具下载与安装
    Windows下删除顽固文件夹
    微信小程序账号注册
    C++第四十九篇 -- 将一个项目Copy到另一台电脑
    C++第四十八篇 -- 字符串分离方法
    C++第四十七篇 -- VS2017带参数启动调试程序
    MarkDown插入图片
    Http升级到Https (本地测试,无须域名和认证)
    语音识别(ASR) 阿里云
  • 原文地址:https://www.cnblogs.com/walkerwang/p/3073604.html
Copyright © 2011-2022 走看看