root 권한을 얻기 위해 su - 커맨드로 진입.
1.1 설치시 설정한 42id(jaewkim), password 입력.
apt-get install sudo -y ( sudo 설치 )
sudo apt-get install vim -y -> ( vim 설치 )
sudo 설치 후 그룹에 추가하는 과정 (참고: https://oksoo.tistory.com/12 )
4.1 sudo 파일의 경로 : /etc/sudoers
Authentication using sudo has to be limited to 3 attempts in the event of an incorrect password.
A custom message of your choice has to be displayed if an error due to a wrong
password occurs when using sudo.
Each action using sudo has to be archived, both inputs and outputs. The log file
has to be saved in the /var/log/sudo/ folder.
The TTY mode has to be enabled for security reasons
For security reasons too, the paths that can be used by sudo must be restricted.
보안상 이유로 sudo 실행 시 사용할 수 있는 명령어의 경로는 제한됨
[참고 링크]
https://info-lab.tistory.com/163
https://www.sudo.ws/man/1.8.14/sudoers.man.html
https://www.tuwlab.com/ece/24044 'man sudoers'참조
"sudo mkdir /var/log/sudo/"를 통해 로그 파일을 저장할 경로 생성.
"sudo visudo"를 통해 '/etc/sudoers'파일을 수정 가능. (*sudoers는 visudo를 통해서만 변경가능)
파일에서 'Defaults secure_path="경로"'에서 경로부분을
"/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"로 수정해준다.(sudo를 통해 실행되는 명령어의 경로를 명시된 경로로 제한해준다. sudo만의 $PATH 환경변수를 설정해주는듯하다.)
마지막 줄에 다음을 입력.
Defaults authfail_message="Authentication attempt failed."
Defaults badpass_message="Wrong password!"
Defaults log_input
Defaults log_output
Defaults requiretty
Defaults iolog_dir="/var/log/sudo/"
Defaults passwd_tries=3
authfail_message="메세지" : 권한 획득 실패시 띄울 커스텀 메세지
badpass_message="메세지" : 암호 실패시 띄울 메세지
log_input : sudo를 통해 입력된 input은 로그에 기록됨.
log_output : sudo를 통해 입력된 output은 로그에 기록됨.
requiretty : tty에 연결되지 않은 채로 sudo를 실행하는 것을 금지
iolog_dir="경로" : 로그를 저장할 경로.
passwd_tries : sudo 실행 횟수지정하는 설정.
4.2 유저추가 → useradd 유저명
4.3 유저비밀번호 추가 → passwd 유저명
4.4 groupadd user42
4.5 usermod -G sudo,user42 사용자명 → 특정사용자를 sudo와 user42 라는 그룹에 추가
*만약 유저를 삭제하고 싶다면?
sudo deluser 사용자명 그룹명 → 그룹에서 사용자를 제거
sudo userdel -r 사용자명 → 사용자 제거헉
*그룹에 대하여
[참고링크 :https://m.blog.naver.com/wideeyed/221512008307]
Linux는 사용자 그리고 사용자가 속할 그룹을 관리합니다.
사용자가 곧 그룹이 될 수도 있지만 잘 관리할 수 있도록 역할별로 잘 구분해야 합니다.
그룹은 Primary Group, Secondary Groups이 존재합니다.
Primary Group은 1개만 존재 해야 합니다.
사용자가 로그인할 때, 파일 또는 디렉토리를 생성할 때 부여되는 기본 그룹입니다.
Secondary Groups은 없거나 여러 개 존재할 수 있습니다.
사용자가 파일 또는 디렉토리를 읽거나 쓰거나 실행할 때 지정된 그룹들의 권한을 받습니다.