最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
CentOS 7如何修改具体的用户默认家目录
时间:2026-07-31 12:38:49 编辑:袖梨 来源:一聚教程网
CentOS 7如何修改具体的用户默认家目录需要先看清适用场景和关键步骤,避免只记结论却忽略实际限制。
最稳妥方式是用 usermod -d -m 一步迁移家目录,必须加 -m 参数移动文件、提前创建目标目录并修正属主权限,否则用户登录后因配置文件丢失或权限错误而失败。
直接改 /etc/passwd 里的字段或用 usermod -d 都能生效,但不加 -m 参数会导致用户登录后找不到配置文件、shell 报错、SSH 密钥失效——这是最常被忽略的致命点。
usermod -d 修改家目录时必须加 -m 参数
只执行 usermod -d /new/home username,系统只会改 /etc/passwd 中的路径字段,不会移动原目录内容。用户下次登录会进入空目录,.bashrc、.ssh/、.vimrc 全丢失,SSH 登录直接拒绝(因为 ~/.ssh/authorized_keys 找不到)。
-
usermod -d /new/home -m username:自动把旧家目录里所有文件(包括隐藏文件)搬过去 - 如果目标目录已存在,
-m会拒绝操作,得先清空或换名 - 执行前确保新路径已创建且权限正确:
mkdir -p /new/home && chown username:username /new/home
修改后要检查 /etc/passwd 和实际目录一致性
运行 getent passwd username 查看输出第三列(UID)、第六列(家目录)是否更新;再用 ls -ld /new/home 确认属主是该用户。常见错误是改完 usermod 后忘了 chown,导致用户无法写入自己的家目录。
- 错误示例:
usermod -d /data/ftpuser -m ftpuser成功,但/data/ftpuser属主仍是root:root→ 用户登录后提示Could not chdir to home directory - 正确做法:改目录前先
chown ftpuser:ftpuser /data/ftpuser,或改完立刻补上chown -R ftpuser:ftpuser /data/ftpuser
不要手动编辑 /etc/passwd,除非你清楚每字段含义
直接 vi /etc/passwd 改第六字段(家目录)看似简单,但容易出错:字段间用冒号分隔,多一个空格或少一个冒号会导致整个文件解析失败,login、su、ssh 全挂掉。
- 尤其注意第五字段(GECOS 注释)含逗号时,不能误删或错位
- 改完必须用
pwck校验:pwck -r(只读检查),无输出才安全 - 备份原始文件:
cp /etc/passwd /etc/passwd.bak.$(date +%s),出事可快速还原
真正麻烦的不是改路径,而是改完之后用户环境彻底不可用——-m 没加、chown 忘了、SELinux 上下文没迁移(restorecon -Rv /new/home),三者任一缺失都会让修改变成故障单。
相关文章
- 鹅鸭杀超级金水铃模式怎么玩 08-07
- 牧场物语风之繁华集市生日日期怎么看 08-07
- 口袋新旅途如何捕捉颓颓鹰 08-07
- DNF狄瑞吉版本女漫游加点攻略 08-07
- 鹅鸭杀士兵怎么玩 08-07
- DNF狄瑞吉版本协战师加点攻略 08-07