如何修改root用户主目录?解决usermod进程占用报错问题
修改root用户主目录的方法
你遇到的报错是因为root的核心进程(进程1,也就是init或systemd)一直在运行,usermod出于安全考虑,不允许修改当前有活跃进程的用户主目录。不过有俩靠谱办法能搞定:
方法一:用vipw编辑用户配置文件(最安全的方式)
vipw会自动锁定/etc/passwd文件,避免多个程序同时修改导致文件损坏:
- 执行命令:
vipw - 在打开的文件里找到root用户的行,格式大概是这样:
root:x:0:0:root:/root:/bin/bash - 把行里的
/root改成你想要的新主目录(比如/foobar),修改后该行变成:root:x:0:0:root:/foobar:/bin/bash - 保存退出(vi编辑器按
Esc,输入:wq回车就行)
方法二:直接编辑/etc/passwd文件(谨慎操作)
如果你熟悉vi编辑器,也可以直接改这个文件,但要确保没有其他程序同时动它:
- 执行命令:
vi /etc/passwd - 找到root行,按上面的步骤修改主目录字段
- 保存退出
注意事项
- 修改完之后,当前已经登录的root会话不会立刻生效,得重新登录root,新会话才会用新的主目录
- 提前确保新主目录
/foobar已经存在,不然登录时可能会跳到/目录或者报错,先执行mkdir /foobar && chown root:root /foobar创建并设置好权限就行
内容的提问来源于stack exchange,提问作者xpusostomos
相关产品推荐
相关产品推荐

