ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 사용자 계정 생성(adduser / useradd) : Ubuntu vs Rocky
    Linux 2025. 12. 2. 22:38

    사용자 계정 생성

    • 사용자 계정 생성은 adduser 또는 useradd 명령어를 사용한다.
    • 자동화나 스크립트 환경에서는 입력을 요구하지 않고 동작이 일관적인 useradd 사용이 일반적이다.

    1. adduser

    1) Ubuntu (Debian 계열)

    • adduser로 사용자 계정 생성 시 비밀번호를 바로 설정한다.

    • /usr/sbin/adduser에 perl 스크립트로 설정 관련 코드가 작성되어 있다.

    • 사용자 계정의 홈 디렉터리가 생성된 것을 확인할 수 있다.

    • /etc/passwd : 리눅스 시스템의 모든 사용자 계정 정보를 저장하는 기본 데이터베이스 파일

    • /etc/passwd 파일 형식은 각 줄이 하나의 사용자 계정을 의미하고 콜론(:)으로 구분된 7개의 필드로 구성된다.
    필드  의미
    1. username 로그인할 계정 이름
    2. password placeholder x → 실제 비밀번호는 /etc/shadow에 저장
    3. UID User ID (유일한 숫자 ID) — 일반 사용자 1000 이상
    4. GID 기본 그룹 ID
    5. comment(GECOS) 사용자 정보(Full Name 등). 비어있는 경우도 많음
    6. home directory 로그인했을 때 위치할 디렉터리
    7. login shell 로그인 시 사용할 쉘(Path)
    • 비밀번호 설정 확인

    # 비밀번호 설정 확인
    sudo passwd -S ops1
    • -S(Status) : 패스워드 상태를 요약해서 보여주는 옵션
    코드 의미
    P / PS Password set → 비밀번호 정상 설정
    L / LK Locked → 계정 잠김 (로그인 불가)
    NP No Password → 비밀번호 없음

     

    2) Rocky Linux (RedHat 계열)

    • Rocky Linux의 adduser는 useradd에 심볼릭 링크가 걸려 있다.
    • adduser = useradd 동일

    • /usr/sbin/adduser를 열어 봐도 코드가 없다.

    • 사용자 계정의 홈 디렉터리가 생성되어 있다.

    • 비밀번호 설정을 자동으로 묻지 않기 때문에, 계정 생성 후 passwd로 비밀번호를 수동으로 설정해야 한다.

     

    2. useradd

    1) Ubuntu  (Debian 계열)

    # 사용자 계정 생성
    useradd 사용자 계정
    # Ubuntu 등 Debian 계열에서는 아래 명령어 사용
    useradd -m -s /bin/bash 사용자 계정
    # 비밀번호 설정 : Rocky / CentOS / RHEL 계열
    echo "사용자 계정" | passwd 사용자 계정 --stdin
    # 비밀번호 설정 : Ubuntu 등 Debian 계열
    echo "사용자 계정:설정할 비밀번호" | sudo chpasswd

    • --stdin 옵션은 Rocky / CentOS / RHEL 계열에서만 지원된다.
    • Ubuntu에서는 지원하지 않는 옵션이라 아래와 같이 출력된다.

    • Ubuntu는 사용자 계정 홈디렉터리( /home/사용자계정)가 생성된 것 처럼 보여도 확인하면 생성되지 않는 것으로 나온다.
    • 그래서 생성 시 -m 옵션을 써야한다.
    # 사용자 생성 
    # -m : 홈 디렉터리 생성
    # -s : 로그인 쉘 설정
    useradd -m -s /bin/bash 사용자 계정
    • cat /etc/passwd  : 사용자 계정 정보 확인

    • 홈 디렉터리 확인

    • useradd -m -s /bin/bash ops2 로 사용자 계정을 생성하면 홈 디렉터리도 생성된다.

    • 사용자 계정 생성 시 -s 옵션으로 로그인 쉘을 설정하지 않으면 사용자 계정의 기본 쉘이 /bin/sh로 생성된다.

    • useradd의 기본 쉘은 /etc/default/useradd에서 결정
    • /etc/default/useradd는 사용자 계정 생성 시 기본 값 설정 파일

    • Ubuntu에서 비밀번호 설정 시 chpasswd를 사용한다.
    # 비밀번호 설정
    echo "사용자 계정:설정할 비밀번호" | sudo chpasswd

    • 비밀번호 설정 확인

     

    2) Rocky Linux

    # 사용자 계정 생성
    useradd 사용자 계정
    # 비밀번호 설정 : Rocky / CentOS / RHEL 계열
    echo "설정할 비밀번호" | passwd 사용자 계정 --stdin
    • Rocky에서는 useradd로 사용자를 생성해도 홈 디렉터리가 생성된다.

    • /etc/login.defs 파일에 CREATE_HOME yes로 되어 있어서 홈 디렉터리가 자동 생성된다.
    • /etc/login.defs는 리눅스 사용자 계정 생성과 로그인 보안 정책을 정의하는 시스템 설정 파일

    • Rocky는 로그인 쉘 default가 /bin/bash로 되어 있다.

     

    3. userdel

    • userdel 명령어를 쓰면 사용자는 삭제되지만 홈 디렉터리와 메일 스풀(mail spool)은 남는다.

    • 사용자 계정, 홈 디렉토리, 메일 스풀 포함 완전 삭제
    # 사용자 계정, 홈 디렉토리, 메일 스풀 포함 완전 삭제
    userdel -r 사용자 계정

Designed by Tistory.