홈 디렉터리 없이 사용자 추가

홈 디렉터리 없이 사용자 추가

홈 디렉토리 없이 사용자를 생성 useradd -M Alice하고 비밀번호를 설정했습니다. 이제 로그인하면 이런 메시지가 뜹니다

No directory /home/Alice! Logging in with home= "/"
-bash-4.1$

마지막 줄의 의미를 설명하고 이 문제를 해결할 수 있는 사람이 있습니까?

답변1

다음과 같이 해결할 수 있을 것 같습니다.

mkdir /home/Alice

chown -R Alice:Alice /home/Alice

useradd 대신 adduser를 사용하면 디렉터리가 자동으로 생성되므로 더 좋습니다.

답변2

플래그에는 "사용자의 홈 디렉토리를 생성하지 마십시오"라고 -M표시되어 있으므로 프로그램은 사용자가 요청한 작업을 수행했습니다.useradd

Alice의 홈 디렉터리를 만들고 템플릿 파일을 복사하여 이 문제를 해결할 수 있습니다.

home=$(getent passwd Alice | cut -d: -f6)
uid=$(getent passwd Alice | cut -d: -f3)
gid=$(getent passwd Alice | cut -d: -f4)
mkdir -m755 "$home"
cp -a /etc/skel/. "$home"
chown -R $uid:$gid "$home"

답변3

Logging in with home= "/" 그것은 그것이 말하는 것을 정확히 의미합니다. 사용자에게는 홈 디렉터리가 없으므로 로그인에는 루트 디렉터리 "/"가 사용됩니다.

이는 -bash-4.1$기본 bash 프롬프트입니다. 다른 기본 bash 파일이 없거나 전혀 없을 때 ~/.bashrc이 메시지가 표시됩니다 . 일반적으로 사용자의 홈 디렉터리에 생성, 저장 및 업데이트됩니다.

"/"를 홈 디렉터리로 사용하면 다른 문제가 발생합니다. 사용자 Alice가 파일 시스템의 루트 디렉터리에 쓸 수 있는 권한이 없을 가능성이 높기 때문입니다. :-)

roaima와 Luciano Andress Martini가 쓴 것처럼 홈 디렉토리를 생성하면 이 문제를 해결할 수 있습니다.

관련 정보