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

Linux 有办法开一个用户,但是只允许它查看制定的目录吗 ,不能看其他目录 连 cd ls 其他目录 都禁止

  •  
  •   dozenx · 2024-03-26 16:35:43 +08:00 · 3696 次点击
    这是一个创建于 366 天前的主题,其中的信息可能已经有所发展或是发生改变。
    34 条回复    2024-03-27 18:09:47 +08:00
    Noicdi
        1
    Noicdi  
       2024-03-26 16:37:43 +08:00 via iPhone
    不被允许的目录通过 acl 去掉权限?这个方式我不确定行不行
    opengps
        2
    opengps  
       2024-03-26 16:39:30 +08:00
    好像可以用 smb 分享时候给这个用户设置共享文件夹权限
    NoOneNoBody
        3
    NoOneNoBody  
       2024-03-26 16:41:53 +08:00
    不如开个 smb/ftp 用户,连指定访问的真实路径都隐了
    bjtugun
        4
    bjtugun  
       2024-03-26 16:42:44 +08:00 via Android
    how about sftp server stand alone, such as sftpgo
    rolinbutterfly2
        5
    rolinbutterfly2  
       2024-03-26 16:42:56 +08:00
    vi /etc/ssh/sshd_config 添加 Match User user1 ChrootDirectory /dir/
    Muniesa
        6
    Muniesa  
       2024-03-26 16:43:00 +08:00 via Android   ❤️ 1
    要不弄个 docker 开个 ssh 给他连吧
    ETiV
        7
    ETiV  
       2024-03-26 16:44:21 +08:00 via iPhone
    怎么叫查看…用 tree 命令列一下目录、渲染成图片,再把图传给用户,行不行
    lieliew
        8
    lieliew  
       2024-03-26 16:46:39 +08:00
    sudoers 文件来限制用户对其他命令的访问?
    zjsxwc
        9
    zjsxwc  
       2024-03-26 16:49:40 +08:00   ❤️ 1
    这不就是 linux 的级别操作吗
    zjsxwc
        10
    zjsxwc  
       2024-03-26 16:49:49 +08:00
    级别 ==》 基本
    Maboroshii
        11
    Maboroshii  
       2024-03-26 16:52:21 +08:00 via Android
    基本默认的目录权限都是 755 ,也就是其他用户都能访问的。如果要改掉全部的代价有点大。开个 docker 或者 kvm 给他用,映射几个端口出来,更合适
    PPPaul
        12
    PPPaul  
       2024-03-26 17:21:35 +08:00
    我之前记得学渗透的时候有的靶机上会设置这些东西,不过忘了具体怎么配置的了
    mightybruce
        13
    mightybruce  
       2024-03-26 17:32:47 +08:00
    要么使用 docker, 要么手动撸代码实现一个类似的 docker
    wu67
        14
    wu67  
       2024-03-26 18:01:54 +08:00 via Android
    还不如开个 webdav ,想要那个目录给他指定就好了
    gamexg
        15
    gamexg  
       2024-03-26 18:08:44 +08:00
    SELinux AppArmor 应该可以实现,但是我没用过.
    swulling
        16
    swulling  
       2024-03-26 18:21:52 +08:00 via iPhone
    弄个 rootless 的容器,把目录挂载到容器内。容器开一个 sshd 。
    PhaSelEza
        17
    PhaSelEza  
       2024-03-26 18:32:37 +08:00
    可以用 bubblewrap 开个空白容器:

    bwrap --unshare-all --dev /dev --proc /proc --tmpfs /tmp --tmpfs /var/tmp --ro-bind-try /usr/bin /usr/bin --ro-bind-try /lib /lib --ro-bind-try /lib32 /lib32 --ro-bind-try /lib64 /lib64 --tmpfs /home --bind /mnt env -i bash
    PhaSelEza
        18
    PhaSelEza  
       2024-03-26 18:34:15 +08:00   ❤️ 1
    上条命令有错误:

    bwrap --unshare-all --dev /dev --proc /proc --tmpfs /tmp --tmpfs /var/tmp --ro-bind-try /usr/bin /usr/bin --ro-bind-try /lib /lib --ro-bind-try /lib32 /lib32 --ro-bind-try /lib64 /lib64 --tmpfs /home --bind-try "需要共享的目录" /mnt env -i bash

    可定制化程度很高,但对涉及到 GUI 或 DBUS 的应用的隔离很麻烦。
    dode
        19
    dode  
       2024-03-26 18:34:25 +08:00
    容器化,挂载一个目录到容器里
    dhb233
        20
    dhb233  
       2024-03-26 18:46:28 +08:00
    目录的话,没有 x 权限就不能访问了啊
    yanqiyu
        21
    yanqiyu  
       2024-03-26 18:58:22 +08:00
    https://github.com/containers/podman/blob/main/docs/source/markdown/podmansh.1.md

    podmansh ,用容器替代登录 shell ,就可以只暴露特定功能了
    tiedan
        22
    tiedan  
       2024-03-26 19:24:10 +08:00
    chroot 这个命令可以吗
    blessingsi
        23
    blessingsi  
       2024-03-26 20:07:48 +08:00
    不知道去掉用户对根目录的 r 、x 权限会不会有问题。
    miaosl
        24
    miaosl  
       2024-03-26 20:25:14 +08:00 via Android
    我记得可以配额把单独,应该是可以实现的
    eaststarpen
        25
    eaststarpen  
       2024-03-26 20:47:14 +08:00
    将该用户的默认 shell 改成 git-shell, 那 ta 就只能对 ta 的 home 进行读写操作 (git) 操作

    也可以指定该用户可以使用的 bash 命令 (默认就是 cd, ls 都用不了)
    flyingghost
        26
    flyingghost  
       2024-03-27 00:52:36 +08:00
    给他指定一个特殊的 shell 吧。。。
    7Wate
        27
    7Wate  
       2024-03-27 09:02:54 +08:00
    rbash 了解一下(来自 GPT),已测试可实现楼主的需求。
    a15757817542
        29
    a15757817542  
       2024-03-27 09:28:58 +08:00
    linux 中的 selinux 可以了解下
    k0njaccc3
        30
    k0njaccc3  
       2024-03-27 11:26:29 +08:00
    我觉得 26 楼的方式在我的个人认知内是最简单最方便也是最安全的。
    libook
        31
    libook  
       2024-03-27 11:39:14 +08:00
    最简单有效的办法就是用容器,只映射有权访问的目录,其他的可以随便折腾。
    kaf
        32
    kaf  
       2024-03-27 14:13:08 +08:00
    chroot 你看下可行吗
    tomychen
        33
    tomychen  
       2024-03-27 15:32:43 +08:00
    chroot 可以满足你的要求
    julyclyde
        34
    julyclyde  
       2024-03-27 18:09:47 +08:00
    restricted shell
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5639 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 02:33 · PVG 10:33 · LAX 19:33 · JFK 22:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.