웹사이트 검색

LFCA: 사용자 계정 관리 알아보기 - 5부


Linux 시스템 관리자로서 귀하는 조직 내 모든 IT 운영의 원활한 흐름을 보장하는 임무를 맡게 됩니다. 일부 IT 운영이 서로 얽혀 있다는 점을 감안할 때 시스템 관리자는 일반적으로 데이터베이스 또는 네트워크 관리자를 포함하여 많은 직책을 맡습니다.

이 기사는 LFCA 시리즈의 5부입니다. 이 부분에서는 Linux 시스템에서 사용자를 생성하고 관리하는 일반적인 시스템 관리 명령을 익히게 됩니다.

Linux의 사용자 계정 관리

Linux 시스템 관리자의 주요 책임 중 하나는 Linux 시스템에서 사용자를 생성하고 관리하는 것입니다. 각 사용자 계정에는 사용자 이름사용자 ID(UID)라는 2개의 고유 식별자가 있습니다.

기본적으로 Linux에는 세 가지 주요 사용자 범주가 있습니다.

루트 사용자

루트 사용자는 Linux 시스템에서 가장 강력한 사용자이며 일반적으로 설치 프로세스 중에 생성됩니다. 루트 사용자는 Linux 시스템이나 기타 UNIX 계열 OS에서 절대적인 권한을 갖습니다. 사용자는 모든 명령, 파일 및 디렉터리에 액세스하고 원하는 대로 시스템을 수정할 수 있습니다.

루트 사용자는 시스템 업데이트, 패키지 설치 및 제거, 다른 사용자 추가 또는 제거, 권한 부여 또는 취소, 기타 시스템 관리 작업을 제한 없이 수행할 수 있습니다.

루트 사용자는 시스템에서 거의 모든 작업을 수행할 수 있습니다. Linux 및 UNIX 계열 시스템에서는 사용자가 시스템으로 수행하는 작업을 완벽하게 알고 있다고 가정합니다. 즉, 루트 사용자는 쉽게 시스템을 중단시킬 수 있습니다. 치명적인 명령을 실행하기만 하면 시스템이 연기에 휩싸이게 됩니다.

이러한 이유로 루트 사용자로 명령을 실행하는 것은 권장되지 않습니다. 대신 sudo 사용자를 구성해야 하는 것이 좋습니다. 즉, 일반 사용자에게 sudo 권한을 부여하여 특정 관리 작업을 수행하고 일부 작업을 루트 사용자에게만 제한하는 것입니다.

일반 사용자

일반 사용자는 시스템 관리자가 생성할 수 있는 일반 로그인 사용자입니다. 일반적으로 설치 프로세스 중에 하나를 생성하는 조항이 있습니다. 그러나 설치 후에도 필요한 만큼 일반 사용자를 생성할 수 있습니다.

일반 사용자는 권한이 부여된 작업만 수행하고 파일 및 디렉터리에 액세스할 수 있습니다. 필요한 경우 일반 사용자에게 관리자 수준 작업을 수행할 수 있는 높은 권한을 부여할 수 있습니다. 필요할 경우 일반 사용자를 삭제하거나 비활성화할 수도 있습니다.

서비스 계정

이는 소프트웨어 패키지 설치 시 생성되는 비로그인 계정입니다. 이러한 계정은 서비스에서 시스템의 프로세스를 실행하는 데 사용됩니다. 이는 시스템에서 일상적인 작업이나 관리 작업을 수행하도록 설계되거나 의도되지 않았습니다.

사용자 관리 파일

Linux 시스템의 사용자에 대한 정보는 다음 파일에 저장됩니다.

  • /etc/passwd 파일
  • /etc/group 파일
  • /etc/gshadow 파일
  • /etc/shadow 파일

각 파일과 그 기능을 이해해 보겠습니다.

/etc/passwd 파일

/etc/passwd 파일에는 다양한 필드에 포함된 사용자에 대한 꽤 많은 정보가 포함되어 있습니다. 파일 내용을 보려면 표시된 대로 cat 명령을 사용하면 됩니다.

cat /etc/passwd

다음은 출력의 일부입니다.

tecmint:x:1002:1002:tecmint,,,:/home/tecmint:/bin/bash

첫 번째 줄에 집중하고 다양한 분야를 구체화해 보겠습니다. 맨 왼쪽부터 시작하면 다음과 같습니다.

  • 사용자 이름: 이는 사용자의 이름이며, 이 경우 tecmint입니다.
  • 비밀번호: 두 번째 열은 사용자의 암호화된 비밀번호를 나타냅니다. 비밀번호는 일반 텍스트로 인쇄되지 않고 대신 x 기호가 있는 자리 표시자가 사용됩니다.
  • UID: 사용자 ID입니다. 이는 모든 사용자의 고유 식별자입니다.
  • GID: 그룹 ID입니다.
  • 사용자에 대한 간략한 설명 또는 요약입니다.
  • 사용자의 홈 디렉터리 경로입니다. tecmint 사용자의 경우 /home/tecmint가 있습니다.
  • 로그인 쉘입니다. 일반 로그인 사용자의 경우 이는 일반적으로 /bin/bash로 표시됩니다. SSH 또는 MySQL과 같은 서비스 계정의 경우 이는 일반적으로 /bin/false로 표시됩니다.

/etc/group 파일

이 파일에는 사용자 그룹에 대한 정보가 포함되어 있습니다. 사용자가 생성되면 쉘은 사용자의 사용자 이름에 해당하는 그룹을 자동으로 생성합니다. 이를 기본 그룹이라고 합니다. 사용자는 생성 시 기본 그룹에 추가됩니다.

예를 들어, bob이라는 사용자를 생성하는 경우 시스템은 자동으로 bob이라는 그룹을 생성하고 bob 사용자를 그룹에 추가합니다.

cat /etc/group

tecmint:x:1002:

/etc/group 파일에는 3개의 열이 있습니다. 맨 왼쪽부터 다음과 같습니다.

  • 그룹 이름. 각 그룹 이름은 고유해야 합니다.
  • 그룹 비밀번호. 일반적으로 x 자리 표시자로 표시됩니다.
  • 그룹 ID(GID)
  • 그룹 구성원. 그룹에 속한 멤버들입니다. 사용자가 그룹의 유일한 구성원인 경우 이 필드는 비어 있습니다.

참고: 사용자는 여러 그룹의 구성원이 될 수 있습니다. 마찬가지로 그룹에는 여러 구성원이 있을 수 있습니다.

사용자가 속한 그룹을 확인하려면 다음 명령을 실행하십시오.

groups username

예를 들어, tecmint 사용자가 속한 그룹을 확인하려면 다음 명령을 실행하십시오.

groups tecmint

출력에서는 사용자가 tecmintsudo라는 두 그룹에 속해 있음을 확인합니다.

tecmint : tecmint sudo

/etc/gshadow 파일

이 파일에는 그룹 계정에 대한 암호화되거나 '섀도우' 비밀번호가 포함되어 있으며 보안상의 이유로 일반 사용자는 액세스할 수 없습니다. 루트 사용자와 sudo 권한이 있는 사용자만 읽을 수 있습니다.

sudo cat /etc/gshadow

tecmint:!::

맨 왼쪽부터 파일에는 다음 필드가 포함되어 있습니다.

  • 그룹 이름
  • 암호화된 그룹 비밀번호
  • 그룹 관리자
  • 그룹 구성원

/etc/shadow 파일

/etc/shadow 파일은 사용자의 실제 비밀번호를 해시 또는 암호화된 형식으로 저장합니다. 다시 말하지만, 필드는 콜론으로 구분되며 표시된 형식을 사용합니다.

sudo cat /etc/shadow

tecmint:$6$iavr8PAxxnWmfh6J$iJeiuHeo5drKWcXQ.BFGUrukn4JWW7j4cwjX7uhH1:18557:0:99999:7:::

파일에는 9개의 필드가 있습니다. 맨 왼쪽부터 시작하면 다음과 같습니다.

  • 사용자 이름: 귀하의 로그인 이름입니다.
  • 사용자의 비밀번호. 이는 해시 또는 암호화된 형식으로 표시됩니다.
  • 마지막 비밀번호 변경. 비밀번호가 변경된 이후의 날짜이며 에포크 날짜부터 계산됩니다. 에포크는 1970년 1월 1일이다.
  • 최소 비밀번호 사용 기간. 이는 비밀번호를 설정하기 전에 경과해야 하는 최소 일수입니다.
  • 최대 비밀번호 사용 기간. 비밀번호를 변경해야 하는 최대 일수입니다.
  • 경고 기간. 이름에서 알 수 있듯이 이는 비밀번호가 만료되기 직전에 사용자에게 비밀번호 만료가 임박했음을 알리는 일수입니다.
  • 비활성 기간. 비밀번호가 만료된 후 사용자가 비밀번호를 변경하지 않고 사용자 계정이 비활성화되는 일수입니다.
  • 만료일. 사용자 계정이 만료된 날짜입니다.
  • 예약된 필드. – 공백으로 남겨두세요.

Linux 시스템에서 사용자를 추가하는 방법

DebianUbuntu 배포판의 경우 adduser 유틸리티가 사용자를 추가하는 데 사용됩니다.

구문은 매우 간단하고 간단합니다.

adduser username

예를 들어 bob이라는 사용자를 추가하려면 다음 명령을 실행합니다.

adduser bob

출력에서 'bob'이라는 사용자가 생성되고 'bob'이라는 새로 생성된 그룹에 추가됩니다. 또한 시스템은 홈 디렉토리를 생성하고 구성 파일을 여기에 복사합니다.

그런 다음 새 사용자의 비밀번호를 입력하고 확인하라는 메시지가 표시됩니다. 쉘은 또한 사용자의 전체 이름과 방 번호 및 직장 전화번호와 같은 기타 선택적 정보를 묻는 메시지를 표시합니다. 이 정보는 꼭 필요한 정보는 아니므로 건너뛰어도 무방합니다. 마지막으로 'Y'를 눌러 제공된 정보가 올바른지 확인하세요.

RHELCentOS 기반 시스템의 경우 useradd 명령을 사용하세요.

useradd bob

그런 다음 passwd 명령을 사용하여 다음과 같이 사용자의 비밀번호를 설정합니다.

passwd bob

Linux 시스템에서 사용자를 삭제하는 방법

시스템에서 사용자를 삭제하려면 먼저 표시된 대로 사용자가 시스템에 로그인하지 못하도록 잠그는 것이 좋습니다.

passwd -l bob

원하는 경우 tar 명령을 사용하여 사용자의 파일을 백업할 수 있습니다.

tar -cvf /backups/bob-home-directory.tar.bz2  /home/bob

마지막으로 홈 디렉토리와 함께 사용자를 삭제하려면 다음과 같이 deluser 명령을 사용하십시오.

deluser --remove-home bob

또한 표시된 대로 userdel 명령을 사용할 수 있습니다.

userdel -r bob

두 명령은 홈 디렉터리와 함께 사용자를 완전히 제거합니다.

결론

이상은 사무실 환경에서 사용자 계정을 관리할 때 특히 유용한 사용자 관리 명령에 대한 개요였습니다. 때때로 시스템 관리 기술을 연마하기 위해 시도해 보십시오.