sudo란?
- superuser do 에서 유래
- 타 계정에게 root 계정이 가진 권한을 빌려주는 것.
- root 권한이 필요한 경우에만 제한적으로 실행하므로, 보안성과 안전을 좀 더 확보할 수 있다.
- 또한 log 추적에 유용하다.
sudo 설치
- 명령어 su - 를 통해 root 계정으로 이동한다.
su -
su : substitute user의 줄임말.
- 는 --login 옵션과 동일한 명령어. 환경변수가 정리되고, 변경한 사용자의 홈 디렉토리로 이동.
- sudo 설치 여부 확인
dpkg -l sudo
dpkg란?
Debian 패키지 관리 시스템에서 사용되는 명령어로, 데비안 기반의 리눅스 배포판에서 사용됩니다. dpkg는 패키지를 설치, 업그레이드, 제거, 검색 및 정보 확인과 같은 다양한 패키지 관리 작업을 수행하는 데 사용됩니다. apt보다 낮은 수준에서 작업이 실행됩니다.
일반적으로, dpkg 명령어는 다음과 같은 형식으로 사용됩니다.
dpkg [옵션] <패키지 이름>여기서
[옵션]은 dpkg의 다양한 옵션 중 하나,<패키지 이름>은 dpkg로 처리할 패키지의 이름입니다.일반적으로 사용되는 dpkg 명령어의 예는 다음과 같습니다.
dpkg -i <패키지 파일>: 패키지 파일을 설치합니다.dpkg -r <패키지 이름>: 패키지를 제거합니다.dpkg -l: 시스템에 설치된 모든 패키지를 나열합니다.dpkg -L <패키지 이름>: 패키지에 포함된 파일 목록을 표시합니다.dpkg -s <패키지 이름>: 패키지 정보를 표시합니다.
- 설치되어 있지 않으면 다음과 같이 설치
apt-get update
apt-get install sudo
sudo 설정
sudo는 suoders 파일을 통해 진행할 수 있음.
sudoers 파일이란?
- sudo 명령어를 사용할 수 있는 계정을 관리하는 설정 파일이다.
/etc폴더 아래에 존재
기본적으로 /etc/sudoers 파일은 쓰기 권한이 없으므로 visudo를 통해 파일을 편집해야함
visudo
파일 중에서 Defaults (tab) secure_path 라고 되어 있는 부분을 다음과 같이 수정한다.
Defaults secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin
왠만한 코드는 다 적혀 있으니 마지막에 :/snap/bin 만 적어주면 된다.
secure_path란?
- sudo 명령을 실행할 때는 현재 계정의 쉘이 아닌 새로운 쉘을 생성해 거기에서 명령을 실행한다.
- 이 때 명령을 찾을 경로를 나열한 환경변수인 PATH값을 secure_path라고 한다.
- 트로이 목마 해킹 공격을 1차적으로 방어해준다.
-
트로이 목마 공격 : 프로그램 내부에 path값을 변경하는 코드를 숨겨놓고, 실행 시 변조된 코드가
사용자의 정보를 변경 및 외부 서버로 정보를 전송.
-
이외에도 과제에서 요구한대로 요구사항을 다음처럼 추가한다.
부가설명
- authfail_message : 권한 획득 실패 시 뜨는 문자
- badpass_message : 암호 입력 실패 시 뜨는 문자
- log_inputs : sudo를 통해 입력된 것은 log에 기록
- log_outputs : sudo를 통해 출력된 것은 log에 기록
- requiretty : tty에 연결되지 않은 채로 sudo를 실행하는 것을 금지
- tty란? teletypewriter의 약자. 콘솔이나 터미널을 의미함.
- cron 같은 명령어로 sudo 실행하는 것을 금지.
- 즉, 직접 sudo를 칠 때만 sudo 권한을 허용해 주는 것.
- iolog_dir : input과 output에 관한 로그를 저장하는 경로
- passwd_tries : sudo 실행 지정 횟수
저장 후 종료방법
종료방법은 다음과 같다.
-
ctrl + X 를 누른다.
-
Y를 입력한다.
-
Overwrite? 라는 질문에 yes를 누른다.
sudoers 파일은 덮어쓰기를 하는 방식으로 편집해야 한다.
-
sudoers 파일은 임시 파일을 확인 → 유효성 검사 → 시행하는 방식으로 작동.
따라서 무조건 .tmp 파일을 저장하는 방식으로 작동해야 함.