사용자 및 그룹 계정 작업

사용자 및 그룹 계정 작업

기본적으로 NAVIX를 새로 설치하면 인증, 권한 처리 및 리소스 액세스를 위해 로컬 사용자 및 그룹 계정이 사용됩니다. 사용자 및 그룹의 로컬 계정으로 작업할 때 useradd, groupaddusermod라는 세 가지 주요 명령을 사용합니다. 이러한 명령과 다양한 옵션을 통해 사용자 및 그룹을 추가하거나 삭제할 수 있을 뿐만 아니라 사용자 또는 그룹 설정을 수정할 수도 있습니다.

사용자 및 그룹 계정

시스템 인증을 구현하기 위해 NAVIX는 사용자와 그룹이라는 두 가지 유형의 계정을 사용합니다.i 이러한 계정에는 비밀번호, 사용자 홈 디렉터리, 로그인 셸, 그룹 설정 및 멤버십 등과 같은 정보가 포함됩니다. 이 정보는 승인된 로그인에만 시스템 액세스 권한이 부여되도록 하는 데 사용됩니다. 자격 증명이 없거나 자격 증명이 해당 계정의 정보와 일치하지 않는 사용자는 시스템에서 잠깁니다.

기본적으로 사용자 및 그룹 정보는 시스템의 로컬 위치에 있습니다. 그러나 수백 대의 서버와 수천 명의 사용자가 있는 엔터프라이즈 환경에서는 사용자 및 그룹 계정 정보가 개별 서버의 파일보다 중앙 저장소에 저장되는 것이 더 좋습니다. 사용자 및 그룹 정보는 중앙 서버에 구성된 다음 Lightweight Directory Access Protocol(LDAP) 또는 네트워크 정보 서비스(NIS)와 같은 서비스를 통해 검색됩니다. 이 정보를 중앙에서 관리하는 것은 사용자 및 그룹 정보를 로컬로 저장하고 구성하는 것보다 더 효율적입니다.

사용자 및 그룹 정보가 로컬로 저장되는 위치

설치 중에 다른 인증 메커니즘을 선택하거나 authselect 명령을 사용하여 인증 프로필을 생성하지 않는 한 NAVIX는 /etc/passwd/etc/shadow에 저장된 정보를 사용하여 사용자의 신원을 확인합니다.

/etc/passwd 파일은 각 사용자의 고유한 사용자 ID(또는 UID(정수)), 사용자 이름, 홈 디렉터리 및 로그인 셸과 같은 각 사용자의 계정 정보를 저장합니다. 사용자는 자신의 사용자 이름을 사용하여 로그인하지만 운영 체제는 연결된 UID를 사용합니다. 사용자가 로그인하면 해당 사용자는 자신의 홈 디렉터리에 배치되고 로그인 쉘이 실행됩니다.

/etc/group 파일은 사용자 그룹에 대한 정보를 저장합니다. 또한 사용자는 하나 이상의 그룹에 속하며 각 그룹에는 하나 이상의 사용자가 포함될 수 있습니다. 그룹에 접근 권한을 부여할 수 있는 경우 그룹의 모든 구성원은 동일한 접근 권한을 받습니다. 각 그룹 계정에는 고유한 그룹 ID (GID) 및 관련 그룹 이름이 있습니다.

기본적으로 NAVIX는 사용자 계정을 추가하면 사용자와 이름이 동일하고 사용자가 유일한 구성원인 해당 UPG도 생성하는 사용자 개인 그룹 (UPG) 구성표를 구현합니다.

기본적으로 사용자와 그룹 모두 암호화 방식으로 해시되어 /etc/shadow/etc/gshadow에 각각 저장되는 섀도우 비밀번호를 사용합니다. 이러한 섀도우 비밀번호 파일은 관리자만 읽을 수 있습니다. 관리자는 사용자가 그룹의 구성원이 되기 위해 입력해야 하는 그룹 비밀번호를 설정할 수 있습니다. 그룹에 비밀번호가 없으면 관리자가 해당 사용자를 구성원으로 추가한 경우에만 사용자는 그룹에 가입할 수 있습니다.

사용자는 newgrp 명령을 사용하여 새 그룹에 로그인하거나 로그인 섹션 중에 현재 그룹 ID를 변경할 수 있습니다. 사용자에게 비밀번호가 있으면 영구적으로 그룹 멤버십을 추가할 수 있습니다. newgrp(1) 매뉴얼 페이지를 참조하세요.

/etc/login.defs 파일은 비밀번호 만료 및 관련 보안 정책에 대한 매개변수를 정의합니다.

이 파일의 내용에 대한 자세한 내용은 group(5), gshadow(5), login.defs(5), passwd(5)shadow(5) 매뉴얼을 참조하세요.

사용자 계정 만들기

  1. 다음 명령을 입력하십시오:

    $ sudo useradd [options] username

    계정 설정을 기본 설정에서 변경하는 옵션을 지정할 수 있습니다.

    기본적으로 추가 옵션 없이 사용자 이름 인수를 지정하면 useradd는 사용 가능한 다음 UID를 사용하여 잠긴 사용자 계정을 생성하고 GROUP에 대해 정의된 값 대신 사용자 비공개 그룹 (UPG)을 사용자의 그룹으로 할당합니다.

    ℹ️
    Note:
    사용자 이름에는 최대 32자를 사용할 수 있습니다.
    사용자 이름은 소문자 (a-z), 대문자 (A-Z), 숫자 (0-9) 또는 밑줄 (_)로 시작할 수 있습니다.
    사용자 이름은 모든 시작 문자를 포함할 수 있지만 대시 (-)도 포함할 수 있고 달러 문자 ($)로 끝날 수도 있습니다.
    완전 숫자 사용자 이름과 마침표 (.) 또는 이중 마침표 (..)만 포함하는 사용자 이름은 허용되지 않습니다.
    마침표 (.) 문자로 시작하는 사용자 이름은 허용되기는 하지만 일부 소프트웨어에 문제를 일으킬 수 있고 결과적으로 홈 디렉터리도 숨겨질 수 있으므로 사용하지 않는 것이 좋습니다.
  2. 계정에 비밀번호를 할당하세요.

    $ sudo passwd username         

    이 명령은 계정의 비밀번호를 입력하라는 메시지를 표시합니다.

    비밀번호를 비대화형으로(예: 스크립트에서) 변경하려면 대신 ‘chpasswd’ 명령을 사용하세요.:

    $ echo "username:password" | chpasswd

newusers 명령을 사용하여 동시에 여러 사용자 계정을 만들 수 있습니다.

자세한 내용은 chpasswd(8), newusers(8), passwd(1)useradd(8) 매뉴얼 페이지를 참조하세요.

계정 잠금

사용자 계정을 잠그려면 passwd -l 명령을 사용하세요.

$ sudo passwd -l username

계정 잠금을 해제하려면 passwd -u 명령을 사용하세요.

$ sudo passwd -u username

자세한 내용은 passwd(1) 매뉴얼 페이지를 참조하세요.

사용자 계정 수정 또는 삭제

사용자 계정을 수정하려면 ‘usermod’ 명령을 사용하세요.

sudo usermod [options] username

예를 들어, 보조 그룹(사용자의 기본 로그인 그룹\이 아닌)에 사용자를 추가하려면:

sudo usermod -aG groupname username

예를 들어 groups 명령을 사용하여 사용자가 속한 그룹을 표시할 수 있습니다.:

sudo groups username

사용자 계정을 삭제하려면 userdel 명령을 사용하세요.:

sudo userdel username               

자세한 내용은 groups(1), userdel(8)usermod(8) 매뉴얼 페이지를 참조하세요.

사용자 계정의 기본 설정 변경

사용자 계정의 기본 설정을 표시하려면 다음 명령을 사용하십시오.:

sudo useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

INACTIVE: 사용자 비밀번호가 만료된 경우 시스템이 계정을 잠그는 기간(일)을 지정합니다. 0으로 설정하면 시스템이 즉시 계정을 잠급니다. -1로 설정하면 시스템이 계정을 잠그지 않습니다.

SKEL: 새로 생성된 사용자의 홈 디렉토리에 내용이 복사되는 템플릿 디렉토리를 정의합니다. 이 디렉토리의 내용은 SHELL에 의해 정의된 기본 쉘과 일치합니다.

사용자 계정의 기본 설정을 변경하려면 useradd -D 옵션을 지정할 수 있습니다. 예를 들어 INACTIVE, HOME 및 ​SHELL에 대한 기본값을 변경하려면:

sudo useradd -D -f 3 -b /home2 -s /bin/sh
ℹ️
Note:
기본 로그인 셸을 변경하는 경우 새 셸에 적합한 콘텐츠가 포함된 SKEL 템플릿 디렉터리도 생성할 수도 있습니다.

사용자의 SHELL/sbin/nologin을 지정하면 해당 사용자는 시스템에 직접 로그인할 수 없지만 해당 사용자의 ID로 프로세스를 실행할 수 있습니다. 이 설정은 일반적으로 ‘루트’ 이외의 사용자로 실행되는 서비스에 사용됩니다.

기본 설정은 /etc/default/useradd 파일에 저장됩니다.

자세한 내용은 비밀번호 만료 구성을 참조하세요.

그룹 만들기

그룹을 생성하려면 groupadd 명령을 사용하세요.

sudo groupadd [options] *groupname*

일반적으로 -g 옵션을 사용하여 그룹 ID (GID)를 지정할 수 있습니다. 예를 들어:

sudo groupadd -g 1000 devgrp

자세한 내용은 groupadd(8) 매뉴얼 페이지를 참조하세요.

그룹 수정 또는 삭제

그룹을 수정하려면 groupmod 명령을 사용하세요.:

sudo groupmod [*options*] username

사용자 계정을 삭제하려면 groupdel 명령을 사용하세요.:

sudo groupdel username

자세한 내용은 groupdel(8)groupmod(8) 매뉴얼 페이지를 참조하세요.

디렉토리에 대한 그룹 액세스 모드 구성

기본 그룹이 UPG가 아닌 사용자는 /etc/profile 또는 /etc/bashrc에 의해 설정된 umask 0022를 가지며, 이는 기본 그룹의 다른 구성원을 포함한 다른 사용자가 UPG에 있는 파일을 수정하는 것을 방지합니다.

기본 그룹이 UPG인 사용자의 umask는 0002입니다. 다른 사용자는 동일한 그룹을 갖지 않습니다.

동일한 그룹의 사용자에게 동일한 디렉토리 내의 파일에 대한 쓰기 액세스 권한을 부여하려면 디렉토리의 그룹 소유권을 그룹으로 변경하고 디렉토리에 setgid 비트를 설정하십시오.:

sudo chgrp groupname directory
sudo chmod g+s directory

이러한 디렉터리에 생성된 파일의 그룹은 파일을 생성한 사용자의 기본 그룹이 아닌 디렉터리의 그룹으로 설정됩니다.

제한된 삭제 비트는 권한이 없는 사용자가 파일이나 디렉터리를 소유하지 않는 한 디렉터리에서 파일을 제거하거나 이름을 바꾸는 것을 방지합니다.

디렉터리에 제한된 삭제 비트를 설정하려면:

sudo chmod a+t directory    

자세한 내용은 chmod(1) 매뉴얼 페이지를 참조하세요.

비밀번호 만료 구성

사용자 비밀번호의 유효 기간을 지정하려면 /etc/login.defs 파일에서 다음 설정을 편집하세요.:

세팅 설명
PASS_MAX_DAYS 비밀번호를 변경해야 하기 전까지 비밀번호를 사용할 수 있는 최대 일수입니다. 기본값은 99,999일입니다.
PASS_MIN_DAYS 비밀번호 변경 사이에 허용되는 최소 일수입니다. 기본값은 0일입니다.
PASS_WARN_AGE 비밀번호가 만료되기 전에 경고가 표시되는 일 수입니다. 기본값은 7일입니다.

For more information, see the login.defs(5) manual page.

사용자 계정이 잠기기 전까지 비활성 상태로 있을 수 있는 기간을 변경하려면 usermod 명령을 사용하세요. 예를 들어 비활성 기간을 30일로 설정하려면:

sudo usermod -f 30 username

새 사용자 계정의 기본 비활성 기간을 변경하려면 useradd 명령을 사용하세요.:

sudo useradd -D -f 30

-1 값은 비활성으로 인해 사용자 계정이 잠기지 않도록 지정합니다.

자세한 내용은 useradd(8)usermod(8) 매뉴얼 페이지를 참조하세요.