useradd 명령으로 사용자를 생성하다, 깜박하고 -m 옵션을 사용하지 않았더니 홈 디렉터리 없이 사용자가 생성되었다.
홈 디렉터리가 없으면, alias나 PATH 정보가 저장되는 사용자 설정 파일도 없어 꽤 불편하다. 사용자가 서버를 정상적으로 이용할 수 있도록 홈 디렉터리를 수동으로 생성해본다.
홈 디렉터리 생성 작업에는 root 권한이 필요하다.
방법
1. 홈 디렉터리 생성
mkdir /home/<USERNAME>
일반적으로 홈 디렉터리 경로는 /home 경로 아래에 사용자 이름과 같게 경로가 설정된다. 정확한 경로를 확인하고 싶다면, /etc/passwd 내용을 확인하는 것이 좋다.
일단 디렉터리를 생성하기만 해도 cd 명령 사용 시 에러는 발생하지 않게 된다.
2. 사용자 정보 복사
새로 생성한 홈 디렉터리에는 사용자 정보 등이 저장된 기본 설정 파일이 없기 때문에 여전히 계정을 정상적으로 이용할 수는 없는 상태다.
따라서 사용자 기본 정보가 저장된 /etc/skel/ 아래의 파일(숨김 파일 포함)들을 생성한 홈 디렉터리에 복사한다.
cd /home/<USERNAME>
cp -r /etc/skel/. .
3. 사용자 정보 파일 및 홈 디렉터리 소유자 변경
생성한 디렉터리와 파일의 소유자가 root이기 때문에, 소유자를 변경해주지 않으면 일반 사용자는 사용할 수 없다.
일반 사용자가 사용할 수 있도록 디렉터리와 디렉터리 아래의 파일에 대한 소유자 설정을 변경한다.
cd /home/<USERNAME>
chown -R <USERNAME>:<USER_GROUP> .
여기까지 진행하면 홈 디렉터리 생성 작업이 정상적으로 마무리된 것이다.
해당 사용자로 로그인해 이용에 문제가 없는지 확인해보도록 한다.