최근에 Raspberry Pi에 Raspbian을 설치했습니다. 설치 프로세스의 일부로 사용자 이름과 그룹을 기본값( pi
)에서 내 고유(우리는 my own 이라고 함 user
) 로 변경했습니다 . 또한 홈 디렉터리 이동( )을 새 사용자 이름( )으로 사용합니다. 새 사용자 디렉토리( )에 로그인하는 대신 SSH를 사용하여 로그인할 때 홈 디렉토리( )에 접속하게 된다는 점을 제외하면 모든 것이 잘 작동합니다. 왜 이런 일이 발생하는지 아시나요? 해결책이 있나요? 큰 문제는 아니지만 혼란스럽습니다.usermod
groupmod
/home/pi
/home/user
usermod
/home/user
/home
해당 디렉터리는 /home/user
권한 755로 존재합니다. 또한 /etc/passwd
파일에는 다음과 같은 항목이 포함되어 있습니다.
user:x:1000:1000:User:/home/user:/bin/bash
모든 것이 괜찮아 보이지만 ssh에서 로그인하면 여전히 비슷한 메시지가 나타납니다 user@raspberrypi /home $
.
답변1
-m
이 옵션을 사용할 때 사용하셨나요 usermod -d
?
그렇지 않은 경우 실제로 홈 디렉토리를 이동하고 /etc/passwd의 항목을 변경해야 합니다.
/home/user가 아직 존재하지 않는 경우 /home/pi의 이름이 /home/user로 변경됩니다.
cd /home
[ ! -e user ] && sudo mv pi user
그렇지 않은 경우에는 user
홈 디렉토리가 실제로 무엇인지 확인하세요 . 다음은 사용자의 홈 디렉토리를 찾는 데 사용할 수 있는 몇 가지 방법입니다./home/user
/home
grep '^user:' /etc/passwd # works for system-local accounts only
finger user # requires finger to be installed
pinky -l user # part of GNU coreutils
getent passwd user # should work no matter where the account
data is stored
답변2
Raspbian을 사용해도 같은 문제가 있습니다. "bill"이라는 사용자를 추가한 후 Raspbian은 사용자의 홈 디렉터리를 생성할 수 없습니다. "useradd bill && passwd bill"을 사용하여 사용자 계정을 생성했고 /etc/passwd 파일에 홈 디렉터리에 대한 예상 경로로 /home/bill이 포함되어 있지만 실제 경로 "/home/bill"은 생성되지 않습니다. /home/bill을 루트로 수동으로 생성한 다음 chmod 및 chown을 사용하여 권한과 소유권을 올바른 값으로 변경해야 했습니다. 이제 ssh를 사용하여 "bill"로 로그인하면 /home/bill 대신 "/" 디렉터리에 있게 됩니다. /home/bill/.bashrc 파일은 기본 /home/bill에서 디렉터리를 변경하기 위한 어떠한 속임수도 사용하지 않습니다.
Raspbian은 다른 Linux 배포판과 다르게 작동하는 것 같습니다. 이것은 분명히 버그입니다.
답변3
TrueNAS(FreeBSD)에서도 동일한 동작이 나타납니다.
- homedir을 갖도록 /etc/passwd에서 사용자를 편집하십시오.
/path/newhome
- SSH를 종료하고 다시 로그인하여 수신하세요.
Could not chdir to home directory /path/oldhome
chdir /path/newhome
문제가 없을 수는 없지
이를 적용하려면 시스템을 재부팅해야 할 수도 있지만 임의로 재부팅할 수 있는 시스템은 아닙니다.
해결 방법으로 chdir /path/newhome
로그인 후 실행할 수 있습니다. 간단하지만 효과적인.