홈 디렉터리의 전체 경로를 인쇄합니다.

홈 디렉터리의 전체 경로를 인쇄합니다.

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통해 탐색할 수 있지만 /rootOS가 믿는 전체 경로를 인쇄할 수 있는 방법이 필요합니다 /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변수에 이를 반영합니다.

관련 정보