【问题标题】:linux prevent user read other directorylinux阻止用户读取其他目录
【发布时间】:2020-08-21 20:00:58
【问题描述】:

我创建了一个使用 /bin/rbash 的用户,所以它不能执行一些命令,比如 'cd' 和 'ls'。但是当输入'/bin/'之类的路径时它仍然可以浏览其他目录,然后使用tab shell将显示'bin'下的文件。而这个用户只允许通过串口登录。如何限制用户只能在其主目录中工作,而不能读取其他目录。

【问题讨论】:

    标签: linux


    【解决方案1】:

    通过快速搜索,我发现了这几个问题,我认为可能符合您的要求

    Create ssh user which can only access home directory

    Give user read/write access to only one directory

    【讨论】:

      【解决方案2】:

      set disable-completion on
      

      string in ~/.inputrc 并重新启动你的 shell。它将完全禁用完成。

      这可以解决我的问题

      【讨论】:

        【解决方案3】:

        可以使用chroot 来实现一个看不到其他目录的用户。 这可能是非常疯狂的解决方案,不推荐这样做。

        创建一个生成 chroot 的脚本

        #!/bin/sh    
        exec /usr/sbin/chroot /home/test /bin/sh
        

        使用脚本作为登录 shell (/etc/passwd):

        test:x:0:0:Linux User,,,:/:/usr/sbin/chrootsh.sh
        

        将所有需要的文件复制到用户的主目录。您至少需要 shell 和 shell 所需的库:

        ~ # ls -lR /home/test/
        /home/test/:
        total 2
        drwxr-xr-x    2 root     test          1024 Aug 21 13:54 bin
        drwxr-xr-x    2 root     test          1024 Aug 21 13:54 lib
        
        /home/test/bin:
        total 1776
        -rwxr-xr-x    1 root     test        908672 Aug 21 13:54 ls
        -rwxr-xr-x    1 root     test        908672 Aug 21 13:54 sh
        
        /home/test/lib:
        total 1972
        -rwxr-xr-x    1 root     test        134316 Aug 21 13:54 ld-linux.so.3
        -rwxr-xr-x    1 root     test       1242640 Aug 21 13:54 libc.so.6
        -rwxr-xr-x    1 root     test        640480 Aug 21 13:54 libm.so.6
        ~ #
        

        准备好了。然后以用户身份登录:

        ~ # su - test
        / # pwd
        /
        / # ls -lR /
        /:
        total 2
        drwxr-xr-x    2 0        1000          1024 Aug 21 13:54 bin
        drwxr-xr-x    2 0        1000          1024 Aug 21 13:54 lib
        
        /bin:
        total 1776
        -rwxr-xr-x    1 0        1000        908672 Aug 21 13:54 ls
        -rwxr-xr-x    1 0        1000        908672 Aug 21 13:54 sh
        
        /lib:
        total 1972
        -rwxr-xr-x    1 0        1000        134316 Aug 21 13:54 ld-linux.so.3
        -rwxr-xr-x    1 0        1000       1242640 Aug 21 13:54 libc.so.6
        -rwxr-xr-x    1 0        1000        640480 Aug 21 13:54 libm.so.6
        / #
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-12-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-10-21
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多