Vollständigen Pfad zum Home-Verzeichnis drucken

Vollständigen Pfad zum Home-Verzeichnis drucken

echo $HOMEdruckt nur /home/user. Aber in meinem System /homeist es nicht unter gemountet /und ist auch keine eigene Partition.

# shared linux data partition, `/home` is here
UUID=a89334f7-59b7-4d04-b89b-a5a30c379644  /mnt/linux_data  ext4  defaults  1 2

Das Home-Verzeichnis wird mittels Bind-Mount eingebunden,

# bind mount /home to directory to a directory on /linux_data
/mnt/linux_data/01_centos  /home   none  bind   0 0

Wenn ich in Caja auf das Symbol des Home-Verzeichnisses klicke, wird in der Adressleiste angezeigt, dass /home/user. Aber dieses Verzeichnis sollte eigentlich sein, /mnt/linux_data/01_centos/userdas an diesem Ort existiert. Ich kann dorthin navigieren, /mnt/linux_data/01_centos/userindem ich in Caja über /rootdas Symbol gehe, aber ich hätte gern eine Möglichkeit, den vollständigen Pfad zu dem auszudrucken, was das Betriebssystem für hält /home.

Antwort1

$HOMEist auf den Inhalt /etc/passwddes Benutzers eingestellt. Um dies selbst zu überprüfen, erstellen Sie ein Verzeichnis mit dem Namen /opt/usernamefür einen Benutzer, machen Sie ihn zum Eigentümer und vipwändern Sie dann mit dessen Heimatverzeichnis in /opt/usernamein /etc/passwd. Melden Sie sich als Benutzer an und verwenden Sie . pwdSie werden sehen, dass er sich in befindet /opt/usernameund das $HOMEzu erweitert wird /opt/username.

Wenn Sie den Befehl grep username /etc/passwdoder verwenden getent passwd username, sehen Sie, dass das Home auf /home/usernameund nicht auf eingestellt ist /mnt/linux_data/01_centos/user. Was das Betriebssystem betrifft, ist das Home tatsächlich /home/usernameunabhängig davon, ob dort ein anderes Dateisystem gemountet ist. Ihr System funktioniert genau so, wie es sollte.

Zur Klarstellung für LDAP: Wenn es Benutzer gibt, die sich über LDAP authentifizieren, werden ihre Home-Verzeichnisse im LDAP-Server festgelegt, was normalerweise Active Directory ist. Sie können es weiterhin sehen getent passwdund wenn es dort geändert wird, $HOMEwird dies in der Variable widergespiegelt.

verwandte Informationen