함부로 sudo를 쓰면 안되는 이유

1
post-thumbnail

"누구인가? 지금 짐이 git pull을 하는데 누가 sudo 소리를 내었어?"

어느 날 개발 서버에서 git pull을 했더니 permission denied가 걸리며 실패했다.


일단 어떻게 해결해요?

sudo chown -R user:user *
sudo chown -R user:user .git/*
(위에 user 에는 자신이 사용하는 사용자의 그룹과 유저네임을 넣는다.)

왜 sudo를 함부로 쓰면 안돼요?

이런걸 본 적이 있는가?

당신은 이런 경고 문구를 본 적이 있는가?
sudo 를 쓸 때 괜히 이런 문구를 출력하는게 아니다.

이런 짤도 괜히 나온게 아니다.

왜 작은 일에 큰 힘을 쓰려고 하는가?

vim test.txt 라는 명령어를 쓰고싶다. 그럼 그대로 입력하면 된다.
그런데 왜 앞에 굳이 sudo 를 붙이려 하는가?

위의 경고문구에 나왔듯이 sudo 를 통해 발휘하는 루트권한은 막강한 힘을 지닌다.
작은 일을 하는데 굳이 그렇게 큰 힘을 사용 할 필요가 있을까?

권한 문제

위에 언급했던 sudo vim test.txt 를 했다고 가정해보자.
그럼 test.txt 파일은 root 권한으로 귀속이 된다.
일반 유저에게는 수정 권한이 없다.
(기본 퍼미션을 어떻게 설정했느냐에 따라서 조회도 안될수도 있다.)

그래서 그 다음부터 계속 작업을 이어나가려면 계속 모든 명령어 앞에 불필요하게
sudo + 스페이스바
이렇게 5번의 타이핑을 매번 추가해야 한다.

계정은 왜 만들었는가?

팀원마다 계정을 만들어줬는데 다들 모든 명령어에 sudo 를 쓰고있으면 계정을 만든 의미가 무색해진다.

그럴거면 계정을 만들어주지 말고 전부다 애초에 ssh를 root 계정으로 하게 해주지 그랬나?
(그렇다고 진짜로 그러진 말고;;)

로그

만약 계정마다 무슨 작업을 했는지 로깅을 하기로 했다고 해보자.
그런데 다들 sudo 를 사용할 수 있으면 다들 로그에 접근해서 손을 댈 수 있다.
그럼 그 로그를 믿을 수 있는가?


우린 동료니까! 믿을 수 있어!

보안감사

이건 해당되는 사람도 있고 아닌 사람도 있을텐데
만약 해당된다면 위에 '로그' 에서 말했던걸 물어본다.
계정별로 로깅을 하고있냐고.

그리고 다들 sudo 를 사용할 수 있으면 감사관이 위의 글과 똑같이 물어본다.
그럼 뭐라고 답할건가?
화이팅

(ISMS 두번 겪은 사람의 경험에서 나오는 경험담이다.)

profile
지상 최강의 개발자 쥬니니

0개의 댓글