참고:
- 이 자습서는 Oracle에서 제공하는 무료 실습 환경에서 사용할 수 있습니다.
- Oracle Cloud Infrastructure 인증서, 테넌시 및 구획에 대한 예제 값이 사용됩니다. 랩을 완료한 후에는 이러한 값을 클라우드 환경과 관련된 값으로 대체하십시오.
Oracle Linux에서 사용자 및 그룹 만들기
소개
다음 자습서에서는 Oracle Linux에서 사용자 및 그룹 관리를 수행하는 단계별 절차를 제공합니다. 유저와 그룹을 생성하고, 유저 전용(private) 그룹을 구현하고, 유저에게 부여된 권한을 부여합니다. 이 사용지침서는 Oracle Linux 8 사용자를 대상으로 하지만 다른 Oracle Linux 릴리스에서도 명령을 사용할 수 있습니다.
목표
이 실습에서는 다음 작업을 수행합니다.
- 새 사용자를 생성하고 사용자의 홈 디렉토리를 탐색합니다.
- 새 그룹 생성 및 그룹에 사용자 추가
- 유저 전용 그룹 방식 활용 및 디렉토리에 대한 쓰기 액세스 구현
- root 권한 부여를 위해
sudo
명령 관리
필요 사항
- Oracle Linux 8이 설치된 시스템
주: 무료 실습 환경을 사용할 때는 연결 및 기타 사용 지침은 Oracle Linux Lab Basics을 참조하십시오.
유저 계정 관리
이 섹션에서는 명령줄 유틸리티를 사용하여 새 사용자 계정을 만들고, 새 사용자를 추가할 때 업데이트되는 파일을 보고, 사용자 계정을 수정하고, 새 사용자에 대한 암호를 설정하고, 새 사용자로 로그인합니다.
-
터미널을 열고 Oracle Linux 8 인스턴스에 연결합니다.
-
root 사용자로 전환합니다.
sudo su -
-
root 사용자로 alice라는 사용자를 추가합니다.
useradd alice
사용자가
/etc/passwd
파일에 추가됩니다. -
/etc/passwd
파일에서 alice 항목을 확인합니다.grep alice /etc/passwd
출력되는 내용은 다음과 같습니다.
- 새 사용자의 UID 및 GID가 동일합니다(
1001
). - 새 사용자(
/home/alice
)에 대한 홈 디렉토리가 만들어졌습니다. - 새 사용자의 기본 셸은
/bin/bash
입니다.
- 새 사용자의 UID 및 GID가 동일합니다(
-
홈 디렉토리를 확인합니다.
ls -l /home
이 예에서는 opc 사용자가 이미 존재합니다.
/etc/login.defs
의 CREATE_HOME 매개변수가yes
로 설정되었으므로 새 사용자에 대한 홈 디렉토리가 만들어졌습니다. -
/etc/login.defs
파일에서 CREATE_HOME 매개변수를 확인합니다.grep CREATE_HOME /etc/login.defs
-
/etc/default/useradd
에 저장된 새 사용자에 대한 기본 설정을 확인합니다.cat /etc/default/useradd
SKEL 매개변수는
/etc/skel
로 설정됩니다. -
/etc/skel
디렉토리의 내용을 확인합니다.ls -la /etc/skel
-
alice 홈 디렉토리의 내용을 확인합니다.
ls -la /home/alice
SKEL(
/etc/skel
)의 내용이 새 사용자의 홈 디렉토리에 복사됩니다. -
/etc/group
파일에서 새 alice 항목을 확인합니다.grep alice /etc/group
Oracle Linux 8에서는 UPG(User Private Group) 체계를 사용하기 때문에 alice 사용자가 만들어질 때 새로운 전용 그룹(alice, GID=1001)이 만들어졌습니다.
-
alice 사용자에 대한 GECOS 정보를 수정합니다. GECOS 정보를 수정하기 전후
/etc/passwd
파일에서 alice 항목을 확인합니다.grep alice /etc/passwd usermod -c "Alice Smith" alice grep alice /etc/passwd
-
alice 사용자에 대한 암호
AB*gh246
를 만듭니다. alice에 대한 암호를 만들기 전후에/etc/shadow
파일에서 alice 항목을 확인합니다.grep alice /etc/shadow passwd alice grep alice /etc/shadow
alice의
!!
는 해시된 암호 값으로 바뀝니다. -
root 로그인을 종료하고 alice 사용자로 로그인합니다. 프롬프트가 표시되면 암호
AB*gh246
를 제공합니다.exit su - alice
-
alice 사용자이고 현재 디렉토리가 alice 사용자의 홈 디렉토리인지 확인합니다.
whoami pwd
-
alice 사용자의 셸을 종료하고 root 사용자가 됩니다.
exit sudo su -
-
root 사용자로 이 연습의 뒷부분에서 사용되는 oracle이라는 사용자를 추가합니다.
useradd oracle
-
oracle 유저에 대해
XY*gh579
암호를 생성합니다.passwd oracle
그룹 계정 관리
이 섹션에서는 새 그룹 계정을 생성하고 이 새 그룹에 사용자를 추가합니다.
-
root 사용자로 staff라는 그룹을 추가합니다.
groupadd staff
그룹이
/etc/group
파일에 추가됩니다. -
/etc/group
파일에서 마지막 10개 항목을 확인합니다.tail /etc/group
새 그룹에 대한 GID(
1003
)는 1씩 증가합니다. -
alice 사용자를 staff 그룹에 추가합니다.
/etc/group
파일에서 staff 그룹 항목을 확인합니다.usermod -aG 1003 alice grep staff /etc/group
alice 사용자는 staff 그룹에 보조 그룹 멤버쉽을 갖습니다.
-
alice에 대한 기본 그룹 멤버쉽을 확인합니다.
grep alice /etc/passwd
alice 사용자의 기본 그룹은 여전히
1001
입니다.
사용자 개인 그룹 구현
이 섹션에서는 사용자 전용 그룹 체계를 사용하여 여러 사용자가 단일 디렉토리에 있는 파일에 대한 쓰기 액세스 권한을 부여합니다.
-
root 사용자로
/staff
디렉토리를 만듭니다.mkdir /staff
-
/staff
디렉토리 및 해당 권한을 확인합니다.ls -ld /staff
-
/staff
디렉토리에 대한 그룹 소유권을 staff 그룹으로 변경합니다.-R
옵션(순환)은/staff
내에서 파일 및 디렉토리의 그룹을 설정합니다. 그룹 소유권을 변경한 후/staff
디렉토리와 해당 권한을 확인합니다.chgrp -R staff /staff ls -ld /staff
/staff
디렉토리의 소유자는 여전히 root이지만 이제 그룹은 staff입니다. -
/staff
디렉토리에 setgid 비트를 설정합니다. 그런 다음/staff
디렉토리에 대한 권한을 확인합니다.chmod -R 2775 /staff ls -ld /staff
/staff
디렉토리에 대한 그룹 권한이 변경되었습니다. -
oracle 사용자를 staff 그룹에 추가합니다. oracle 사용자를 추가한 후
/etc/group
파일에서 staff 항목을 확인합니다.usermod -aG staff oracle grep staff /etc/group
alice 및 oracle 사용자 모두 staff 그룹에 보조 그룹 멤버쉽을 갖습니다.
-
oracle 사용자로 전환합니다. 현재 root 사용자이므로 oracle 사용자의 암호를 입력하라는 메시지가 표시되지 않습니다. oracle 사용자이고 현재 디렉토리가 oracle 사용자의 홈 디렉토리인지 확인합니다.
su - oracle whoami pwd
-
oracle 사용자에 대한 그룹 멤버쉽을 표시합니다.
groups
oracle 사용자는 oracle과 staff라는 두 개의 그룹에 속합니다.
-
/staff
디렉토리로 변경합니다.oracle_file
라는/staff
디렉토리에 새 파일을 만듭니다. 새 파일의 권한과 소유권을 표시합니다.cd /staff touch oracle_file ls -l oracle_file
권한은 staff 그룹에 대한 읽기/쓰기입니다.
-
alice 사용자로 전환합니다. 프롬프트가 표시되면 암호
AB*gh246
를 제공합니다. alice 사용자인지 확인합니다.su - alice whoami
-
alice 사용자에 대한 그룹 멤버쉽을 표시합니다.
groups
alice 사용자는 alice 및 staff의 두 그룹에 속합니다.
-
/staff
디렉토리로 변경합니다.alice_file
라는/staff
디렉토리에 새 파일을 만듭니다. 새 파일의 권한과 소유권을 표시합니다.cd /staff touch alice_file ls -l
권한은 staff 그룹에 대한 두 파일에서 모두 읽기/쓰기입니다.
-
alice 사용자로
touch
명령을 사용하여oracle_file
에서 시간 기록을 업데이트합니다. 파일을 보고 시간이 변경되었는지 확인합니다.touch oracle_file ls -l
시간 기록을 업데이트하면 oracle 사용자가 파일을 만든 경우에도 alice 사용자로 파일에 대한 쓰기 권한이 부여됩니다.
-
alice 사용자의 셸과 oracle 사용자의 셸을 모두 종료하여 root 사용자의 셸로 돌아갑니다. root 사용자인지 확인합니다.
exit exit whoami
옵션 1: 사용자에게 상향 조정된 권한 부여
이 섹션에서는 /etc/sudoers
파일에 항목을 추가하여 사용자에게 sudo
권한을 부여합니다.
-
alice 사용자로 전환합니다. 현재 root 사용자이므로 alice 암호를 입력하라는 메시지가 표시되지 않습니다. alice 사용자인지 확인합니다.
su - alice whoami
-
alice 사용자로 newuser를 추가합니다.
useradd newuser
alice 사용자에게는 newuser를 추가할 수 있는 권한이 없습니다.
-
이전
useradd
명령 앞에sudo
명령을 삽입하여 newuser를 추가합니다. 프롬프트가 표시되면 암호AB*gh246
를 제공합니다.sudo useradd newuser
적절한 권한 부여 없이 이 관리자 명령을 실행하려고 시도하면
/var/log/secure
파일에 보고됩니다. -
alice 사용자의 셸을 종료하여 root 사용자의 셸로 돌아갑니다.
/var/log/secure
파일에서 sudoers 항목을 확인합니다.exit grep sudoers /var/log/secure
/sbin/useradd
명령 사용 시도에 대한 alice : user NOT in sudoers 항목은/var/log/secure
파일에 있습니다. 예제에서는 여러 항목이 표시됩니다. 하나의 항목만 가질 수 있습니다. -
root 사용자로
visudo
명령을 사용하여/etc/sudoers
파일을 편집합니다.visudo
이 명령은
vim
편집기를 사용하여/etc/sudoers
파일을 엽니다. -
/etc/sudoers
파일에서 다음 행을 추가하여 alice 사용자에게/sbin/useradd
명령을 실행할 수 있는 권한을 부여합니다.alice ALL=(ALL) /sbin/useradd
새 항목이 강조 표시됩니다. 변경사항을 저장하고
visudo
명령을 종료합니다. -
alice 사용자로 전환합니다.
sudo
명령 없이 newuser를 추가합니다.sudo
명령을 삽입하고 newuser를 다시 추가합니다. 프롬프트가 표시되면 암호AB*gh246
를 제공합니다.su - alice useradd newuser sudo useradd newuser
-
newuser가 추가되었는지 확인합니다.
grep newuser /etc/passwd ls -l /home
이제 newuser가 존재합니다.
/etc/sudoers
파일에 alice 항목을 사용할 경우 alice 사용자는/sbin/useradd
명령을 실행할 수 있는sudo
권한을 가집니다. -
alice 셸을 종료하여 root 셸로 돌아갑니다.
visudo
명령을 사용하고 이 연습의 앞부분에서 추가한/etc/sudoers
파일에서 alice 항목을 삭제합니다.exit visudo
삭제할 항목이 강조 표시됩니다. 전체 행을 삭제하거나 이 예에서와 같이
#
문자를 삽입하여 행을 주석 처리합니다. 변경사항을 저장하고visudo
명령을 종료합니다. -
alice 사용자가 더 이상 새 사용자를 추가할 수 없는지 확인합니다. alice 사용자로 전환합니다.
sudo
명령을 사용하여 anotheruser를 추가합니다.su - alice sudo useradd anotheruser
적절한 권한 부여 없이 이 관리자 명령을 실행하려고 시도하면
/var/log/secure
파일에 보고됩니다. -
alice 사용자의 셸을 종료하여 root 사용자의 셸로 돌아갑니다.
exit
옵션 2: 사용자에게 상향 조정된 권한 부여
이 섹션에서는 휠 그룹에 사용자를 추가하여 sudo
권한을 부여합니다.
-
root 사용자로
/etc/sudoers
파일에서 wheel 항목을 확인합니다.grep wheel /etc/sudoers
/etc/sudoers
파일의 %wheel ALL=(ALL) ALL 항목은 wheel 그룹의 모든 멤버가sudo
앞에 오는 모든 명령을 실행할 수 있도록 허용합니다. -
alice 사용자를 wheel 그룹에 추가합니다. alice 사용자가 휠 그룹에 있는지 확인합니다.
usermod -aG wheel alice grep wheel /etc/group
사용자 alice는 휠 그룹에 보조 그룹 멤버쉽을 갖습니다.
-
alice 사용자로 전환합니다. 현재 root 사용자이므로 alice 암호를 입력하라는 메시지가 표시되지 않습니다. alice 사용자인지 확인합니다.
su - alice whoami
-
alice 사용자로
sudo useradd
명령을 사용하여 thirduser를 추가합니다. 프롬프트가 표시되면 암호AB*gh246
를 입력합니다.sudo useradd thirduser
-
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를 참조하십시오.
Create users and groups on Oracle Linux
F49508-04
May 2022
Copyright © 2021, Oracle and/or its affiliates.