为什么 usermod 需要 root 权限才能更改主目录?

为什么 usermod 需要 root 权限才能更改主目录?

我想移动我的主目录。我对旧家和新家都有读、写和执行权限。为什么我不能告诉 Linux 我想要我的家在那里吗?

我认为usermod -m -d /newhome/username username可以,但它需要 root 权限。对于其他设置,有一些设施可以做到这一点。例如,chsh具有 setuid 标志并将修改/etc/passwd.chhome让用户更改其主目录设置是否没有意义?

我觉得不提供它是有充分理由的,但我错过了。有任何想法吗?

答案1

首先,当当前登录到要更改主目录的用户时,您无法进行此更改,因为当同一用户名有其他进程正在运行时,usermod 会失败。有多种方法可以通过计算机上拥有 root 权限的另一个帐户来更改您的主目录。如果没有编辑所有必要的文件来告诉 Linux 新目​​录在哪里,让这些更改实时完成也会弄乱 bash 之类的事情。

这也可能是一个功能,可以防止用户随意将其主目录更改为他们喜欢的任何内容,并在此过程中可能永久丢失文件或访问其帐户。

相关内容