Unix / Linux-사용자 관리

이 장에서는 Unix에서의 사용자 관리에 대해 자세히 설명합니다.

Unix 시스템에는 세 가지 유형의 계정이 있습니다.

루트 계정

이것은 또한 superuser시스템을 완전하고 자유롭게 제어 할 수 있습니다. 수퍼 유저는 제한없이 모든 명령을 실행할 수 있습니다. 이 사용자는 시스템 관리자로 가정해야합니다.

시스템 계정

시스템 계정은 메일 계정과 같은 시스템 특정 구성 요소의 작동에 필요한 것입니다. sshd계정. 이러한 계정은 일반적으로 시스템의 특정 기능에 필요하며이를 수정하면 시스템에 부정적인 영향을 미칠 수 있습니다.

사용자 계정

사용자 계정은 사용자 및 사용자 그룹을 위해 시스템에 대한 대화 형 액세스를 제공합니다. 일반 사용자는 일반적으로 이러한 계정에 할당되며 일반적으로 중요한 시스템 파일 및 디렉터리에 대한 액세스가 제한됩니다.

Unix는 여러 계정 을 논리적으로 그룹화하는 그룹 계정 개념을 지원 합니다. 모든 계정은 다른 그룹 계정의 일부가됩니다. Unix 그룹은 파일 권한 및 프로세스 관리를 처리하는 데 중요한 역할을합니다.

사용자 및 그룹 관리

네 가지 주요 사용자 관리 파일이 있습니다.

  • /etc/passwd− 사용자 계정 및 비밀번호 정보를 유지합니다. 이 파일은 Unix 시스템의 계정에 대한 대부분의 정보를 보유합니다.

  • /etc/shadow− 해당 계정의 암호화 된 비밀번호를 보관합니다. 모든 시스템이이 파일을 지원하는 것은 아닙니다.

  • /etc/group −이 파일에는 각 계정에 대한 그룹 정보가 포함되어 있습니다.

  • /etc/gshadow −이 파일에는 보안 그룹 계정 정보가 포함되어 있습니다.

다음을 사용하여 위의 모든 파일을 확인하십시오. cat 명령.

다음 표는 계정과 그룹을 만들고 관리하기 위해 대부분의 Unix 시스템에서 사용할 수있는 명령을 나열합니다.

Sr. 아니. 명령 및 설명
1

useradd

시스템에 계정을 추가합니다.

2

usermod

계정 속성 수정

userdel

시스템에서 계정을 삭제합니다.

4

groupadd

시스템에 그룹 추가

5

groupmod

그룹 속성 수정

6

groupdel

시스템에서 그룹을 제거합니다.

맨 페이지 도움말 을 사용 하여 여기에 언급 된 각 명령에 대한 전체 구문을 확인할 수 있습니다 .

그룹 만들기

이제 그룹을 만드는 방법을 이해합니다. 이를 위해 계정을 만들기 전에 그룹을 만들어야합니다. 그렇지 않으면 시스템의 기존 그룹을 사용할 수 있습니다. 우리는 모든 그룹이/etc/groups 파일.

모든 기본 그룹은 시스템 계정 특정 그룹이며 일반 계정에는 사용하지 않는 것이 좋습니다. 따라서 다음은 새 그룹 계정을 만드는 구문입니다.

groupadd [-g gid [-o]] [-r] [-f] groupname

다음 표는 매개 변수를 나열합니다.

Sr. 아니. 옵션 및 설명
1

-g GID

그룹 ID의 숫자 값

2

-o

이 옵션은 고유하지 않은 GID로 그룹을 추가하도록 허용합니다.

-r

이 플래그는 groupadd 시스템 계정을 추가하려면

4

-f

이 옵션은 지정된 그룹이 이미 존재하는 경우 성공 상태로 종료됩니다. -g를 사용하면 지정된 GID가 이미 존재하면 다른 (고유) GID가 선택됩니다.

5

groupname

생성 할 실제 그룹 이름

매개 변수를 지정하지 않으면 시스템이 기본값을 사용합니다.

다음 예제 는 대부분의 관리자가 수용 할 수있는 기본값으로 개발자 그룹을 만듭니다 .

$ groupadd developers

그룹 수정

그룹을 수정하려면 groupmod 구문-

$ groupmod -n new_modified_group_name old_group_name

developer_2 그룹 이름을 developer로 변경하려면 다음을 입력하십시오.

$ groupmod -n developer developer_2

재정 GID를 545로 변경하는 방법은 다음과 같습니다.

$ groupmod -g 545 developer

그룹 삭제

이제 그룹을 삭제하는 방법을 이해합니다. 기존 그룹을 삭제하려면groupdel command 그리고 group name. 금융 그룹을 삭제하려면 명령은 다음과 같습니다.

$ groupdel developer

이렇게하면 해당 그룹과 연결된 파일이 아닌 그룹 만 제거됩니다. 소유자는 파일에 계속 액세스 할 수 있습니다.

계정 생성

Unix 시스템에서 새 계정을 만드는 방법을 살펴 보겠습니다. 다음은 사용자 계정을 생성하는 구문입니다-

useradd -d homedir -g groupname -m -s shell -u userid accountname

다음 표는 매개 변수를 나열합니다.

Sr. 아니. 옵션 및 설명
1

-d homedir

계정의 홈 디렉토리를 지정합니다.

2

-g groupname

이 계정에 대한 그룹 계정을 지정합니다.

-m

존재하지 않는 경우 홈 디렉토리를 만듭니다.

4

-s shell

이 계정의 기본 셸을 지정합니다.

5

-u userid

이 계정에 대한 사용자 ID를 지정할 수 있습니다.

6

accountname

생성 할 실제 계정 이름

매개 변수를 지정하지 않으면 시스템이 기본값을 사용합니다. 그만큼useradd 명령은 /etc/passwd, /etc/shadow, 및 /etc/group 파일을 만들고 홈 디렉토리를 만듭니다.

다음은 계정을 만드는 예입니다. mcmohd, 홈 디렉토리를 다음으로 설정 /home/mcmohd 그리고 그룹은 developers. 이 사용자에게는 Korn Shell이 ​​할당되어 있습니다.

$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd

위의 명령을 실행하기 전에 다음을 사용하여 만든 개발자 그룹 이 있는지 확인하십시오 .groupadd 명령.

계정이 생성되면 다음을 사용하여 비밀번호를 설정할 수 있습니다. passwd 다음과 같이 명령-

$ passwd mcmohd20
Changing password for user mcmohd20.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

입력 할 때 passwd accountname, 수퍼 유저 인 경우 암호를 변경할 수있는 옵션이 제공됩니다. 그렇지 않으면 동일한 명령을 사용하지만 계정 이름을 지정하지 않고 비밀번호 만 변경할 수 있습니다.

계정 수정

그만큼 usermod명령을 사용하면 명령 줄에서 기존 계정을 변경할 수 있습니다. 다음과 같은 인수를 사용합니다.useradd 명령과 함께 -l 인수를 사용하여 계정 이름을 변경할 수 있습니다.

예를 들어, 계정 이름을 변경하려면 mcmohd ...에 mcmohd20 그에 따라 홈 디렉토리를 변경하려면 다음 명령을 실행해야합니다.

$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20

계정 삭제

그만큼 userdel명령을 사용하여 기존 사용자를 삭제할 수 있습니다. 주의해서 사용하지 않으면 매우 위험한 명령입니다.

명령에 사용할 수있는 인수 또는 옵션은 하나뿐입니다. .r, 계정의 홈 디렉토리 및 메일 파일을 제거합니다.

예를 들어, mcmohd20 계정을 제거 하려면 다음 명령을 실행하십시오.

$ userdel -r mcmohd20

백업 목적으로 홈 디렉토리를 유지하려면 다음을 생략하십시오. -r선택권. 나중에 필요에 따라 홈 디렉토리를 제거 할 수 있습니다.