홈 디렉터리가 이미 생성되었음에도 불구하고 CentOS에서 "home=/으로 로그인"하라는 메시지가 표시되는 이유는 무엇입니까?

홈 디렉터리가 이미 생성되었음에도 불구하고 CentOS에서 "home=/으로 로그인"하라는 메시지가 표시되는 이유는 무엇입니까?

내 질문을 명확히하겠습니다.

/home논리 볼륨(가상 HDD 2개로 구성)에 디렉터리가 마운트된 CentOS 6 가상 머신이 있습니다 . 이 명령을 사용하여 새 사용자를 만들었습니다.사용자 03

useradd user03 -c "user03"

그리고 그에게 비밀번호를 알려주세요:

비밀번호user03

모든 일이 정상적으로 발생합니다. 하지만 user03을 사용하여 로그인하면 CentOS에서 다음 알림을 표시합니다.

/home/user03 디렉토리가 없습니다!

home="/"을 사용하여 로그인

이상한 점은 /home/user03/이 존재하고 user03과 연결되어 있으며 user03이 전체 액세스 권한을 가지고 있다는 것입니다. 내가 할 때

[user03@vm0/]$CD

[user03@vm0 ~]$ 비밀번호

/홈/사용자03

작업 디렉터리는 예상대로 /home/user03/으로 다시 변경됩니다.

그럼 내 시스템에 무슨 문제가 있는 걸까요? 디렉토리가 존재하는데 왜 "/home/... 디렉토리가 없습니다"라고 표시됩니까?

답변1

이 댓글예, 이것은 SELinux 문제입니다. 이 명령을 실행하고 다시 로그인하면 문제가 해결됩니다.

restorecon -r /home

답변2

파일에 설정하면 이 useradd명령은 홈 디렉터리를 만듭니다.CREATE_HOME yes/etc/login.defs

useradd매뉴얼 에서 :

       Create the user's home directory if it does not exist. The files and directories contained in the skeleton directory (which can be defined
       with the -k option) will be copied to the home directory.
       useradd will create the home directory unless CREATE_HOME in /etc/login.defs is set to no.

/home/user03그러나 해당 파일이 존재하고 속하며 user03이에 대해 적절한 권한이 설정되어 있다고 말하면 /etc/passwd파일로 인해 문제가 발생한 것일 수 있습니다. 그렇지 않으면 다음을 수행하세요.

mkdir /home/user03
chown user03:user03 /home/user03
cp /etc/skel/* /home/user03
chmod 700 /home/user03

6번째 필드는 사용자의 집 주소입니다. /etc/passwd파일이 방해를 받았거나 useradd이 필드가 이 파일에 추가되지 않았을 수 있습니다(무슨 일이 일어났는지 모르겠습니다!). 그러나 이 파일을 편집하여 사용자의 집 주소를 추가할 수 있습니다.

/etc/passwd파일의 내 사용자 ID는 다음과 같습니다.

Sepahrad:x:500:500:Sepahrad:/home/Sepahrad:/bin/bash

답변3

내 해결책은 내 홈 디렉터리의 권한을 변경하는 것이었습니다.

chmod 777 /home

모든 사용자에게 모든 권한을 부여하는 것이 최선의 해결책은 아니지만 현재로서는 잘 작동한다는 것을 알고 있습니다.

관련 정보