홈 디렉토리의 전체 경로 인쇄

홈 디렉토리의 전체 경로 인쇄

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/userCaja의 아이콘을 통해 탐색 할 수 있지만 /root운영 체제가 생각하는 전체 경로를 인쇄할 수 있는 방법이 필요합니다 /home.

답변1

$HOME/etc/passwd사용자에게 필요한 것으로 설정합니다 . 직접 확인하려면 /opt/usernameUser라는 디렉터리를 만들고 소유자로 지정한 다음 를 사용하여 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/home/username

LDAP에 대해 명확히 설명하자면, LDAP를 통해 인증된 사용자가 있는 경우 해당 사용자의 홈 디렉터리는 LDAP 서버(일반적으로 Active Directory)에 지정됩니다. 계속해서 볼 수 있으며 getent passwd, 변경되면 $HOME변수에 반영됩니다.

관련 정보