참고:

Oracle Linux에서 사용자 및 그룹 만들기

소개

다음 자습서에서는 Oracle Linux에서 사용자 및 그룹 관리를 수행하는 단계별 절차를 제공합니다. 유저와 그룹을 생성하고, 유저 전용(private) 그룹을 구현하고, 유저에게 부여된 권한을 부여합니다. 이 사용지침서는 Oracle Linux 8 사용자를 대상으로 하지만 다른 Oracle Linux 릴리스에서도 명령을 사용할 수 있습니다.

목표

이 실습에서는 다음 작업을 수행합니다.

필요 사항

주: 무료 실습 환경을 사용할 때는 연결 및 기타 사용 지침은 Oracle Linux Lab Basics을 참조하십시오.

유저 계정 관리

이 섹션에서는 명령줄 유틸리티를 사용하여 새 사용자 계정을 만들고, 새 사용자를 추가할 때 업데이트되는 파일을 보고, 사용자 계정을 수정하고, 새 사용자에 대한 암호를 설정하고, 새 사용자로 로그인합니다.

  1. 터미널을 열고 Oracle Linux 8 인스턴스에 연결합니다.

  2. root 사용자로 전환합니다.

    sudo su -
    
  3. root 사용자로 alice라는 사용자를 추가합니다.

    useradd alice
    

    사용자가 /etc/passwd 파일에 추가됩니다.

  4. /etc/passwd 파일에서 alice 항목을 확인합니다.

    grep alice /etc/passwd
    

    grep output

    출력되는 내용은 다음과 같습니다.

    • 새 사용자의 UID 및 GID가 동일합니다(1001).
    • 새 사용자(/home/alice)에 대한 홈 디렉토리가 만들어졌습니다.
    • 새 사용자의 기본 셸은 /bin/bash입니다.
  5. 홈 디렉토리를 확인합니다.

    ls -l /home
    

    ls 출력

    이 예에서는 opc 사용자가 이미 존재합니다.
    /etc/login.defsCREATE_HOME 매개변수가 yes로 설정되었으므로 새 사용자에 대한 홈 디렉토리가 만들어졌습니다.

  6. /etc/login.defs 파일에서 CREATE_HOME 매개변수를 확인합니다.

    grep CREATE_HOME /etc/login.defs
    

    grep output

  7. /etc/default/useradd에 저장된 새 사용자에 대한 기본 설정을 확인합니다.

    cat /etc/default/useradd
    

    기본 설정

    SKEL 매개변수는 /etc/skel로 설정됩니다.

  8. /etc/skel 디렉토리의 내용을 확인합니다.

    ls -la /etc/skel
    

    스켈 파일

  9. alice 홈 디렉토리의 내용을 확인합니다.

    ls -la /home/alice
    

    home dir

    SKEL(/etc/skel)의 내용이 새 사용자의 홈 디렉토리에 복사됩니다.

  10. /etc/group 파일에서 새 alice 항목을 확인합니다.

    grep alice /etc/group
    

    그룹 파일

    Oracle Linux 8에서는 UPG(User Private Group) 체계를 사용하기 때문에 alice 사용자가 만들어질 때 새로운 전용 그룹(alice, GID=1001)이 만들어졌습니다.

  11. alice 사용자에 대한 GECOS 정보를 수정합니다. GECOS 정보를 수정하기 전후 /etc/passwd 파일에서 alice 항목을 확인합니다.

    grep alice /etc/passwd
    usermod -c "Alice Smith" alice
    grep alice /etc/passwd
    

    usermod

  12. alice 사용자에 대한 암호 AB*gh246를 만듭니다. alice에 대한 암호를 만들기 전후에 /etc/shadow 파일에서 alice 항목을 확인합니다.

    grep alice /etc/shadow
    passwd alice
    grep alice /etc/shadow
    

    비밀번호

    alice!!는 해시된 암호 값으로 바뀝니다.

  13. root 로그인을 종료하고 alice 사용자로 로그인합니다. 프롬프트가 표시되면 암호 AB*gh246를 제공합니다.

    exit
    su - alice
    

    로그인

  14. alice 사용자이고 현재 디렉토리가 alice 사용자의 홈 디렉토리인지 확인합니다.

    whoami
    pwd
    

    확인

  15. alice 사용자의 셸을 종료하고 root 사용자가 됩니다.

    exit
    sudo su -
    

    루트

  16. root 사용자로 이 연습의 뒷부분에서 사용되는 oracle이라는 사용자를 추가합니다.

    useradd oracle
    
  17. oracle 유저에 대해 XY*gh579 암호를 생성합니다.

    passwd oracle
    

    oracle pwd

그룹 계정 관리

이 섹션에서는 새 그룹 계정을 생성하고 이 새 그룹에 사용자를 추가합니다.

  1. root 사용자로 staff라는 그룹을 추가합니다.

    groupadd staff
    

    그룹이 /etc/group 파일에 추가됩니다.

  2. /etc/group 파일에서 마지막 10개 항목을 확인합니다.

    tail /etc/group
    

    tail output

    새 그룹에 대한 GID(1003)는 1씩 증가합니다.

  3. alice 사용자를 staff 그룹에 추가합니다. /etc/group 파일에서 staff 그룹 항목을 확인합니다.

    usermod -aG 1003 alice
    grep staff /etc/group
    

    사용자 추가

    alice 사용자는 staff 그룹에 보조 그룹 멤버쉽을 갖습니다.

  4. alice에 대한 기본 그룹 멤버쉽을 확인합니다.

    grep alice /etc/passwd
    

    grep output

    alice 사용자의 기본 그룹은 여전히 1001입니다.

사용자 개인 그룹 구현

이 섹션에서는 사용자 전용 그룹 체계를 사용하여 여러 사용자가 단일 디렉토리에 있는 파일에 대한 쓰기 액세스 권한을 부여합니다.

  1. root 사용자로 /staff 디렉토리를 만듭니다.

    mkdir /staff
    
  2. /staff 디렉토리 및 해당 권한을 확인합니다.

    ls -ld /staff
    

    ls 출력

  3. /staff 디렉토리에 대한 그룹 소유권을 staff 그룹으로 변경합니다. -R 옵션(순환)은 /staff 내에서 파일 및 디렉토리의 그룹을 설정합니다. 그룹 소유권을 변경한 후 /staff 디렉토리와 해당 권한을 확인합니다.

    chgrp -R staff /staff
    ls -ld /staff
    

    chgrp

    /staff 디렉토리의 소유자는 여전히 root이지만 이제 그룹은 staff입니다.

  4. /staff 디렉토리에 setgid 비트를 설정합니다. 그런 다음 /staff 디렉토리에 대한 권한을 확인합니다.

    chmod -R 2775 /staff
    ls -ld /staff
    

    setgid

    /staff 디렉토리에 대한 그룹 권한이 변경되었습니다.

  5. oracle 사용자를 staff 그룹에 추가합니다. oracle 사용자를 추가한 후 /etc/group 파일에서 staff 항목을 확인합니다.

    usermod -aG staff oracle
    grep staff /etc/group
    

    grep output

    aliceoracle 사용자 모두 staff 그룹에 보조 그룹 멤버쉽을 갖습니다.

  6. oracle 사용자로 전환합니다. 현재 root 사용자이므로 oracle 사용자의 암호를 입력하라는 메시지가 표시되지 않습니다. oracle 사용자이고 현재 디렉토리가 oracle 사용자의 홈 디렉토리인지 확인합니다.

    su - oracle
    whoami
    pwd
    

    oracle user

  7. oracle 사용자에 대한 그룹 멤버쉽을 표시합니다.

    groups
    

    그룹

    oracle 사용자는 oraclestaff라는 두 개의 그룹에 속합니다.

  8. /staff 디렉토리로 변경합니다. oracle_file라는 /staff 디렉토리에 새 파일을 만듭니다. 새 파일의 권한과 소유권을 표시합니다.

    cd /staff
    touch oracle_file
    ls -l oracle_file
    

    oracle file

    권한은 staff 그룹에 대한 읽기/쓰기입니다.

  9. alice 사용자로 전환합니다. 프롬프트가 표시되면 암호 AB*gh246를 제공합니다. alice 사용자인지 확인합니다.

    su - alice
    whoami
    

    su alice

  10. alice 사용자에 대한 그룹 멤버쉽을 표시합니다.

    groups
    

    alice 그룹

    alice 사용자는 alicestaff의 두 그룹에 속합니다.

  11. /staff 디렉토리로 변경합니다. alice_file라는 /staff 디렉토리에 새 파일을 만듭니다. 새 파일의 권한과 소유권을 표시합니다.

    cd /staff
    touch alice_file
    ls -l
    

    파일 perm

    권한은 staff 그룹에 대한 두 파일에서 모두 읽기/쓰기입니다.

  12. alice 사용자로 touch 명령을 사용하여 oracle_file에서 시간 기록을 업데이트합니다. 파일을 보고 시간이 변경되었는지 확인합니다.

    touch oracle_file
    ls -l
    

    터치 앨리스

    시간 기록을 업데이트하면 oracle 사용자가 파일을 만든 경우에도 alice 사용자로 파일에 대한 쓰기 권한이 부여됩니다.

  13. alice 사용자의 셸과 oracle 사용자의 셸을 모두 종료하여 root 사용자의 셸로 돌아갑니다. root 사용자인지 확인합니다.

    exit
    exit
    whoami
    

    파일 perm

옵션 1: 사용자에게 상향 조정된 권한 부여

이 섹션에서는 /etc/sudoers 파일에 항목을 추가하여 사용자에게 sudo 권한을 부여합니다.

  1. alice 사용자로 전환합니다. 현재 root 사용자이므로 alice 암호를 입력하라는 메시지가 표시되지 않습니다. alice 사용자인지 확인합니다.

    su - alice
    whoami
    

    su alice

  2. alice 사용자로 newuser를 추가합니다.

    useradd newuser
    

    사용자 추가

    alice 사용자에게는 newuser를 추가할 수 있는 권한이 없습니다.

  3. 이전 useradd 명령 앞에 sudo 명령을 삽입하여 newuser를 추가합니다. 프롬프트가 표시되면 암호 AB*gh246를 제공합니다.

    sudo useradd newuser
    

    sudo fail

    적절한 권한 부여 없이 이 관리자 명령을 실행하려고 시도하면 /var/log/secure 파일에 보고됩니다.

  4. alice 사용자의 셸을 종료하여 root 사용자의 셸로 돌아갑니다. /var/log/secure 파일에서 sudoers 항목을 확인합니다.

    exit
    grep sudoers /var/log/secure
    

    grep sudoers

    /sbin/useradd 명령 사용 시도에 대한 alice : user NOT in sudoers 항목은 /var/log/secure 파일에 있습니다. 예제에서는 여러 항목이 표시됩니다. 하나의 항목만 가질 수 있습니다.

  5. root 사용자로 visudo 명령을 사용하여 /etc/sudoers 파일을 편집합니다.

    visudo
    

    이 명령은 vim 편집기를 사용하여 /etc/sudoers 파일을 엽니다.

  6. /etc/sudoers 파일에서 다음 행을 추가하여 alice 사용자에게 /sbin/useradd 명령을 실행할 수 있는 권한을 부여합니다.

    alice   ALL=(ALL)       /sbin/useradd
    

    새 항목이 강조 표시됩니다. 변경사항을 저장하고 visudo 명령을 종료합니다.

    비자도

  7. alice 사용자로 전환합니다. sudo 명령 없이 newuser를 추가합니다. sudo 명령을 삽입하고 newuser를 다시 추가합니다. 프롬프트가 표시되면 암호 AB*gh246를 제공합니다.

    su - alice
    useradd newuser
    sudo useradd newuser
    

    sudo work

  8. newuser가 추가되었는지 확인합니다.

    grep newuser /etc/passwd
    ls -l /home
    

    verify sudo

    이제 newuser가 존재합니다. /etc/sudoers 파일에 alice 항목을 사용할 경우 alice 사용자는 /sbin/useradd 명령을 실행할 수 있는 sudo 권한을 가집니다.

  9. alice 셸을 종료하여 root 셸로 돌아갑니다. visudo 명령을 사용하고 이 연습의 앞부분에서 추가한 /etc/sudoers 파일에서 alice 항목을 삭제합니다.

    exit
    visudo
    

    삭제할 항목이 강조 표시됩니다. 전체 행을 삭제하거나 이 예에서와 같이 # 문자를 삽입하여 행을 주석 처리합니다. 변경사항을 저장하고 visudo 명령을 종료합니다.

    항목 삭제

  10. alice 사용자가 더 이상 새 사용자를 추가할 수 없는지 확인합니다. alice 사용자로 전환합니다. sudo 명령을 사용하여 anotheruser를 추가합니다.

    su - alice
    sudo useradd anotheruser
    

    다른 실패

    적절한 권한 부여 없이 이 관리자 명령을 실행하려고 시도하면 /var/log/secure 파일에 보고됩니다.

  11. alice 사용자의 셸을 종료하여 root 사용자의 셸로 돌아갑니다.

    exit
    

옵션 2: 사용자에게 상향 조정된 권한 부여

이 섹션에서는 그룹에 사용자를 추가하여 sudo 권한을 부여합니다.

  1. root 사용자로 /etc/sudoers 파일에서 wheel 항목을 확인합니다.

    grep wheel /etc/sudoers
    

    휠

    /etc/sudoers 파일의 %wheel ALL=(ALL) ALL 항목은 wheel 그룹의 모든 멤버가 sudo 앞에 오는 모든 명령을 실행할 수 있도록 허용합니다.

  2. alice 사용자를 wheel 그룹에 추가합니다. alice 사용자가 그룹에 있는지 확인합니다.

    usermod -aG wheel alice
    grep wheel /etc/group
    

    휠 추가

    사용자 alice 그룹에 보조 그룹 멤버쉽을 갖습니다.

  3. alice 사용자로 전환합니다. 현재 root 사용자이므로 alice 암호를 입력하라는 메시지가 표시되지 않습니다. alice 사용자인지 확인합니다.

    su - alice
    whoami
    

    su alice

  4. alice 사용자로 sudo useradd 명령을 사용하여 thirduser를 추가합니다. 프롬프트가 표시되면 암호 AB*gh246를 입력합니다.

    sudo useradd thirduser
    

    세번째 추가

  5. thirduser가 추가되었는지 확인합니다. ls 명령은 sudo을 삽입하고 alice 암호를 제공할 때까지 실패합니다. 그러면 alice 사용자에게 sudo 권한이 있는지 확인합니다.

    grep thirduser /etc/passwd
    ls -la /home/thirduser
    sudo ls -la /home/thirduser
    

    세번째 확인

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 찾아보거나 Oracle Learning YouTube channel에서 무료 학습 콘텐츠에 액세스할 수 있습니다. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer로 변경하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.