Linux에서 새 사용자를 만들었습니다.
useradd connectweb
/etc/passwd 파일에서 다음을 볼 수 있습니다.
connectweb:x:1002:1002::/home/connectweb:/bin/sh
하지만 /home/connectweb 폴더로 이동하려고 하면 폴더가 존재하지 않습니다../home은 사용할 수 있지만 /home/connectweb은 사용할 수 없습니다.
답변1
사건을 해결하려면 다음 명령을 따르십시오.
디렉터리를 추가하려면 이 명령을 실행하세요.
mkdir -p /home/connectweb
디렉토리에서 파일 등을
/etc/skel
복사 해야 하는 경우.bashrc
이 디렉터리의 소유권 변경
chown -R connectweb:connectweb /home/connectweb
보안을 좀 더 추가하려면 권한을 변경하세요.
chmod 700 /home/connectweb
나중에 이 -m
옵션을 사용하여 위의 작업을 수행할 수 있습니다 .useradd
답변2
모든 명령과 마찬가지로 바람직하지 않은 동작을 보이는 경우 매뉴얼 페이지를 읽으십시오.
여기에는 다음과 같은 내용이 나와 있습니다 man useradd
.
-m, --create-home
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.
By default, if this option is not specified and CREATE_HOME is not enabled,
no home directories are created.
사용자를 다시 삭제하고 -m
옵션을 사용하여 다시 생성하거나 홈 디렉터리를 수동으로 생성하십시오.
답변3
OP의 관심사는 명령이 useradd
홈 디렉토리를 생성하지 않은 이유라고 생각합니다.
CREATE_HOME
파일의 지시문은 /etc/login.defs
명령이 useradd
기본적으로(이 옵션을 사용하지 않고) 홈 디렉토리를 생성해야 하는지 여부를 결정합니다 -m
. 주석 처리되거나 로 설정된 경우 NO
에만 해당 명령 -m
의 옵션을 명시적으로 사용하여 useradd
홈 디렉토리를 생성해야 합니다.
[root@server ~]# grep CREATE /etc/login.defs
CREATE_HOME yes
[root@server ~]#
CREATE_HOME
로 설정 하면 yes
명령 useradd
은 파일에 언급된 경로에 홈 디렉토리를 생성합니다 /etc/default/useradd
.