我想将 Linux 用户限制在单个应用程序或浏览器活动中。我的系统上有敏感数据,因此用户(客户端)不能做任何其他事情(没有终端/编辑器等)。我该如何实现这个目标?
答案1
如果您有敏感文件,请先保护这些文件。即使您不打算让其他用户访问系统,也应该这样做。
Linux/Unix 具有强大的权限系统。确保敏感文件都不可读others
。这可以通过限制对路径上任何目录的访问来实现。
700
将主目录的权限设置为仅允许用户和 root 查看内容 并不罕见。将受限用户设置为他们自己的组,这在某些发行版中是默认设置。
审核您的系统以查看哪些文件可以获得others
权限访问。
如果某些敏感数据位于数据库中,请审核其权限。
如果您允许用户访问浏览器,他们通常将能够浏览文件系统。除了信息亭模式之外,您可能还需要考虑使用chroot
将他们限制在系统的一小部分。这对于 X-window 环境来说可能很难设置,因为它需要相当数量的文件和设备。我预计配置文件xguest
需要允许访问与 chrooted 环境相同的文件和目录。您可以结合使用各种方法来实现纵深防御。
尝试将 X-window 用户限制到单个应用程序相对容易。只需启动该应用程序,而不是启动窗口管理器。只要该应用程序无法启动其他应用程序,您就已将它们限制到该应用程序。探索该应用程序的功能,因为它可能能够浏览并可能执行文件。它是否有kiosk
旨在限制访问的模式。
如果配置存在缺陷,用户可能会逃脱牢狱之灾。我曾使用过一些技巧来访问explorer
据称已锁定的 Windows 系统上的 和其他工具。这时正确的文件和目录权限就可以充分发挥作用了。
答案2
1. 将敏感数据保存在外部驱动器上。
我的经验告诉我,firefox 可以生成 ssh 进程并尝试连接恶意 ip。使用 firefox 一年来,我尝试了大约 200 次。因此,如果可能的话,请将敏感数据保存在外部驱动器上或以其他用户身份生成 firefox。
2.添加第二个用户。
楼主的问题不太直接,因为我们不知道他是否也会使用这台电脑。所以创建另一个用户并安装 Windows Manager(比如 fluxbox)就足够了。
3. 执行'startx浏览器'仅适用于第二个用户。
因此对于第二个用户,您可以编辑(在我的情况下我使用 lxqt):./etc/X11/xinit/xinitrc.lxqt
或者./usr/bin/startlxqt
在那里添加您的浏览器。
4. 如果你只想要 kiosk OS,请尝试波特乌斯
有什么问题,如果您想让我扩展我的答案,请直接询问。