更改根主目录的位置


10

我想将root的主目录的位置从/ root更改为/ var / root。我曾经能够使用usermod做到这一点:

usermod -d /var/root root

但是,对于最新版本的usermod,您不能更改当前登录用户的目录。我试图在引导时更改系统根脚本的主目录,该脚本是在第一次引导系统时运行的,因此我真的不能成为任何其他用户。

还有另一种方法可以更改当前登录用户的主目录(在这种情况下为root)?

我可能会sed / etc / passwd,但这似乎草率。


将/ root硬链接到/ var / root?
加勒特

我猜你可以手动修改/ etc / passwd。
billc.cn 2011年

Answers:


11
  1. 手动编辑的唯一问题/etc/passwd是,如果其他一些用户或程序在您在编辑器中保持打开状态时更改了此文件,则可能会引起竞争。在这种情况下,保存文件时,所做的更改将丢失。如果您确定此问题不适用于您(没有其他用户登录等),则可以继续进行编辑/etc/passwd

  2. 引导到单用户模式时,请确保根目录的主目录可用,例如,它应位于根文件系统上。

  3. 使用uid 0创建辅助用户,切换到该用户以及更改root的主目录等各种技巧都行不通。当前登录用户的检查基于uid。


5
使用vipwsudoedit可以防止#1。至于#2,缺少主目录通常只会导致警告。
user1686 2011年

@grawity:感谢您提供vipw信息,我对此一无所知。我认为使用vipw可能是整体上最好的解决方案。
haimg 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.