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
해당 위치에 존재해야 합니다. Caja의 아이콘을 /mnt/linux_data/01_centos/user
통해 탐색할 수 있지만 /root
OS가 믿는 전체 경로를 인쇄할 수 있는 방법이 필요합니다 /home
.
답변1
$HOME
/etc/passwd
사용자를 위한 항목으로 설정됩니다 . 직접 확인하려면 /opt/username
사용자라는 디렉터리를 만들고 소유자로 지정한 다음 를 사용하여 vipw
해당 사용자의 집을 에서 으로 변경 /opt/username
하세요 /etc/passwd
. 사용자로 로그인하여 사용 하면 해당 사용자가 에 있고 로 확장되는 pwd
것을 볼 수 있습니다 ./opt/username
$HOME
/opt/username
grep username /etc/passwd
또는 명령을 사용하면 getent passwd username
집이 로 설정되고 /home/username
로 설정되지 않은 것을 볼 수 있습니다 /mnt/linux_data/01_centos/user
. OS에 관한 한 홈은 실제로 /home/username
다른 파일 시스템이 마운트되어 있는지 여부에 관계가 없습니다. 귀하의 시스템은 정상적으로 작동하고 있습니다.
LDAP를 명확히 하기 위해 LDAP를 통해 인증하는 사용자가 있는 경우 해당 사용자의 홈 디렉터리는 일반적으로 Active Directory인 LDAP 서버에 지정됩니다. 여전히 이를 볼 수 있으며 getent passwd
, 변경된 경우 $HOME
변수에 이를 반영합니다.