「내 권한으로는 안 되는 작업」을 할 때 다른 사용자(보통 root) 권한이 필요.
su와 sudo가 두 가지 길.
su(switch user).
su - root 또는 su - alice — 다른 사용자로 전환.
그 사용자의 비밀번호 입력.
-(또는 -l) 옵션은 「로그인 셸」 — 환경변수·작업 디렉토리 등 모두 그 사용자처럼.
sudo.
「특정 명령만」 root로.
sudo apt update.
sudo passwd 입력 — 본인 비밀번호.
sudoers 파일에 등록된 사용자만 가능.
한 명령씩 권한 상승.
su vs sudo.
su는 「root 비밀번호 알아야」, sudo는 「본인 비밀번호로 한 명령씩」.
sudo가 모던 권장 — 1) root 비밀번호 공유 안 해도 됨.
2) 누가 무엇을 했는지 로그(/var/log/auth.log).
3) 명령 단위 통제.
Ubuntu는 root 비밀번호 안 만드는 게 기본 — sudo만으로.
sudo -i와 sudo -s.
sudo -i — 「root로 로그인 셸」(su -와 비슷).
sudo -s — 「root로 셸」(환경 거의 그대로).
sudo bash로 「root 셸」 진입도 가능.
여러 명령 연속 root 작업 시 편리(매 명령마다 sudo 안 쳐도 됨).
한 줄 요약
su는 다른 사용자로 전환(그 사용자 비밀번호 필요), sudo는 한 명령씩 root(본인 비밀번호).
모던 표준은 sudo — 비밀번호 분리·로그·통제.
sudo -i로 root 셸 진입.
더 알아볼 것
- sudo 로그 — auth.log·journalctl
- sudo -E로 환경변수 보존
- Ubuntu의 root 비밀번호 부재