[42-Seoul/B2br] sudo

yebeen·2022년 6월 29일
0

42-Seoul/Born2beroot

목록 보기
3/7
post-thumbnail

1. 설치 및 확인

  • root로 이동
$ su -
  • 업데이트 및 설치
$ apt-get update
$ apt-get install sudo

apt(advanced Packaging Tool) :
그래픽 인터페이스 없이 명령어로 사용됩니다. 설치할 패키지 명을 입력하면, '/etc/apt/sources.list'에 저장된 소스 목록에서 해당 패키지 + 종속성 목록과 함께 찾아 자동으로 설치하기 때문에 종속성 문제를 걱정하지 않아도 됩니다. 무료 오픈 소스이면서 자유도가 높은것이 특징이다.

aptitude :
사용자 인터페이스를 추가해 사용자가 대화형으로 패키지를 검색해 설치, 제거할 수 있는 패키지 관리 도구이다. apt보다 기능이 더 많고, 편리하며 사용하지 않는 패키지를 자동적으로 제거해주거나 설치, 업데이트 과정에서 충돌이 있을 경우엔 다른 대안도 함께 제시해준다.

  • 설치 확인
$ dpkg -l | grep 'sudo'
  • 구성 추가
$ visudo
  • visudo : 일반 편집기로 /etc/sudoers 파일을 편집할 경우 실수로 잘못된 구분이 있을 경우 sudo로 권한 상승이 불가능합니다. visudo는 저장시 구문 검사를 수행하므로 잘못된 구문으로 인한 문제를 해결할 수 있습니다.

# sudo 실행 횟수를 지정(Default, 3)
Defaults	passwd_tries=3	
# 에러 메시지 출력
Defaults	authfail_message="권한 획득 실패 시 출력 메시지"
Defaults	badpass_message="비밀번호 오류 시 출력 메시지"
# sudo 명령어 실행 시 입력된 명령어를 log로 저장
Defaults	log_input
# sudo 명령어 실행 시 출력 결과를 log로 저장
Defaults	log_output
# sudo log 저장 디렉토리를 지정하는 설정
Defaults	iolog_dir="/var/log/sudo/"
# sudo 명령어 실행 시 tty를 강제하는 설정
Defaults	requiretty
# sudo가 제공하는 보안 기능 중 하나
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
  • Secure Path : 트로이목마 해킹 공격에 대한 일차적인 방어 기능을 제공합니다. 현재 계정의 PATH에 악의적인 경로가 포함된 경우, 이를 무시함으로써 sudo를 통한 전체 시스템이 해킹되는 경우를 방지할 수 있습니다.

2. sudo 그룹 할당

계정에 sudo 권한을 준다는 것은 해당 계정을 sudo 그룹에 넣어준다는 것 입니다.

  • 그룹 추가
groupadd user42
  • 그룹 설정
$ sudo usermod -aG sudo,user42 [user_name]
  • usermod :
    a : G옵션과 같이 사용하는 옵션으로 기존의 2차 그룹 이외에 추가로 2차 그룹을 지정할 때 사용합니다.
    G : 추가로 다른 그룹에 속하게 할 때 사용합니다.
    g : 그룹이 primary group이 되도록 변경합니다.

  • 그룹 확인

$ groups [user_name]
  • 사용자 추가
$ sudo useradd -m [user_name]
  • 사용자 패스워드 설정
$ passwd [user_name]
  • 사용자 정보 삭제
$ userdel -r [user_name]

3. sudo를 사용하는 이유

최소 권한 규칙에 의거하여 root로 로그인하는 것은 차단하고 root 권한이 필요할 경우에만 sudo 명령어를 사용하여 제한적으로 실행하는 것이 시스템의 안정성과 보안 측면에서 좋은 습관입니다.
또한 su root를 할 경우 무슨 작업을 했는지 확인하는 것이 불가능합니다. sudo를 쓰게 되면 command단위의 logging이 가능하므로 정확한 기록을 확인할 수 있게 됩니다.


참고 :

profile
🐣🐥

0개의 댓글