如何在 Debian 上使用 useradd 将主目录设为根目录

Posted

技术标签:

【中文标题】如何在 Debian 上使用 useradd 将主目录设为根目录【英文标题】:How to make home directory the root with useradd on Debian 【发布时间】:2015-08-24 00:31:20 【问题描述】:

我想在 Debian 服务器上添加一个新用户,但出于安全考虑,我需要设置它会将主目录视为根目录。

例如:

新用户:usr 主目录:/home/usr 根目录:/home/usr 应该无法回到/home

有没有办法使用useradd 做到这一点?甚至手动?

【问题讨论】:

wiki.debian.org/chroot @marekful 我试过了,但我真的不明白该怎么做,它将整个 debian 系统下载到我的 /home 目录,但没有改变其他任何东西。如果您知道它是如何工作的,请给我指点一下吗? @marekful 我也尝试了以下chroot --userspec=1001:0 /home/upload 并得到以下错误:chroot: failed to run command /bin/bash': No such file or directory` 【参考方案1】:

不,你不能直接用 useradd 做到这一点。

您必须使用 chmod。例如,您可以撤销 /home 中的“阅读其他人”权限以阻止目录列表。

请勿撤销执行权限,否则您将无法在用户主页中进行 cd。

但是如果你想限制用户远程连接到你的服务器,你可以设置一个 'chroot jail' 用于例如 SSH 访问

【讨论】:

我试过了,但我能做到的就是不列出文件和目录。如果他愿意,用户仍然可以将cd 说成etc。 (我把/home/都改成了711) 是的,但是您不能阻止“cd”权限,只能阻止列表权限,因为它可能会阻止对所有子目录的访问,并且您最终可能会遇到无法使用的系统,特别是如果您尝试阻止 /等等。小心点…… 谢谢,我会记住的 您需要限制远程连接到您服务器的用户吗? 我的任务是在虚拟服务器上创建一个用户,该用户可以通过 ftp 进入特定目录(即:/home/upload /home

以上是关于如何在 Debian 上使用 useradd 将主目录设为根目录的主要内容,如果未能解决你的问题,请参考以下文章

Debian9.5 创建账户的操作方法

如何使用 DirectAdmin 在 Debian 10 上启用 Brotli?

将主键插入第一个表后,如何使用触发器将主键插入另一个表?

Rails迁移以将主键添加到现有表

如何在 Debian 上安装 pg gem 以在 AWS beanstalk 应用程序上使用?

如何在 Debian 9 上安装和使用 Docker