[42서울 / born2beroot] Sudo 적용, Linux group 설정

Hans Park·2021년 9월 30일
0

42서울 본과정

목록 보기
5/15
post-thumbnail

Born to Code

42서울 본과정

보너스 X

노션이 보기 편합니다.
born2beroot 아카이브 배포판 by seunpark


아래 가이드를 따라하시면 설치가 완료되도록, 설치 순서대로 작성하였습니다.

해당 글이 치팅 시트로 변질됨을 방지하기 위해 중요부분을 삭제처리하였으니, 직접 검색하고 알아보는 시간을 가지고 임해주시기 바랍니다.
평가자분께선 피평가자가 이 사이트를 일반적인 수준 이상의 불필요한 참고 등 42서울 정신에 위배되는 행동을 하지 않는지 확인부탁드립니다.


sudo적용 / 그룹설정

생성일: 2021년 9월 13일 오후 8:53

sudo 설정 등 설정 후에 명령어가 먹지 않는다면, 로그아웃 후 재 로그인하여 실행

평가 시 진행될 새 유저 등록은, 일반 명령어만 사용하면 제대로 실행되지 않을 수 있음.
무슨 옵션을 넣어야 할지는 직접 검색바람.

⚠️ 평가자님! 피평가자가 해당 스크립트로 평가를 받으려 한다면 fail을 주십시요!

sudo 설치 및 설정


  • su - 명령어를 통해 root 계정으로 이동.

  • sudo가 설치되어있는지 여부 확인.
    dpkg -l sudo
    - 설치되어 있지 않을 경우 아래의 명령어를 통해 설치
    apt install sudo

  • 아래 명령어를 통해 sudoer파일 접근
    visudo

sudoer파일은 일반 편집기로 접근하면 많은 제약이 있다.

직접 /etc/sudoers 파일을 편집하다가 실수가 발생하면, sudo를 사용할 수 없게 된다.
visudo는 문법체크를 해준다.

  • secure_path에 서브젝트에서 요구하는대로 /snap/bin를 추가한다.
secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

sudo명령 실행 시 현재 계정의 쉘이 아닌 새로운 쉘을 생성하고 그 안에서 명령을 실행하는데, 이 때 명령을 찾을 경로를 나열한 환경변수인 PATH값이 바로 secure_path

트로이목마 해킹 공격에 대한 일차적인 방어 기능을 제공.(사용자의 부주의로 현재 계정의 PATH에 악의적인 경로가 포함된 경우, 이를 무시함으로써 sudo를 통한 전체 시스템에 해킹되는 경우를 방지

  • Default와 주석 사이 아래 옵션들을 추가적으로 설정한다.
Defaults	authfail_message="원하는 에러메세지" #권한 획득 실패 시 출력 (sudo 인증 실패 시)
Defaults	badpass_message="원하는 에러메세지" #sudo인증에서 비밀번호 틀리면 출력
Defaults	log_input #sudo명령어 실행 시 입력된 명령어 log로 저장
Defaults	log_output #sudo명령어 실행 시 출력 결과를 log로 저장
Defaults	requiretty #sudo명령어 실행 시 tty강제
Defaults	iolog_dir="/var/log/sudo/" #sudo log 저장 디렉토리 설정
Defaults	passwd_tries=3 #sudo실행 횟수를 지정. default가 3
  • 저장은 ctr + X를 누른 후 Y를 눌러 나간다.

만약 tmp파일 등의 이름으로 저장 관련하여 물어보면 .tmp를 지운 sudoers로 저장한다.

  • /var/log/sudo/00/00에서 log를 확인할 수 있다.

⚠️ 평가자님! 피평가자가 해당 스크립트로 평가를 받으려 한다면 fail을 주십시요!

그룹 설정


  • groupadd user42 명령어를 통해 user42그룹 추가
  • usermod -aG sudo,user42 <사용자이름> 명령어를 통해 해당 그룹에 유저를 추가
    이 때 그룹이 여러 개인 경우, 그룹은 공백 없이 콤마로 구분되어야 한다.
  • usermod -g user42 <사용자이름> 명령어를 통해 user42 그룹이 primary group이 되도록 한다.

G 옵션:
G옵션만 붙힌 상태에서 그룹 설정 시, gid그룹을을 제외하고 명령어에 나열된 그룹만 추가가 되며 명령어에 나열되어 있지 않지만 유저가 속해있는 그룹은 전부 탈퇴된다.

a 옵션:
G옵션에서만 함께 쓰일 수 있고, G옵션만 붙었을 때와 달리, 유저가 속해있지만 명령어에 나열되어있지 않는 그룹에 관하여 탈퇴처리 되지 않는다.

profile
장안동 개발새발

0개의 댓글