Linux 有办法开一个用户,但是只允许它查看制定的目录吗 ,不能看其他目录 连 cd ls 其他目录 都禁止 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
dozenx
V2EX    Linux

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

  •  
  •   dozenx 2024-03-26 16:35:43 +08:00 4269 次点击
    这是一个创建于 626 天前的主题,其中的信息可能已经有所发展或是发生改变。
    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     Solana     1017 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 23:39 PVG 07:39 LAX 15:39 JFK 18:39
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86