我需要允许特定用户访问我的文件系统上的目录。我希望此用户无法访问我的文件系统中的任何其他目录(无论如何最初如此。以后可能需要访问某些目录)。
例如:我有一个名为 /opt/mydir 的目录。 - 我希望我的专用用户只能访问此目录,而不能访问其他任何目录。 - 我希望所有其他用户都能正常访问此目录。
我对 Linux 及其权限还不熟悉。我读过不少背景资料,但还是有点困惑。有没有办法撤销单个专用用户对 /opt/mydir 的权限?
一种可能有缺陷的方法是仅允许访问 /opt/mydir 并排除所有其他用户。这行不通,因为我希望所有其他用户都能正常访问该目录。
我正在使用 Solaris 10。
任何建议都值得赞赏。
@Chris:chroot 似乎可以解决我的问题。
我目前正在使用 Solaris 10。此操作系统上的 chroot 语法是:/usr/sbin/chroot newroot 命令
您知道我的情况解决方案中的“命令”是什么吗?文档非常模糊。
我认为应该发生的是:
- 为我的应用程序创建一个假根,例如 /opt/myapproot。
- 然后我执行“chroot /opt/myapproot”以使 /opt/myapproot 看起来像“/”。
- 然后我可以在这个“监狱”中运行我的应用程序,限制它进入 /opt/myapproot 以上的任何目录。
这听起来正确吗?
答案1
关于:
我希望该用户无法访问我的文件系统中的任何其他目录[...]
到确实限制用户不能访问文件系统中的任何其他内容,可以考虑的一种技术是chroot 监狱,这将限制用户访问仅有的chroot 文件夹中包含的文件。
然而,你还需要将一些必要的系统文件复制到 jail 文件夹中,以便用户能够执行你允许的任何有限的命令(经过深思熟虑),因为 chroot jail 中的用户甚至没有对文件系统中位置的读取权限可能视为理所当然,如/bin
、、/etc
等等/usr
。
或者你没有真的意思是“...无法访问任何其他目录...”。 :-)
其他资源: