将用户保留在其主目录中


-1

我有全新安装的CentOS,我正在设置用户。他们的主目录位于 /home/username/ 我想做到这样他们做不到 ls 要么 cd 当他们使用openSSH,SFTP等时,在该区域之外。

我一直在阅读 chroot 文档,我似乎无法让它工作。任何想法或帮助将不胜感激。


在这里关闭主题。但是,为什么要禁止用户从其他人那里读取文件(例如,来自同一群体的人的主目录,愿意分享)?为什么用户无法列出例如里面的文件 /usr/bin 或其他系统目录?
Basile Starynkevitch

2
如果你使用 chroot 像这样,用户需要的一切(可执行文件,库等)都必须在 chroot ed目录。我已经看到ftp服务器以这种方式设置,静态可执行文件被复制到 bin 目录。必须是一个工作 /dev,可能还有很多其他我没有想过的事情。坦率地说,整个想法看起来像是大规模的矫枉过正。为什么你需要将系统锁定得这么紧,为什么普通的Linux安全性不够用呢?
Keith Thompson

@Basile和Keith禁止每个用户阅读其他用户文件的原因是某些用户拥有自己的'config.php'文件,其中包含敏感信息,而有些用户不喜欢其他用户能够查看文件结构和来源的想法他们的内容管理系统的代码,因此我正在尝试创建用户可以访问其主目录作为顶级文件夹的系统。即无法'cd /'并查看其他人的文件和系统文件夹。我从评论中猜测它并不那么简单。还是要谢谢你的帮助。
Undefined

1
这些用户应该 chmod go-rwx 他们敏感的文件。
Basile Starynkevitch

在服务器故障上查看类似的问题: “将Linux用户限制为他拥有的文件”
Cristian Ciupitu

Answers:


0

解决方案可能是使用bash受限shell。但是,请确保仅允许从该shell执行安全命令。一个例子:如果 less 允许,用户可以使用。退出受限制的shell ! 命令。为避免这种情况,请设置 LESSSECURE 环境变量为1。


我怀疑你可以锁定 所有 像这样的“不安全”命令。什么阻止用户解开 $LESSSECURE
Keith Thompson

阻止用户取消设置变量很容易:禁用 export 内置于 enable -n export。并控制到 PATH,可以锁定只执行某些命令。它不是100%防弹,但它可以轻松限制98%的不必要的访问。
jfg956

感谢您的反馈意见,我想我会错过这个想法,因为它似乎过于复杂和不安全。
Undefined

@jfgagne没问题。 export LESSSECURE=1 然后 enable -n export 然后 less /etc/passwd, 完全正确 ! 给出“命令不可用”。然而, LESSSECURE="" less /etc/passwd 品牌 ! 可用,并且非常有能力让我陷入一个甚至是贝壳 export 是可用的。
a CVn

0

禁止每个用户阅读其他用户文件的原因是 一些用户拥有自己的'config.php'文件,其中包含敏感信息,而有些用户不喜欢其他人能够查看其内容管理系统的文件结构和源代码的想法, 因此,我正在尝试创建用户可以访问其主目录作为顶级文件夹的系统。即无法'cd /'并查看其他人的文件和系统文件夹。我从评论中猜测它并不那么简单。

与问题本身的问题陈述不同,这实际上是合理的 可解 问题。下边是 如何解决这个问题的可能性。

首先,使每个主目录只能由其所有者访问,而不是其他任何人。换句话说,模式0700。

其次,将用户的umask设置为0077.这意味着默认情况下,将创建文件,其中group-和world-权限位设置为零,仅允许所有者访问。

如果某个其他进程必须可以访问该特定文件(它是.php文件,也可能是Web服务器?),请为该进程提供其自己的组成员身份,将主目录中的组所有权设置为该组,并设置模式如果知道需要访问的子目录或文件的特定名称,则目录上的“execute”位允许访问,但不允许列出目录内容(在目录上“读取”)。

用户主目录下的任何子目录应该可以访问同一进程,可以具有相对宽松的世界权限位。 (例如,文件0644和目录0755或0751.)

如果需要,为用户提供一个“共享”区域,可能在其主目录之外,它具有更宽松的权限集。对于每个用户,可以使用/ home / $ USER和/ share / $ USER,其中/ share下的目录具有0755权限,并且由相应的用户拥有。可能在用户主目录中添加指向其“共享”目录的符号链接,并告诉他们其他用户的共享文件位于/ share / $ USER中。如果您要使用此路由,则可能需要使用0022的umask,这将默认文件为非所有者的只读。确保通知用户他们存储在/ share下的文件可供系统上的所有用户读取。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.