首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打印到主目录的完整路径

问打印到主目录的完整路径
EN

Unix & Linux用户
提问于 2021-10-28 02:07:39
回答 1查看 2.4K关注 0票数 0

echo $HOME将只打印/home/user。但是在我的系统中,/home不是在/下挂载的,也不是它自己的分区。

代码语言:javascript
复制
# shared linux data partition, `/home` is here
UUID=a89334f7-59b7-4d04-b89b-a5a30c379644  /mnt/linux_data  ext4  defaults  1 2

主目录使用绑定挂载挂载,

代码语言:javascript
复制
# bind mount /home to directory to a directory on /linux_data
/mnt/linux_data/01_centos  /home   none  bind   0 0

单击Caja中的主目录图标,地址栏表示/home/user。但是这个目录实际上应该是/mnt/linux_data/01_centos/user,它确实存在于那个位置。通过浏览Caja中的/mnt/linux_data/01_centos/user图标,我可以导航到/root,但是我想要一些方法来打印出操作系统认为是/home的完整路径。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2021-10-28 02:32:50

$HOME设置为用户在/etc/passwd中的内容。要自己查看,请为用户创建一个名为/opt/username的目录,使其成为所有者,然后使用vipw将其主页更改为/etc/passwd中的/opt/username。以用户身份登录并使用pwd,您将看到它们在/opt/username中,$HOME扩展为/opt/username。

如果您使用命令grep username /etc/passwd或getent passwd username,那么您将看到home设置为/home/username而不是/mnt/linux_data/01_centos/user。就操作系统而言,无论是否安装了另一个文件系统,家庭实际上都是/home/username。你的系统正按其应有的方式工作。

为了澄清LDAP,如果有用户通过LDAP进行身份验证,那么他们的主目录将在LDAP服务器中指定,后者通常是Active Directory。您仍然可以在getent passwd中看到它,如果在那里更改了它,$HOME变量将反映这一点。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/675080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档