Debian 설치 가이드
https://evergreen-reaper-848.notion.site/Install-Debian-0efdbc47bb3842feb2800705e0916db0
<superuser do> 에서 유래
유닉스 및 유닉스 계열 운영 체제에서, 다른 사용자의 보안 권한, 보통 슈퍼유저로서 프로그램을 구동할 수 있도록 하는 프로그램
dpkg -l sudo 로 sudo의 설치여부를 확인하고,
설치되어있지 않다면 apt install sudo 로 설치 진행
sudo 설정은 sudoers 파일을 통해 진행
📁 sudoers 파일
sudo 명령어를 사용할 수 있는 계정을 관리하는 설정 파일
설정파일이므로 위치는 /etc 폴더 아래에 존재
기본적으로 /etc/sudoers 파일은 쓰기 권한이 없으므로 visudo를 통해 파일을 편집해야함
visudo를 입력하면 다음과 같은 화면이 나옴
서브젝트에서 요구한 대로 secure_path를 다음과 같이 수정한다
🔐secure_path
Secure Path는 sudo 명령을 실행할 때 사용하는 가상 쉘의 PATH 정보를 설정한다.
이를 풀어서 설명하자면 sudo 명령 실행 시 현재 계정의 쉘이 아닌 새로운 쉘을 생성하고 그 안에서 명령을 실행하는데, 이 명령을 찾을 경로를 나열한 환경 변수 PATH 값이 secure_path다!
sudo 명령을 실행하는 명령은 현재 계정의 쉘 환경도, 대신 실행하는 계정의 쉘 환경도 아닌 특별히 정의된 제 3의 쉘 환경으로 이는 샌드박스 형태로 실행된다 !
secure path 기능이 트로이목마 해킹 공격에 대한 1차적인 방어 기능을 한다.
즉, 사용자의 부주의로 인해 현재 계정의 PATH에 악의적 경로가 포함된 경우 sudo를 통해 전체 시스템이 해킹될 수 있는데 이를 방지할 수 있다.
그리고 Defaults를 요구사항에 맞게 다음과 같이 추가한다.
TTY (teletypewriter)
tty는 리눅스 디바이스 드라이브 중 콘솔이나 터미널을 의미
현 프로젝트에서는 가상 환경의 터미널이라고 할 수 있음
모든 설정이 완료되면 ctrl + X를 누르면 다음과 같은 창이 뜬다.
해당 화면에서 Y 입력하고
File Name에서 .tmp를 지운 뒤 저장하면 끝 !
그룹을 추가한다.
위와 같이 user42라는 그룹을 추가할 수 있다.
명령어 usermod를 통해 사용자 계정에 관련된 다양한 정보를 변경할 수 있음.
usermod는 관리자, 즉 root 계정만이 사용할 수 있음.
이미 존재하는 사용자에 대해서 처리가 가능\
만약 a 옵션을 붙이지 않고 G만 사용시, gid그룹 제외하고 명령어에 없는 그룹에서는 탈퇴처리가 됨.
a 옵션을 함께 쓰면 나머지 그룹에 대해서도 탈퇴처리하지 않음
lslogins : id 목록을 확인할 수 있음
id <유저명> : 해당 유저가 포함된 그룹들 정보를 출력