로그인할 때 $HOME 변수를 내보내면 어떻게 되나요?

로그인할 때 $HOME 변수를 내보내면 어떻게 되나요?

이것은 이 질문에 대한 후속 조치입니다.

https://askubuntu.com/questions/563828/how-to-change-my-home-directory?noredirect=1#comment775654_563828

요약은 다음과 같습니다.

  • 우분투 14.04 실행 중
  • ssh로 접속 ssh -X user@host하고 bash 세션으로 끝납니다.
  • /current/home/내 홈 디렉토리를 이미 /new/home/존재 하는 디렉토리로 변경하고 싶습니다.

로그인 시 실행할 다음 줄을 추가하고 싶습니다.

export HOME=/new/home

/current/home/관련성이 있다고 생각되는 파일은 다음과 같습니다.

  • .login
  • .profile

해당 명령을 파일에 추가하면 .profile작동합니다.

이상적으로는 처음 실행한 파일에 이 항목을 넣어서 그 이후에 실행하는 모든 항목에 올바른 HOME 변수가 설정되도록 하는 것이 좋습니다.

루트 액세스 권한이 없으며 원격 시스템의 다른 사용자를 통해 액세스할 수도 없습니다.

답변1

나는 전에도 같은 문제를 겪었습니다. 내 경우에는 (정치적 이유로) 동일한 사용자 계정을 공유해야 하는 여러 사용자가 있었는데, 이는 서로 다른 사람들이 서로 다른 선호도를 원하거나 자신만의 명령 기록을 기대하면 혼란스러울 수 있었습니다.

해결책은 각 실제 사용자에 대해 자체 홈 디렉토리를 만들고 로그인 시 홈 디렉토리를 변경하는 것입니다.

이를 위해 SSH 키를 사용하고 공개 키를 .ssh/authorized 키에 넣은 다음 거기에 있는 force 명령을 사용하여 새 홈 디렉토리를 설정하고 새 쉘을 시작하거나 지정된 경우 SSH_ORIGINAL_COMMAND를 실행하는 작은 쉘 스크립트를 시작했습니다.

.ssh/authorized key에 이와 같은 내용을 작성하세요.

command="/home/me/bin/startupscript" ssh-rsa ...

시작 스크립트에서 다음과 같이 작성하십시오.

env -i HOME=/new/home ${SSH_ORIGINAL_COMMAND:-bash -l}

SSH_ORIGINAL_COMMAND에 대한 지원은 이제 새 홈도 사용하게 될 scp와 같은 작업에 중요합니다.

관련 정보