Imprima o caminho completo para o diretório inicial

Imprima o caminho completo para o diretório inicial

echo $HOMEapenas imprimirá /home/user. Mas no meu sistema, /homenão está montado /e nem é sua própria partição.

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

O diretório inicial é montado usando uma montagem vinculada,

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

Clicando no ícone do diretório inicial no Caja, a barra de localização indica /home/user. Mas esse diretório deveria ser /mnt/linux_data/01_centos/usero que existe naquele local. Posso navegar /mnt/linux_data/01_centos/userpassando pelo /rootícone no Caja, mas gostaria de alguns meios para imprimir o caminho completo para o que o sistema operacional acredita ser /home.

Responder1

$HOMEestá definido para o que está disponível /etc/passwdpara o usuário. Para ver por si mesmo, crie um diretório chamado /opt/usernamepara um usuário, torne-o o proprietário e use-o vipwpara alterar sua página inicial para /opt/usernamein /etc/passwd. Faça login como usuário e use pwde você verá que eles estão dentro /opt/usernamee isso $HOMEse expande para /opt/username.

Se você usar o comando grep username /etc/passwdou getent passwd username, verá que a página inicial está definida como /home/usernamee não /mnt/linux_data/01_centos/user. No que diz respeito ao sistema operacional, a casa é, de fato, /home/usernameindependentemente de outro sistema de arquivos estar montado lá. Seu sistema está funcionando exatamente como deveria.

Para esclarecer o LDAP, se houver usuários que se autenticam via LDAP, seus diretórios pessoais serão designados no servidor LDAP, que geralmente é o Active Directory. Você ainda poderá vê-lo getent passwde se for alterado lá, a $HOMEvariável refletirá isso.

informação relacionada