주:
- 이 사용지침서는 Oracle 제공 무료 실습 환경에서 제공됩니다.
- Oracle Cloud Infrastructure 인증서, 테넌시 및 구획에 대한 예제 값을 사용합니다. 실습을 마치면 사용자의 클라우드 환경과 관련된 값으로 대체합니다.
Oracle Linux에서 사용자 및 그룹 생성
소개
다음 자습서에서는 Oracle Linux에서 사용자 및 그룹 관리를 수행하는 단계별 절차를 제공합니다. 유저와 그룹을 생성하고, 유저 전용(private) 그룹을 구현하고, 유저에게 부여된 권한을 부여합니다.
목표
이 실습에서는 다음을 수행합니다.
- 새 사용자 생성 및 사용자 홈 디렉토리 탐색
- 새 그룹을 생성하고 그룹에 사용자 추가
- 사용자 전용 그룹 체계 활용 및 디렉토리에 대한 쓰기 액세스 구현
- root 권한을 부여하기 위한
sudo
명령 관리
필요 사항
- Oracle Linux가 설치된 시스템
주: 무료 실습 환경을 사용하는 경우 Oracle Linux Lab Basics에서 연결 및 기타 사용 지침을 참조하십시오.
유저 계정 관리
이 섹션에서는 명령줄 유틸리티를 사용하여 새 사용자 계정을 만들고, 새 사용자를 추가할 때 업데이트되는 파일을 보고, 사용자 계정을 수정하고, 새 사용자의 암호를 설정하고, 새 사용자로 로그인합니다.
-
터미널을 열고 Oracle Linux 인스턴스에 연결합니다.
-
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는 UPG(사용자 개인 그룹) 체계를 사용하므로 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
디렉토리로 변경합니다./staff
디렉토리에oracle_file
라는 새 파일을 생성합니다. 새 파일의 권한 및 소유권을 표시합니다.cd /staff touch oracle_file ls -l oracle_file
staff 그룹에 대한 읽기/쓰기 권한입니다.
-
alice 사용자로 전환합니다. 암호를 묻는 메시지가 나타나면
AB*gh246
를 입력합니다. alice 사용자인지 확인합니다.su - alice whoami
-
alice 사용자에 대한 그룹 멤버쉽을 표시합니다.
groups
alice 사용자는 두 그룹(alice 및 staff)에 속합니다.
-
/staff
디렉토리로 변경합니다./staff
디렉토리에alice_file
라는 새 파일을 생성합니다. 새 파일의 권한 및 소유권을 표시합니다.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가 존재합니다. alice 항목을
/etc/sudoers
파일에 사용하면 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: 사용자에게 향상된 권한 부여
이 섹션에서는 wheel 그룹에 사용자를 추가하여 sudo
권한을 부여합니다.
-
root 사용자로
/etc/sudoers
파일에서 wheel 항목을 봅니다.grep wheel /etc/sudoers
/etc/sudoers
파일의 %wheel ALL=(ALL) ALL 항목을 사용하면 앞에sudo
가 올 때 wheel 그룹의 모든 멤버가 명령을 실행할 수 있습니다. -
alice 사용자를 wheel 그룹에 추가합니다. alice 사용자가 wheel 그룹에 있는지 확인합니다.
usermod -aG wheel alice grep wheel /etc/group
사용자 alice는 wheel 그룹에 보조 그룹 멤버쉽이 있습니다.
-
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 채널에서 보다 무료 학습 컨텐츠에 접근할 수 있습니다. 또한 education.oracle.com/learning-explorer을 방문하여 Oracle Learning Explorer가 됩니다.
제품 설명서는 Oracle Help Center를 참조하십시오.
Create users and groups on Oracle Linux
F49508-05
July 2022
Copyright © 2021, Oracle and/or its affiliates.