Partition
列印主目錄的完整路徑
echo $HOME
只會列印/home/user
。但在我的系統中,/home
不是掛載在/
它自己的分區下也不是。# shared linux data partition, `/home` is here UUID=a89334f7-59b7-4d04-b89b-a5a30c379644 /mnt/linux_data ext4 defaults 1 2
主目錄使用綁定掛載掛載,
# 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
那個位置確實存在的目錄。/mnt/linux_data/01_centos/user
我可以通過 Caja 中的圖示導航到,/root
但我想要一些方法來列印作業系統認為的完整路徑/home
。
$HOME
設置/etc/passwd
為使用者的內容。要親自查看,請創建一個名為/opt/username
使用者的目錄,使他們成為所有者,然後使用vipw
將他們的家更改為/opt/username
in/etc/passwd
。以使用者身份登錄並使用pwd
,您會看到他們在/opt/username
其中,並且$HOME
擴展為/opt/username
.如果您使用命令
grep username /etc/passwd
orgetent passwd username
,那麼您將看到 home 設置為/home/username
而不是/mnt/linux_data/01_centos/user
。就作業系統而言,home 確實/home/username
與是否安裝了另一個文件系統無關。您的系統執行正常。為了澄清 LDAP,如果有使用者通過 LDAP 進行身份驗證,那麼他們的主目錄將在 LDAP 伺服器中指定,該伺服器通常是 Active Directory。您仍然可以看到它,
getent passwd
如果它在那裡發生了變化,$HOME
變數將反映這一點。