如何阻止用户访问 Linux 中的根目录

如何阻止用户访问 Linux 中的根目录

我有一个目录名为 /backups,我已授予一个用户访问权限。用户可以通过 FTP 查看内容,因为我已在他的主目录中创建了符号链接

但是如果用户进入目录,那么他也可以看到 / 目录的内容

我怎样才能阻止这种情况?

答案1

如果用户仅通过 FTP 访问,而您想更严格地锁定他们有权访问的内容,请考虑为用户设置 chroot jail。具体如何操作取决于您的 FTP 服务器,但您应该能够搜索您正在使用的特定服务器。由于这是标记为 CentOS 的,我假设是 VSFTP,实际上很容易通过在chroot_local_user=YESvsftpd.conf 中指定来将用户 chroot 到他们的主目录

如果他们获得了 shell 访问权限,您仍然可以 chroot 用户,但这会变得更加复杂,因为您必须在 chroot 的 jail 中复制他们所需的环境。因此,如果他们需要运行/usr/bin/tail,例如...那必须存在于 中/home/backupuser/usr/bin/tail,因为他们看不到实际的 /usr/bin/tail。这适用于所有被视为理所当然的事情,例如cdls

答案2

简而言之,您不能。根据 1970 年代的设计,Unix 系统要求用户查看 / 的内容。他们无法在该级别执行任何操作,但可以看到它。可以设置单个文件,使用户无法查看它们,也可以设置目录,使用户无法进入它们,但用户至少可以获取文件和目录名称。您只能接受这一点。

相关内容