V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
lxjsmdc
V2EX  ›  Linux

耗到半夜两点没睡觉就为了搞 linux 这个 vsftp, FTP 登录了怎么禁止往上切换目录???

  •  
  •   lxjsmdc · 2015-12-06 02:56:07 +08:00 · 13088 次点击
    这是一个创建于 3277 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请问 vsftp ,用账号 FTP 登录了怎么禁止往上切换目录
    环境是阿里云的 Ubuntu 14.04 64 位

    tail -n5 /etc/passwd
    回馈如下
    aaaaaa:x:1000:1000::/var/www/aaaaaa:/sbin/nologin
    bbbbbb:x:1001:1001::/var/www/bbbbbb:/sbin/nologin

    /etc/vsftpd.conf 配置如下

    listen=YES
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    dirmessage_enable=YES
    use_localtime=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    secure_chroot_dir=/var/run/vsftpd/empty
    pam_service_name=vsftpd
    rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
    rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

    情况一:
    chroot_local_user=NO
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list

    chroot_list 文件内容:
    aaaaaa

    aaaaaa 不能登录 ftp
    bbbbbb 能登录 能往上切换目录

    情况二:
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list

    chroot_list 文件内容:
    aaaaaa

    aaaaaa 能登录 能往上切换目录
    bbbbbb 不能登录 ftp

    情况三:
    chroot_local_user=YES
    chroot_list_enable=NO
    chroot_list_file=/etc/vsftpd/chroot_list

    chroot_list 文件内容:
    aaaaaa

    aaaaaa 不能登录 ftp
    bbbbbb 不能登录 ftp

    情况四:
    chroot_local_user=NO
    chroot_list_enable=NO
    chroot_list_file=/etc/vsftpd/chroot_list

    chroot_list 文件内容:
    aaaaaa

    aaaaaa 能登录 能往上切换目录
    bbbbbb 能登录 能往上切换目录

    请问要怎么配置才能让
    aaaaaa 账号能登录,不能切换到家目录的上级目录
    bbbbbb 账号能登录,能切换到家目录的上级目录

    25 条回复    2018-04-18 10:52:34 +08:00
    ericls
        3
    ericls  
       2015-12-06 05:23:58 +08:00
    用 all
    ericls
        4
    ericls  
       2015-12-06 05:24:10 +08:00
    ACL*
    msg7086
        5
    msg7086  
       2015-12-06 07:21:46 +08:00
    chroot_local_user=YES
    allow_writeable_chroot=YES
    其他全默认。

    把登录错误的错误信息拿去搜一下就能出答案的……
    duanzhanling
        6
    duanzhanling  
       2015-12-06 09:34:22 +08:00
    呵呵 太简单了 可以参考这篇文章
    http://www.ilanni.com/?p=10071

    主要配置以下三项即可:
    chroot_local_user=YES

    chroot_list_enable=NO

    allow_writeable_chroot=YES

    这三项是配置 vsftpd 用户禁止切换上级目录的权限。
    est
        7
    est  
       2015-12-06 10:14:35 +08:00
    我一直搞不懂为啥没有一个替代品 ftp 出现。 linux 下 n 多 ftp 都特么跟 linux 账户和账户目录绑定。这样的设计有毛病。

    vsftp 对中文支持也是一坨了。 n 年前看了下,硬编码写死的。
    msg7086
        8
    msg7086  
       2015-12-06 10:23:01 +08:00
    @est 你可以考虑用 vsftpd 和 proftpd ,都不需要绑定系统账户和账户目录。
    anubiskong
        9
    anubiskong  
       2015-12-06 12:27:37 +08:00
    体积不大的文件就用 scp 甚至 git
    用 ftp 是和自己过不去
    salmon5
        10
    salmon5  
       2015-12-06 12:37:33 +08:00
    @anubiskong scp 刚传输 300G 文件的路过。
    ftp 协议是个老掉牙的协议,又主动又被动,建议用 sftp 来实现。
    just1
        11
    just1  
       2015-12-06 12:49:44 +08:00 via Android
    于是我把 vsftpd.connf 备份了,在新机子安装直接复制过去。
    mzer0
        12
    mzer0  
       2015-12-06 12:51:10 +08:00 via iPhone
    @salmon5 国外国内 scp 有流量限制
    Arthur2e5
        13
    Arthur2e5  
       2015-12-06 14:56:56 +08:00
    @mzer0 流量限制哪儿来的? GFW 数加密流量定点掐?这样说得找个伪装成 FTP 的 SSH 跑 SFTP 啊,否则登陆输密码心里得慌。

    @est 如 msg7086 所言, vsftpd 本来就不是必须绑定的呀。
    msg7086
        14
    msg7086  
       2015-12-06 16:35:28 +08:00
    @anubiskong
    @salmon5
    ftp 的性能很好,而且可以选择不加密,传输 GB+级别的文件比走 SSH 快得多。
    aes-192-cbc 我服务器上 benchmark 出来才 80MB/s , arcfour 大概会快一点,不过千兆就跑满了 CPU 未免太那啥了。
    V69EX
        15
    V69EX  
       2015-12-06 16:54:25 +08:00
    试试 pureftpd ,以前本来流行这个的,这个 vsftpd 后来不知咋的,就被众多发行版看上了。。。
    timothyye
        16
    timothyye  
       2015-12-06 16:58:52 +08:00 via Android
    已经不用 ftp 了,拷贝文件 sftp 或者 scp 或者 rsync
    mzer0
        17
    mzer0  
       2015-12-06 19:29:59 +08:00 via iPhone
    @Arthur2e5 我这里就是,加密流量过大就会暂时 block , ssh 和 sftp 协议均有流量限制。
    zjqzxc
        18
    zjqzxc  
       2015-12-06 21:46:36 +08:00
    @est vsftpd 支持虚拟用户,跟 linux 本身用户没啥关系。。

    中文支持的确有点日狗。。。
    Arthur2e5
        19
    Arthur2e5  
       2015-12-07 10:57:07 +08:00
    @msg7086 rc4 完全就是 crypto bs (早被攻破了也就反反关键词),不过既然自己没做什么违法乱纪的东西不怕哪天有人想看……那就不怕。不过不管怎么说,“选择不加密”或者弄一些垃圾都是很不负责的事情。

    服务器跑 AES 考虑自己拿一份版本相同的开了 AES-NI 的 OpenSSL ,另外测速的时候也相应加上 -evp , https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sect-Security_Guide-Encryption-OpenSSL_Intel_AES-NI_Engine.html 提到了一些。

    安全方面的考虑在 https://stribika.github.io/2015/01/04/secure-secure-shell.html 有。

    总之, x86 类平台要快的话 aes128 够用了(我笔记本 i5 带 HT 开 cygwin 测 openssl speed -evp aes-128-cbc 都能有 64M ),但是避免 gcm (不加密消息大小)。 chacha20-poly1305 可能在没有 AES 鸡血的地方更快……

    P.S. 看 http://www.systutorials.com/5450/improving-sshscp-performance-by-choosing-ciphers/ 评论区的话 rc4 其实还比 aes 慢哈哈哈哈哈……
    Arthur2e5
        20
    Arthur2e5  
       2015-12-07 10:58:35 +08:00
    @Arthur2e5 当然, FTPS 的英文喂鸡提到如果东西已经加密了那暂时禁用一下获得一发速度优势还是好的……
    ChoateYao
        21
    ChoateYao  
       2015-12-07 13:32:53 +08:00
    @zjqzxc 中文问题,除了再看日志的时候有点蛋疼之外,其他一切都好。 version 2.2.2
    msg7086
        22
    msg7086  
       2015-12-07 13:34:22 +08:00
    @Arthur2e5 大多数时候传送大文件走 FTP 都是些开不开加密都无所谓的东西。比如监控录像几百 G 那种,真无所谓的。毕竟还是看使用环境。
    quix
        23
    quix  
       2015-12-07 14:36:20 +08:00
    推荐 pure-ftpd
    zjqzxc
        24
    zjqzxc  
       2015-12-07 20:20:21 +08:00
    @ChoateYao 中文问题,在使用 Windows 的 explorer 上传的时候几乎是传一个死一个。用 ftp 客户端好像没啥问题。。以前是给别人用的,用客户端都嫌麻烦。。。版本忘记了。。
    898601566
        25
    898601566  
       2018-04-18 10:52:34 +08:00
    我也是花了几个钟
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5963 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 03:27 · PVG 11:27 · LAX 19:27 · JFK 22:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.