SSH를 통해 홈 디렉터리에 로그인할 수 없습니다.

SSH를 통해 홈 디렉터리에 로그인할 수 없습니다.

최근에 Raspberry Pi에 Raspbian을 설치했습니다. 설치 프로세스의 일부로 사용자 이름과 그룹을 기본값( pi)에서 내 고유(우리는 my own 이라고 함 user) 로 변경했습니다 . 또한 홈 디렉터리 이동( )을 새 사용자 이름( )으로 사용합니다. 새 사용자 디렉토리( )에 로그인하는 대신 SSH를 사용하여 로그인할 때 홈 디렉토리( )에 접속하게 된다는 점을 제외하면 모든 것이 잘 작동합니다. 왜 이런 일이 발생하는지 아시나요? 해결책이 있나요? 큰 문제는 아니지만 혼란스럽습니다.usermodgroupmod/home/pi/home/userusermod/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로그인 후 실행할 수 있습니다. 간단하지만 효과적인.

관련 정보