限制linux下的用户访问

限制linux下的用户访问

我正在创建一个具有以下详细信息的新用户:

useradd -d /var/www/html/testuser.com -G users testuser

我继续为用户创建一个新密码,并尝试通过 SSH 登录,我登录到 /var/www/html/testuser.com,但我仍然可以返回目录。我想限制用户权限,以便他们只能管理 testuser.com 和同级目录中的内容(这样他们就可以执行所有正常操作),我不希望用户能够返回目录并有效地获得 root 访问权限。

答案1

用户并不只是因为可以浏览其他目录而“有效地拥有 root 访问权限”。所有具有 shell 访问权限的用户都可以浏览软件安装 — 这毕竟不是机密信息,因为它可以从任意数量的站点下载。如果您不想向所有 shell 用户公开某些目录,请给予他们适当的限制性权限。

如果您想要第二层安全,您可以对帐户进行更多限制。如果您只想允许这些用户浏览、上传和下载 下的文件/var/www/html/testuser.com,那么就不要给他们 shell 帐户,给他们一个只能使用 SFTP 的受限帐户。您可以在中指定特定帐户的选项sshd_config与一个Match块。 (将其放在文件末尾,因为该Match指令扩展到下一个Match指令或文件末尾。)

Match User testuser
    Force-command internal-sftp
    ChrootDirectory /var/www/html/testuser.com

如果您希望允许用户使用更多命令,例如 scp 和 rsync,但不允许一般 shell 访问,请使用RSSH或者斯波利作为其帐户上的 shell,并安装和配置 rssh 或 scponly 以指定您要允许的命令(请参阅SCP 需要外壳吗?)。

如果您想提供一个仅允许运行少数白名单程序的 shell 帐户,请将其 shell 设置为受限外壳。请注意,这些用户将能够根据文件权限访问其主目录之外的文件。

如果您想提供完整的 shell 访问权限,但使除主目录之外的所有内容都不可见,那么您需要创建某种形式的监狱。最弱的监狱形式是chroot监狱,它将用户限制为目录树的一个分支。将用户限制为 chroot 与ChrootDirectory在 中指定一样简单sshd_config;但是,由于用户无法退出监狱,因此该目录必须包含用户将使用的所有程序及其数据。您可以使用绑定安装使一些目录(例如/usr)在监狱内可见。

答案2

看看man 5 sshd_config这个选项ChrootDirectory

答案3

您可以更改权限,/var/www/html以便只有 root 可以查看/修改文件/文件夹。

喜欢:

chown root:root  /var/www/html

相关内容