5 분 소요

사용자 및 그룹

사용자 계정

  • 사용자 계정은 시스템 사용자를 나타냅니다.
  • 사용자 정보는 로컬에 저장하거나 네트워크를 통해 액세스할 수 있는 다른 서버에 저장할 수 있습니다.
  • 정보가 로컬에 저장되면 Linux는 이 정보를 /etc/passwd 파일에 저장합니다.
  • 계정을 공유하지 마세요.

/etc/passwd 파일

Linux는 계정을 /etc/passwd 파일에 저장합니다.

image-20231020153057318

기본 사용자 계정

  • Linux와 서비스를 설치하는 동안 기본 시스템 계정이 만들어집니다.
    • Ex) 설치 중에 루트 사용자 계정이 만들어져 시스템을 관리할 수 있습니다.

useradd 명령

  • 사용자 계정 만들기
  • /home에 사용자의 홈 디렉터리 만들기
  • 계정 기본값 정의
[root@ip-10-0-4-100 ~]# useradd eons
[root@ip-10-0-4-100 ~]# id eons
uid=1002(eons) gid=1002(eons) groups=1002(eons)
[root@ip-10-0-4-100 ~]# grep eons /etc/passwd
eons:x:1002:1002:: /home/eons:/bin/bash
[root@ip-10-0-4-100 ~]#

useradd 명령 옵션

  • 옵션을 이용하면 생성 시 사용자 계정을 사용자 지정할 수 있습니다.
  • 주석 필드는 사용자 성명을 저장하는 데 사용되는 경우가 많습니다.
옵션 설명
-c 주석 useradd -c “new employee” eons
-e 계정 만료 useradd -e 2025-01-01 eons
-d 홈 디렉터리 경로 useradd -d /users/eons eons

usermod 명령

이 명령은 기존 사용자 계정의 일부 또는 전부를 수정하거나 변경하는 데 사용됩니다.

옵션 설명
-c 주석 usermod -c “Eons Box” eons
-e 계정 만료 usermod -e 2025-01-01 eons

userdel 명령

  • 사용자 계정 삭제
  • -r 옵션을 사용하여 사용자 홈 디렉터리도 삭제
[root@ip-10-0-4-100 ~]# useradd eons
[root@ip-10-0-4-100 ~]# id eons
uid=1002(eons) gid=1002(eons) groups=1002(eons)
[root@ip-10-0-4-100 ~]# userdel -r eons
[root@ip-10-0-4-100 ~]#id eons
id: eons: no such user
[root@ip-10-0-4-100 ~]#

passwd 명령

  • 사용자 암호는 passwd 명령으로 설정합니다.
  • 암호를 두 번 입력해야 합니다.
  • 사용자는 자신의 암호를 재설정할 수 있으며, 루트 사용자는 모든 사용자 암호를 재설정할 수 있습니다.
  • 암호를 설정할 때에는 화면에 문자가 표시되지 않습니다.
[root@ip-10-0-4-100 ~]# passwd eons
Changing password for user eons.
New passwd:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@ip-10-0-4-100 ~]#

그룹 관리

그룹이란?

  • 그룹은 계정의 집합입니다.
  • 그룹은 보안 요구 사항이 비슷한 사용자 계정을 연결하는 편리한 방법입니다.
    • Ex) 사용자 네 명에게 개별적으로 권한을 부여하는 것보다 사용자가 네 명인 그룹 1개에 권한을 부여하는 게 더 쉽습니다.
  • 그룹 저장 위치는 /etc/group 파일입니다.

/etc/group 파일

그룹 저장 위치

linux_group

groupadd, groupmod, grooupdel 명령


옵션 설명
groupadd 새 그룹 만들기 groupadd group
groupmod 기존 그룹 수정 groupmod -n new_group old_group
groupdel 기존 그룹 삭제 groupdel group


그룹에 사용자 추가

  • 그룹에 사용자를 추가하는 것은 그룹 수정이 아니라 사용자 수정입니다.
  • 그룹에 사용자를 추가하려면 다음을 사용하면 됩니다.
    • usermod 명령
    • gpassed 명령
[root@ip-10-0-4-100 ~]# usermod -aG developer, employee eons
[root@ip-10-0-4-100 ~]# gpassed -a eonzzang developer
Adding user eonzzang to group developer
[root@ip-10-0-4-100 ~]# tail -n 2 /etc/group
developer:x:1005:eons, eonzzang
employee:x:1006:eons

usermod -aG로 developer와 employee 두 그룹에 eonxs를 추가 했습니다.

gpassed -a로 eonzzang을 developer에 추가 했습니다.

gpassword 명령

  • /etc/group 파일 관리에 사용됨
  • 사용 방법: gpasswd [option] GROUP
옵션 설명
-a, –add 그룹에 사용자 추가
-d, –delete 그룹에서 사용자 제거
-M, –members USER1, USER2… 그룹 구성원 목록 설정
-A, –administrators ADMIN1, ADMIN2… 그룹 관리자 목록 설정

사용자 권한

사용자 권한 수준

루트 사용자 스탠더드 사용자
- 모든 파일에 액세스
- 모든 파일 수정
- 제어 서비스
- 모든 계정 관리
- 하드웨어 관리
- Linux 커널 관리
- 소프트웨어 관리
- 권한이 주어지면 모든 파일에 액세스
- 사용자가 소유한 모든 파일 제어
- 시스템 관리에 대한 제한된 액세스

root 사용 시 주의 사항

  • 보안 모범 실무: 관리자 권한으로 시스템에 로그인 하지 마십시오.

  • 스탬더드 사용자로 로그인한 후 필요한 경우에만 권한을 승격합니다.

  • 루트 사용자는 강력한 Linux 계정이므로, 실수로 인해 시스템이 작동하지 않을 수 있습니다.

  • 스탠더드 사용자 명령 프롬프트는 $로 끝납니다.

    [root@ip-10-0-4-100 ~]# exit
    logout
    [root@ip-10-0-4-100 ~]$
    

su 명령

  • 스탠더드 사용자로 로그인한 후 권한을 승격하여 관리 태스크를 수행합니다.
  • 루트 컨텍스트 종료에 주의합니다.
명령 설명
su root 현재 사용자 환경에서 루트로 전환
su - root 루트 환경에서 루트로 전환

/etc/sudoers 파일

  • 특정 명령을 /etc/sudoers 에 추가하여 특정 사용자에게 특정 명령을 위임합니다.

    구문: users hosts=(user:group) commands

    Ex)

    • 사용자 그룹 구성원이 로컬 호스트를 종료하도록 허용합니다.

      %users localhost=/usr/sbin/shutdown -r now

    • 개발자 그룹 구성원이 암호를 요청하지 않고 모든 호스트에서 모든 액션을 수행하도록 허용합니다.

      %devs ALL=(ALL) NOPASSWD: ALL

  • 특정 명령을 /etc/sudoers 파일에 추가하여 특정 사용자에게 특정 명령을 위임합니다.

일반 형식: #WHO WHERE = (AS WHOM) WHAT

01

miro: 예쁜 다이어그램

sudo 사용

student01 계정은 sudo를 통해 사용자를 생성할 수 있는 권한을 위임받았습니다.

[student01server00 ~]$ sudo useradd user20
[sudo] password for student01:
[student01@server00 ~]$

sudo 명령

- lu 옵션을 사용하면 sudo 권한이 위임됩니다.

[student01@server00 ~]$ sudo -lu student01
Matching Defaults entries for student01 on server00:
...

sudo 로그

  • sudo 권한 사용은 /var/log/messages에 로그됩니다.

  • sudo 권한으로 실행되는 명령은 /var/log/secure에 로그됩니다.

    [root@server00 ~]# tail /var/log/messages
    Feb 28 01:02:16 server00 su: (to root) userA on pts/0
    

su 명령과 sudo 명령의 비교

  • su 명령은 전체 관리 권한을 활성화합니다.
    • 모든 관리 권한이 필요할 때 사용됨
    • 사용자에게 루트 암호를 묻는 메시지 표시
  • sudo 명령은 위임된 권한만 활성화 합니다.
    • 특정 스탠더드 사용자에게 특정 관리 태스크를 위임하는 데 사용됨
    • 사용자에게 자신의 암호를 묻는 메시지 표시

확인 질문

  1. 사용자 계정을 추가하는 데 사용하는 명령은 무엇입니까?

    useradd 명령

  2. 사용자 암호를 재설정하는 데 사용하는 명령은 무엇입니까?

    passwd 명령

  3. 사용자를 그룹으로 구성하면 관리자에게 어떤 도움이 됩니까?

    4명에게 각각 같은 권한을 부여하는 것 보다 그룹으로 묶고 그 그룹에 권한을 부여하는 것이 관리하기 쉽습니다.

  4. 사용자 환경에서 사용자에게 전체 관리 관한을 부여하는 데 사용하는 명령은 무엇입니까?

    su root - 현재 사용자 환경에서 루트로 전환

IAM

AWS Identity and Access Management(IAM)

  • IAM은 사용자와 리소스 액세스를 관리하는 데 사용되는 AWS 서비스 입니다.
  • 사용자, 그룹, 역할을 만들 수 있고, 정책을 적용하여 리소스에 대한 액세스를 제어할 수 있습니다.
  • 다음을 통해 IAM에 액세스 할 수 있습니다.
    • 브라우저를 통한 웹 인터페이스인 AWS관리 콘솔
    • Linux 셸 또는 Windows 명령줄을 사용하여 액세스할 수 있는 명령줄 인터페이스인 AWS Command Line Interface(AWS CLI)
    • Java, Python, JavaScript 등 다양한 언어로 사용 가능한 AWS 소프트웨어 개발 키트(SDK)

핵심 요점

  • Linux 사용자 계정은 시스템 사용자를 나타냅니다.
  • 여러 사용자 계정을 Linux 그룹으로 그룹화하여 용이하게 보안 성능을 관리할 수 있습니다.
  • 루트 사용자는 시스템의 모든 항목에 액세스하고 수정할 수 있는 권한을 보유합니다.
  • su 명령을 사용해 명령을 실행할 다른 사용자로 전환할 수 있습니다.
  • sudo 명령을 사용해 일회성 루트 권한으로 명령을 실행할 수 있습니다.
  • IAM은 사용자와 리소스 액세스를 관리하는 데 사용되는 AWS 서비스입니다.

Knowledge Check

다음 중 사용자 암호 설정에 해당되는 설명은 무엇입니까?(2개 선택)

  • 암호 길이는 8자여야 합니다.
  • 암호는 passwd 명령으로 설정합니다.
  • 사용자는 자신의 암호를 재설정할 수 있습니다.
  • 암호를 3번 입력해야 합니다.
  • 암호는 모두 소문자여야 합니다.

다음 중 스탠더드 사용자의 권한은 무엇입니까?(2개 선택)

  • 모든 서비스 제어
  • 모든 계정 관리
  • Linux 커널 관리
  • 사용자가 소유한 모든 파일 제어
  • 사용자에게 권한이 있는 모든 파일에 액세스

다음 중 전체 관리 권한을 부여하고 루트 사용자 환경으로 전환할 수 있도록 하는 명령은 무엇입니까?

  • bash
  • useradd
  • sudo
  • su

다음 중 그룹에 사용자를 추가하는 명령은 무엇입니까?

  • usermod
  • groupmod
  • sudo
  • groupadd

다음 중 루트 계정을 사용하는 모법 실무에 해당하는 설명은 어느 것입니까?

  • 모든 사용자와 루트 계정 암호를 공유하고, 로그를 사용하여 계정 사용량을 모니터링 합니다.
  • 항상 스탠더드 사용자로 로그인하고, 권한을 상승해야 하는 경우에만 사용자를 루트 계정으로 전환합니다.
  • 헬프 데스크 사용자만 루트 계정을 사용할 수 있도록 허용합니다.
  • 항상 루트 계정을 사용하고, 시스템을 테스트할 경우에만 스탠더드 계정으로 전환합니다.

카테고리:

업데이트:

댓글남기기