• vsftpd 有关vsftpd的3个注意事项。。sshd[pid]: fatal: chroot into directory without nodev and either noexec or nosuid


    今天帮助已好友配置vsftpd,可能是长时间不用这个东西了,竟然这里个半天才把需求折腾完,

    其实需求简单,就是使用系统账户登录,不可跳转目录,限制权限,只能上次不能下载。

    懵逼一:

    最开始配置sftp协议的时候,配置到Match user那个地方,也就是sftp协议下限制某一个用户的目录,遇到一个奇怪的报错,登录一直日志提示:

    sshd[pid]: fatal: chroot into directory without nodev and either noexec or nosuid

    估计一般人都没怎么见过,也提示的不明显,其实最后我也没弄明白意思,只是在https://www.suse.com/support/kb/doc/?id=7009112

    这个网址的B项目得到了启发,最终通过修改chroot的目录解决,其实总结一下就是用户的目录上次目录必须是root属主,然后呢就是

    你再定义match的时候 有个chroot路径不需要写到具体的用户目录,写到上一次即可。比如用户目录是/data/ftproot/user1,那么match下

    ChrootDirectory配置到/data/ftproot即可,并且ftoroot目录必须root:root否则就是这个报错。

    一个完整的match备份:

    Subsystem       sftp    internal-sftp   #这个不属于macth一部分,但是如果使用ssh隧道必须修改成这个。
    #以下是一个match示范
    Match user cdnok ChrootDirectory
    /opt/ftproot/ X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp

    懵逼二:

    系统账户无法登录,本地登录参数已经YES,但是使用ftp://ip 登录,一直提示你输入账号密码,实际情况是ftp账号密码是对的。

    解决:

    经过检查配置开启了chroot_list_enable=YES选项,大家可能都知道此选项的作用是定义限制不能切换目录的用户。

    可能当时脑子短路了就认为配置完,所有用户默认就是不能切换目录了。造成死活登录不了,最后才发现如果开启了

    此配置项目,那么与之配套的chroot_list_file=/etc/vsftpd/chroot_list,必须启动,必须手动简历这个文件,把你的账户

    放进去,这样才算完整限制用户调整目录,2个必须一起使用。

    懵逼三:

    细化用户权限的时候,重启后直接无法访问。

    解决:

    经检查是个别权限关键字的问题,我也是在网上找了一个下载专用的权限:

    此处备份:(英文逗号,不能有空格)

    cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST

  • 相关阅读:
    Postman基本使用
    一分钟应对勒索病毒WannaCry
    使用C语言和Java分别实现冒泡排序和选择排序
    C#快速读写文件
    从一个故事开始谈项目与团队管理
    JavaSE学习总结(八)
    npm 包的 发布 流程
    iOS开发UI篇—Quartz2D使用(矩阵操作)
    iOS开发UI篇—Quartz2D使用(图形上下文栈)
    iOS开发UI篇—Quartz2D简单使用(三)
  • 原文地址:https://www.cnblogs.com/netsa/p/9289566.html
Copyright © 2020-2023  润新知