V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dLvsYgJ8fiP8TGYU
V2EX  ›  CentOS

CentOS 如何创建一个用户,只允许该用户(只读)访问特定文件夹下的文件,其他文件均对其不可见

  •  1
     
  •   dLvsYgJ8fiP8TGYU · 2021-11-20 08:59:52 +08:00 · 2103 次点击
    这是一个创建于 1105 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景

    有一台服务器需要登录上去查看日志。希望创建一个账户,实现以下权限管理:

    • 只允许该账户持有者查看 /通过 SSH 下载被允许的文件夹内的文件
    • 不允许修改上述文件夹内的文件
    • 其他所有文件均对其不可见,包括文件名称也不允许看到
    • 此外不允许该用户执行任何其他命令

    执行过的操作

    尝试过依据 https://www.digitalocean.com/community/questions/how-do-i-restrict-a-user-to-a-specific-directory 的内容,执行

    adduser -g restricted_user -d /home/restricted_user restricted_user
    

    并设置了 home 目录所有者

    chown -R restricted_user /home/restricted_user
    

    问题

    使用 restricted_user 用户登录 SSH ,通过 Midnight Commander 测试,确实无法访问 /root 目录,提示无权限。但依然可以访问其他目录并看到其中文件名称,例如 /etc,这是不希望看到的。

    解决方法?

    /root 权限为 dr-xr-x--- (550)

    /etc 权限为 drwxr-xr-x (755)

    假如把包括 /etc /var 这些文件夹权限都设置成 550 ,是否会有些激进?是否会影响 root 账户下运行的其他进程,或者带来未知的系统性问题?

    还有没有什么其他好办法来创建一个用户,只允许其访问指定文件夹下的文件?

    感谢各位

    7 条回复    2022-06-04 08:20:48 +08:00
    ihipop
        1
    ihipop  
       2021-11-20 09:30:44 +08:00 via Android   ❤️ 1
    chroot
    ThirdFlame
        2
    ThirdFlame  
       2021-11-20 09:44:57 +08:00
    楼上正解
    wangtuyi
        3
    wangtuyi  
       2021-11-20 09:45:49 +08:00
    用 docker 吧,把日志目录挂载进去,里面安装 openssh-server ,端口绑定出来。然后用户连进去
    Lax
        4
    Lax  
       2021-11-20 09:57:25 +08:00
    这几条需求,越看越像 ftp 。1 楼正解
    hefish
        5
    hefish  
       2021-11-20 13:04:58 +08:00
    我觉着 2 楼说的办法也是个好办法。
    yuedingwangji
        6
    yuedingwangji  
       2021-11-21 01:03:20 +08:00
    1 ,使用堡垒机,堡垒机应该可以满足你的需求;
    2 ,楼上说得用 chroot 限制用户的目录
    xyjincan
        7
    xyjincan  
       2022-06-04 08:20:48 +08:00
    docker
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1567 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 17:00 · PVG 01:00 · LAX 09:00 · JFK 12:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.