본문 바로가기
42seoul

[born2beroot] Sudo, tty

by ohojee 2023. 2. 21.

sudo

= superuser do, substitute user do

슈퍼유저(root)로서 프로그램을 구동할 수 있도록 하는 프로그램

 

/etc/sudoers 설정 파일에 명시되어 있는 user만 사용 가능, sudo 그룹에 포함된 user만 사용 가능

 

ls -al/usr/bin/sudo : sudo는 usr파일 안에 설치되어 있는데 sudo의 파일 권한은 -rws(s는 특수권한인데 root의 권한을 빌려올 수 있음) → sudo 안에 있는 user인지 확인한 다음 안에 있다면 root권한으로서 명령 실행 o

 

root ALL=(ALL) ALL : 사용자 root는 모든(ALL) 터미널에서 명령을 수행할 수 있고, 모든(any) 사용자의 권한을 가질 수 있으며, 모든 명령을 실행할 수 있다는 것을 의미

첫번째 부분은 사용자를, 두번째 부분은 sudo를 사용할 수 있는 터미널을, 세번째 부분은 권한을 가질 수 있는 사용자를, 마지막 부분은 실행할 수 있는 명령을 의미

💡 su 명령어 : 현재 계정을 로그아웃하지 않고 다른 계정으로 전환
su - : 다른 사용자로 변경하면서 환경변수까지 적용 현재 계정에서 root 권한을 이용하여 명령어를 실행할 때 사용

secure_path

sudo 명령을 실행할 때 현재 계정의 쉘이 아닌 새로운 쉘을 생성한 후 그 안에서 명령 실행 ⇒ 명령을 찾을 경로를 나열한 path 값(가상 쉘의 path 정보)

사용자의 부주의로 현재 계정의 path에 악의적인 경로가 포함된 경우, 이를 무시함으로써 트로이목마 해킹 공격에 대한 일차적인 방어 가능

 

TTY(Teletypewriter)

과거의 Teletypewriter

  • 통신회선으로 연결되어 있으며, 입력으로 키보드, 출력으로 라인프린터를 가짐
  • 문자를 치면 전신 부호로 번역되어 송신 → 수신 측에서는 전신부호가 문자로 번역되어 출력

사용자의 키보드 입력은 tty를 통해 시스템에 전달 → 시스템의 출력도 tty를 통과해 사용자에게 전달

tty를 통해 사용자는 시스템과 통신 가능

 

tty 명령어

 

  • standard input에 연결된 터미널 파일의 이름 출력 ⇒ 터미널을 여러개 열면 tty000, 001으로 숫자가 증가함
  • 주로 output 매체가 터미널인지 확인하기위해 사용, 연결되어있지 않다면 “not a tty” 문구 출력

console : 컴퓨터를 조작할 때 사용하는 입출력 장치, cmd나 터미널이 이에 해당

터미널 : 콘솔의 한 종류, UI로 사용할 수 있게 해주는 GUI 프로그램

쉘 : 터미널에 입력한 명령을 해석하여 os에서 사용자가 원하는 작업을 이해할 수 있도록 하는 프로그램

 

log 확인(/var/log/sudo/00/00)

  • log : sudo 실행 시 실행한 위치와 실행한 명령어의 위치 저장

 

 

참고 블로그

http://egloos.zum.com/taehyo/v/4200593

https://www.tuwlab.com/ece/24044

https://ko.wikipedia.org/wiki/Sudo

'42seoul' 카테고리의 다른 글

[born2beroot] UFW  (0) 2023.02.24
[born2beroot] Apparmor  (0) 2023.02.22
[born2beroot] 가상머신(Virtual Machine)  (0) 2023.02.19
[born2beroot] 컴퓨터 구조  (0) 2023.02.19
[42서울] 8기 2차 라피신 후기 + 본과정 합격  (0) 2022.12.17

댓글