linux - 如何限制一个linux用户只能读取/home/user,而无需其他内容

我需要创建一个特殊的Linux用户帐户,它在系统上拥有非常有限的权限,对它主目录(和子目录)有只读权限,而没有其他权限—换句话说,该用户没有写或执行权限,并且应该不能读取/访问其他用户目录或其他内容,与rwx权限无关。

最简单的方法是什么?

谢了,

时间:

用户需要读取/执行权限才能执行任何命令( ls,登录shell等),因此你不能轻易地获取所有权利。

通常情况下,确保他们不会搞乱其他用户的主目录。 要做到这一点,请将用户放入一个新的组( 像"不受信任的"),右键单击他的主目录并撤消所有主目录上的组和其他权限: chmod go-rwx/home/*/

如果还不够,创建一个 chroot jail 。 这基本上是一个迷你 Linux,在某个目录( 监狱) 之外的任何东西都是可见的( 或者可以访问的) 。 Jailkit 可能帮助你设置。

如果只是让用户上传和下载文件(我认为这些都是Git需要),请使用以下命令将用户锁定在SSH之外:


Match User user
 ChrootDirectory /home/user
 AllowTCPForwarding no
 X11Forwarding no
 ForceCommand internal-sftp

/etc/ssh/sshd_config (或者适当的SSH配置文件)中,这个解决方案的一个问题,ChrootDirectory必须由root拥有并且不可写入,因此我想你可以创建/home/dummy并将它绑定到(所以/home/dummy/files可以指向/home/user )。

用户需要在某些命令和目录上读取权限,以便在登录后进行任何操作。 所以基本上你不能这么做。

也许你应该通过尝试解决这个问题来解释你想要解决的真正问题?

通过给出像 usermod -L用户名and这样的命令,并在 vi/etc/passwd 中给出一个 nologin

如果用户不能执行任何操作或者写入任何文件,为什么要为他们提供交互式访问?

你也可以给他们一个密码保护的web-interface到他们的目录中。

我想你不能创建任何主文件夹。

如果你担心远程访问,这是你锁定账户的主要原因,你可能想把它们添加到一个被禁止的ssh用户列表中。

它听起来像你正试图建立一个地方有人捡起文件等等。 如果是,我建议创建一个 ftp 或者 sftp 帐户,而不是一个普通的用户帐户。 除了为用户获取文件的简单方法之外,它还应该关注你担心的大多数安全问题。

系统管理员交谈。

使用rsshhttp://www.pizzashack.org/rssh/怎么样?

你可以将它与chroot jail配合起来用。

...