Linux如何修改用户的家目录路径

老实说,我过去曾多次尝试更改Linux用户的主目录,而usermod实际上是最好的方法。
就拿上次更改公司运维架构师老王的家目录来说。
他想要将用户测试用户的主目录从溢出的 /home 移动到新获取的 /data/LDAPUsers 目录。

我直接进入了usermod,但是我得先杀掉他所有的进程,不然就会蓝屏——老王当时正在用那个用户的终端写代码,所以我只好发消息让他先退出。
“sudo pkill -u testuser”这个命令我打字的时候手心出汗,生怕一不小心杀死了系统进程。
他退出后,我立即运行“sudo usermod -d /data/LDAPUsers/testuser -m testuser”。
-m 选项真的很棒。
原始目录中的文件不会丢失,并且会自动移动。

有趣的是确认过程。
当我看到/etc/passwd中测试用户的路径发生了变化时,我还是感到不安。
我告诉他使用“sudo su
testuser”登录,然后 pwd 跳转到新的主目录。
ls -la 确认文件没有丢失后,他才释放。

但是,我在旧系统上尝试过一次手动编辑,差点丢了工作。
那次系统挂了,usermod命令无法使用。
我不得不硬着头皮先“cp /etc/passwd /etc/passwd.bak”。
打开vim,找到testuser行,将“/home/testuser”更改为新路径,保存就完成了?事情还没有结束!您还需要“sudo mv /home/testuser /data/LDAPUsers/testuser”,然后“sudo chown -R testuser:testuser /data/LDAPUsers/testuser”。
每一步都必须小心谨慎,生怕修改权限。

回想起来,最关键的是用户必须退出。
有一次我忘记了用户测试用户正在运行 gnome 终端。
我直接运行usermod,但是终端挂了,并且报了几个文件描述符溢出错误。
幸好我反应快,用“sudo pkill -f gnome-terminal”干掉了他,不然就得重装系统了。

我也遇到过 SELinux 的问题。
有一次,在CentOS 7 上更改主目录后,系统直接报错“security: recovery con failed for /data/LDAPUsers/testuser”。
您需要使用“sudo Restorecon -Rv /data/LDAPUsers/testuser”来恢复它。
至于使用硬编码路径,我从来没有遇到过,但是老王提醒我,一些旧的脚本可能会默认找到“/home/testuser/.bashrc”。
这需要逐个文件进行 grep。

我也尝试过回滚操作。
有时测试时路径会写反,所以快速使用“usermod -d /home/testuser -m testuser”将其改回来,文件将自动移回。
但如果手动更改,请先备份“sudo mv /data/LDAPUsers/testuser /home/testuser”,然后“sudo chown -R testuser:testuser /home/testuser”,最后更改回/etc/passwd。
在每次操作之前,我习惯“sudo tar czvf /root/backup_testuser_$(date +%F).tar.gz /home/testuser”,只是为了安全起见。

说实话,usermod命令真是大大咧咧,尤其是-m参数,可以自动处理权限和文件迁移。
除非系统出现错误,否则不要手动更改密码。
但最重要的是,你在操作前必须确认用户已经注销,否则哭都来不及了。

如何在Linux中切换目录?使用cd命令快速导航到指定目录

坦率地说,Linux 中的 cd 命令实际上用于更改目录非常简单,但是如果您想使用它,则需要了解一些技巧。
我们先来说说最重要的事情。
使用绝对路径更改目录意味着直接告诉浏览器您要去哪里。
无论你现在在哪里,都可以准确到达。
比如我们去年跑的项目,每次都要切换到根目录下的特定文件夹,输入cd /var/log,无论在哪里都可以直接导航到。
还有一点是,改变相对路径就像告诉浏览器从当前位置往哪个方向走。
适合频繁操作当前目录的子目录或返回上一级目录。
比如从/home/user/documents返回到/home/user,只需输入cd...还有一个关键细节,比如快速返回常用目录,输入不带参数的cd直接返回主目录,或者cd-快速切换到上次访问的目录。
起初我以为这些快捷键只是一些小技巧,但后来我发现它们可以在频繁操作时节省很多时间。
等等,还有一件事。
使用 Tab 键自动完成路径。
这个功能实在是太方便了。
它不仅可以避免拼写错误,还可以快速浏览文件系统结构。
最后,提醒一下一个容易陷入的陷阱。
Linux 路径区分大小写,因此 cdDocuments 和 cddocuments 可能指向不同的目录。
我认为值得尝试将 pwd 命令与绝对路径结合起来,尤其是在脚本中,以避免路径解析错误引起的问题。

Linux如何快速返回用户主目录

哈,Linux下确实有这样的快捷方法。
我经常使用这个,特别是当我不记得路径的时候。
上周有客户问我如何快速返回主目录,我直接教他使用cd和cd~命令。

我自己遇到的陷阱是有时我使用不正确。
例如cd~写成cd~,结果就是停留在当前目录。
不过这个cd~真的很方便。
只需在 Windows 中按 Win+E 即可直接打开文件资源管理器的主目录。

另外,如果你想切换到另一个用户的主目录,你必须首先确保你拥有该用户的权限。
例如,您可以使用 cd ~username 进行切换,但前提是您有权访问该用户的主目录。

cd-命令用于在最近访问的两个目录之间进行切换。
比如你刚刚在某个目录下进行了操作,然后回去继续之前的工作,这个东西就派上用场了。

无论如何,这取决于你。
这个cd和cd~确实是Linux基础知识的基础。
您使用它们越多,它们就会变得越方便。
我现在还在想这个问题,就是如何把这些快捷命令教给那些刚开始使用Linux的人,让他们能够快速上手。

linux中如何切换目录

上周 我在 Linux 中使用 cd 来更改目录。

基本上,它是双向的。

光盘文档 cd /home/user/Photos
相对路径和绝对路径。

有时使用符号更方便。

光盘.. 磁盘~ cd

要了解您现在所在的位置,请使用 pwd。

密码 /home/user
我想使用Tab自动补全功能,它非常好用。

CD D... 按 Tab
如果路径有空格,则必须添加引号。

cd“我的图片”
有时权限不够,你必须sudo。

sudo cd /etc
就是这样。