Linux에서 새 사용자 추가

Linux에서 새 사용자 추가

Linux에서 새 사용자를 만들었습니다.

useradd connectweb

/etc/passwd 파일에서 다음을 볼 수 있습니다.

connectweb:x:1002:1002::/home/connectweb:/bin/sh

하지만 /home/connectweb 폴더로 이동하려고 하면 폴더가 존재하지 않습니다../home은 사용할 수 있지만 /home/connectweb은 사용할 수 없습니다.

답변1

사건을 해결하려면 다음 명령을 따르십시오.

  1. 디렉터리를 추가하려면 이 명령을 실행하세요.

    mkdir -p /home/connectweb
    
  2. 디렉토리에서 파일 등을 /etc/skel복사 해야 하는 경우.bashrc

  3. 이 디렉터리의 소유권 변경

    chown -R connectweb:connectweb /home/connectweb
    
  4. 보안을 좀 더 추가하려면 권한을 변경하세요.

    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.

관련 정보