본문 바로가기
클라우드 아키텍트 양성과정

리눅스(CentOS) 사용자 관리 & ACL실습

by 종바깅 2021. 4. 26.

사용자 관리 실습

  1. CentOS에 다음 사용자를 생성하시오. 각 사용자의 고유 그룹이 생성되게 하시오.

그룹에 소속시킬 사용자와 UID : ironman(10001),captain(10002),hulk(10003),thor(10004), spiderman(10005)
사용자의 홈 디렉토리 : /home/avengers/[사용자명]
사용자의 쉘 : /bin/bash

1) 사용자의 홈 디렉토리가 생성될 위치의 디렉토리를 생성
# mkdir /home/avengers

2) 주어진 조건을 직접 지정하여 사용자 생성
# useradd -u 10001 -m -d /home/avengers/ironman -s /bin/bash ironman

3) 사용자 생성 시 기본 홈 디렉토리 경로 위치 설정을 변경
# useradd -D -b /home/avengers
-D -b : 사용자 생성 시 기본 홈 베이스 디렉토리 설정 (이 디렉토리 내부에 사용자 이름으로 생성)

4) 변경된 기본 설정을 사용하여 사용자 추가
# useradd -u 10002 captain
# useradd -u 10003 hulk
# useradd -u 10004 thor
# useradd -u 10005 spiderman
  1. CentOS 시스템에 그룹을 생성하고, 1번에서 생성한 사용자들의 보조그룹으로 지정하시오.

그룹 이름 : avengers
그룹 GID : 10000

1) 그룹 생성
# groupadd -g 10000 avengers

2) 기존 사용자의 보조그룹 정보 변경
# usermod -G avengers ironman
# usermod -G avengers captain
# usermod -G avengers hulk
# usermod -G avengers thor
# usermod -G avengers spiderman
  1. avengers 그룹의 사용자들은 자료를 공유하기 위한 공간을 필요로 한다. /shield 디렉토리를 생성하고, 해당 디렉토리 내에 생성되는 파일이 avengers 그룹의 소유로 작성되도록 설정하시오.
    그리고 공유 디렉토리 내 파일은 파일을 생성한 사람만이 삭제할 수 있도록 설정하시오.
1) 공유 디렉토리 생성
# mkdir /shield

2) 공유 디렉토리 정보 확인
# ls -ld /shield
drwxr-xr-x. 2 root root 6 Mar  2 15:39 /shield/

3) 적절한 권한 설정
# chmod 770 /shield

4) 소유그룹 변경
# chgrp avengers /shield

5) 특수권한 부여 (3단에서 한꺼번에 할 수 도 있음)
# chmod g+s /shield
# chmod o+t /shield

or 

# chmod g+s,o+t /shield

or 

# chmod 3770 /shield
  1. 지금부터 새로운 사용자를 시스템에 추가하여야 한다. 이후 생성되는 사용자를 구분하기 위하여 다음과 같이 기본 설정을 변경하시오.
  • /home/villain 경로에 사용자 홈 디렉토리를 생성시키도록 설정
  • 추가되는 사용자의 만료일자(Expire)를 2021년 12월 31일로 자동설정
1) 홈 디렉토리 베이스 경로 생성
# mkdir /home/villain

2) 기본 사용자 홈 디렉토리 베이스 경로를  변경
# useradd -D -b /home/villain

3) 기본 계정 만료일자 설정
# useradd -D -e 2021-12-31

4) 기본 설정 확인
# useradd -D
  1. 4번의 조건에 맞게 사용자가 생성되는지 다음 사용자를 생성하여 확인하시오.
    thanos(20001)
# useradd -u 20001 thanos
  1. thanos 사용자에 대한 보안 설정을 강화하기 위해 다음과 같이 설정을 변경하시오
  • 패스워드 최소 사용기간 : 1일
  • 패스워드 최대 사용기간 : 30일
  • 패스워드 만료 전 경고기간 : 7일
  • 패스워드 만료 후 비활성화 기간 : 15일
  • 계정 만료 일자 : 2021년 10월 31일
# chage -m 1 -M 30 -W 7 -I 15 -E 2021-10-31 thanos
  1. ironman 사용자로 /shield 디렉토리 내에 비밀 문서를 만드시오. 문서의 정보는 다음과 같다.
    문서명 : .security.txt
    소유자 : ironman
    소유그룹 : avengers
    권한 : rw- --- ---
1) ironman 사용자로 파일 생성
ironman$ touch /shield/.security.txt

2) 권한 변경
ironman$ chmod 600 /shield/.security.txt
  1. 7번에서 만든 문서는 avengers 그룹의 사용자들도 열어볼 수 없다.
    하지만 만일에 대비해 avengers 그룹의 사용자들이 파일의 내용을 열어볼 수 있도록 하기 위해 다음과 같이 준비하시오.
  • /bin/vim 파일을 /shield 경로로 복사하고, 파일의 이름을 vim2로 변경한다.
  • vim2 파일을 통해 avengers 그룹의 사용자만이 .securiry.txt 파일을 열어볼 수 있도록 설정한다.
1) 파일 복사
ironman$ cp /bin/vim /shiled/vim2

2) 권한설정 변경
ironman$ chmod 4750 /shield/vim2

ACL 설정 실습

Root 사용자의 권한으로 다음 각 항목을 설정하시오.

  1. ACL 설정할 디렉토리 생성하고 소유권한 및 접근권한을 수정하시오.
    경로명 : /endgame
    소유자 : root
    소유그룹 : root
    권한 : rwx r-- ---
1) 디렉토리 생성
# mkdir /endgame

2) 권한 변경
# chmod 740 /endgame
  1. 1번에서 생성한 경로에 대하여 avengers 그룹에게 디렉토리에 진입할 수 있는 권한 및 파일을 생성할 수 있는 권한을 설정하시오.
# setfacl -m group:avengers:rwx /endgame/
  1. 1번의 경로 내에 만들어지는 파일에 대해 avengers 그룹의 모든 사용자들이 읽기/쓰기/실행 권한을 가질 수 있도록 기본 ACL을 설정하시오. 단, 텍스트 파일과 같이 실행권한이 필요하지 않은 파일에 대해서는 실행권한이 적용되지 않도록 설정하시오.
# setfacl -m d:g:avengers:rwX /endgame/
  1. /endgame 경로 내 spoiler.txt 파일을 생성하시오.
    그리고 이 파일을 avengers 그룹의 사용자가 임의로 수정하지 못하게 하기 위하여 ACL mask 설정을 변경하시오.
# setfacl -m m::r /endgame/spoiler.txt
  1. /endgame 경로 내 scenario.txt 파일을 생성하시오.
    그리고 hulk 사용자에 대하여 읽기/쓰기/실행 권한을 모두 제거한 ACL을 설정하시오.
# setfacl -m u:hulk:- /endgame/scenario.txt
  1. /endgame 경로에 대하여 thanos 사용자가 모든 권한을 가질 수 있도록 재귀적으로 ACL 설정을 수정하시오.
    마찬가지로 텍스트 파일과 같이 실행권한이 필요하지 않은 파일에 대해서는 실행권한이 적용되지 않도록 설정하시오.
# setfacl -Rm u:thanos:rwX /endgame/

댓글