sudo




개요


sudo와 root, 유저, 그룹들의 설정에 대해서 알아보자

◦ The hostname of your virtual machine must be your login ending with 42 (e.g.,wil42).

◦ You will have to modify this hostname during your evaluation.

◦ You have to install and configure sudo following strict rules.

◦ In addition to the root user, a user with your login as username has to be present. This user has to belong to the user42 and sudo groups.

◦ You have to implement a strong password policy.

◦ To set up a strong configuration for your sudo group




호스트 이름 확인


hostnamectl

그냥 hostnamectl은 hostnamectl status가 실행된다.




호스트 이름 변경


hostnamectl set-hostname host_name




PW 정책 변경


비밀번호 만료 및 수정 정책

비밀번호는 30일 뒤에 만료되고, 비밀번호를 수정하고 2일 뒤에 변경이 가능하고, 7일 전에 경고 메세지를 띄워야하므로

/etc/login.defs 파일의 PASS_MAX_DAYS를 30으로 PASS_MIN_DAYS를 2로 PASS_WARN_AGE를 7로 바꾼다.

login.defs파일의 설정을 바꾼 이후 생성된 계정은 바뀐 정책대로 비밀번호를 설정해야 하지만 기존에 생성되었던 계정은 직접 바꿔줘야한다.


이미 있는 계정에 반영

chage -m 2 -M 30 -W 7 계정이름

chage 명령어는 계정의 패스워드 정책을 변경, 확인하는 명령어이다.

/etc/shadow 파일에서 각각의 계정의 패스워드 설정을 할 수 있다.


계정의 비밀번호 정책 확인

chage -l 계정이름


비밀번호 설정 정책 변경

apt install libpam-pwquality로 패스워드 설정에 필요한 기능을 제공하는 pam 모듈을 설치해준다.


sudo 설치


apt install sudo


visudo 설정

env_reset : home, logname, path, shell, term, user을 제외한모든 환경변수 리셋

mail_badpass : 잘못된 패스워드로 sudo를 실행했을 시, 지정된 메일로 보고

secure_path : sudo 명령은 현재 계정의 쉘이 아닌 가상 쉘을 생성하고 그 안에서 실행된다. 이때 이 가상 쉘의 환경변수 PATH의 값을 secure_path 옵션을 통해 지정하는 것이다.

authfail_message : 패스워드 오류 가능 횟수를 넘어섰을 경우 출력하는 메세지

passwd_tries : sudo 명령을 실행할 때, 패스워드 오류 가능 횟수

badpass_message : 잘못된 패스워드가 입력되었을 시 출력되는 메세지

log_input, log_output, iolog_dir : sudo 를 통해 실행된 명령들, Input과 output에 대한 log 파일을 iolog_dir에 저장한다.

requiretty : tty환경에서만 sudo 명령이 실행될 수 있도록 한다.