"누구인가? 지금 짐이 git pull을 하는데 누가 sudo 소리를 내었어?"
어느 날 개발 서버에서 git pull
을 했더니 permission denied가 걸리며 실패했다.
sudo chown -R user:user *
sudo chown -R user:user .git/*
(위에 user
에는 자신이 사용하는 사용자의 그룹과 유저네임을 넣는다.)
당신은 이런 경고 문구를 본 적이 있는가?
sudo
를 쓸 때 괜히 이런 문구를 출력하는게 아니다.
이런 짤도 괜히 나온게 아니다.
vim test.txt
라는 명령어를 쓰고싶다. 그럼 그대로 입력하면 된다.
그런데 왜 앞에 굳이 sudo
를 붙이려 하는가?
위의 경고문구에 나왔듯이 sudo
를 통해 발휘하는 루트권한은 막강한 힘을 지닌다.
작은 일을 하는데 굳이 그렇게 큰 힘을 사용 할 필요가 있을까?
위에 언급했던 sudo vim test.txt
를 했다고 가정해보자.
그럼 test.txt
파일은 root 권한으로 귀속이 된다.
일반 유저에게는 수정 권한이 없다.
(기본 퍼미션을 어떻게 설정했느냐에 따라서 조회도 안될수도 있다.)
그래서 그 다음부터 계속 작업을 이어나가려면 계속 모든 명령어 앞에 불필요하게
sudo
+ 스페이스바
이렇게 5번의 타이핑을 매번 추가해야 한다.
팀원마다 계정을 만들어줬는데 다들 모든 명령어에 sudo
를 쓰고있으면 계정을 만든 의미가 무색해진다.
그럴거면 계정을 만들어주지 말고 전부다 애초에 ssh를 root 계정으로 하게 해주지 그랬나?
(그렇다고 진짜로 그러진 말고;;)
만약 계정마다 무슨 작업을 했는지 로깅을 하기로 했다고 해보자.
그런데 다들 sudo
를 사용할 수 있으면 다들 로그에 접근해서 손을 댈 수 있다.
그럼 그 로그를 믿을 수 있는가?
우린 동료니까! 믿을 수 있어!
이건 해당되는 사람도 있고 아닌 사람도 있을텐데
만약 해당된다면 위에 '로그' 에서 말했던걸 물어본다.
계정별로 로깅을 하고있냐고.
그리고 다들 sudo
를 사용할 수 있으면 감사관이 위의 글과 똑같이 물어본다.
그럼 뭐라고 답할건가?
화이팅
(ISMS 두번 겪은 사람의 경험에서 나오는 경험담이다.)