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

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

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

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

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