백지부터 시작하는 리눅스 강좌 – 퍼미션

오늘 설명할 것은 퍼미션입니다. 우리는 모두 수학과이고, 숫자 갖고노는 것 정도야 여러분에게는 일도 아닐 것이라고 믿어 의심치 않고 있습니다. 저를 믿는 도끼에 발등 찍혀 쓰러지는 꼴 만큼은 나지 않게 해 주세요. ^^

리눅스를 사용하시다 보면, linux1에 김숙기가 로그인을 하고, 옆에서 제 가 텔넷으로 들어와 로그인을 하고, 좀 있다가 숙기가 일어나면 기다렸다 는 듯이 주행이 형이 앉아서 로그인을 하고…… 그렇죠? 그런데도, 똑같 은 컴 앞에 앉아 있는데도 다들 자기 파일만 보입니다.

아, 게다가 linux1에서 작업하고 점심먹고 와서 linux7에서 작업해도 파일 을 똑같습니다. (그 컴이 기본으로 윈도 메이커를 쓰느냐 그놈을 쓰느냐 에 따라 바탕화면만 좀 다를 뿐입니다.) 그것도 신기하죠? 기분 좋은 김에 설명해 드리겠습니다. ^_^ 여러 컴퓨터가 있을 때, 어떤 파일이나 드라이브를 공유해서 쓰면 편리하죠. 윈도에서도 공유해서 사용하고 그러지 않나요? 리눅스에서도 그게 된다는 겁니다. NFS라는 것을 사용해요. 지금 여러분의 계정홈은 모두 한 컴퓨터의 하드안에 있습니다. 이것을 다른 컴에서 공유하여 사용하는 것입니다. 또한, 여러분의 로그인 아이디와 패스워드도 한 컴퓨터 안에 있는 것입니다만, 이것은 NIS라는 것을 사용하여 다른 리눅스 컴퓨터에서도 동일하게 로그인할 수 있도록 설정된 것입니다. 뭔지 헷갈리시죠? 넘어가세요.

어쨌건, 자기 파일만 보이죠? 로그인 하세요. 뭔가 보여 드리겠습니다.

# cd ..
# ls

저게 뭔지 잊어버리신 분들은 없겠죠. 없으리가 믿어 의심치 말아야 하는 데…..^^ 네, 위의 디렉토리로 갑니다. 가서 보시면 웬 아이디들이 가득 ~ 하죠? 다 우리 과 학생들의 계정입니다. 그 중에서 하나 마음에 드는 것 을 찍어 보세요~! 누구 건지 알고 싶으면 이렇게 하시고요. # finger 계정 이름 예를 들어서 finger hjchun 하면 영어로 제 이름이 나오고요….. finger dsshin 하면 동선이 형의 이름이 나오죠. 자, 누구 건지 확인 하셨어요? 그러면 그 디렉토리에 들어가 보겠습니다.

# cd 계정 이름

잘 들어가 지나요? 일단은 들어가 집니다. 자, 그런데……

# ls

허가가 거부된다는 내용으로 한글이건 영어건 뭔가 메시지가 뜨지요? 그렇 습니다. 내가, 거길 들어가서 잘 헤집고 놀 수 있다면 남도 나에게 그럴 수 있는 거죠. 즉, 내가 남의 것을 들어가서 보고 읽고 쓸 수 없기 때문 에 우리는 안심하고 리눅스나 유닉스네 사촌들을 쓸 수 있는 것입니다.

혹시 파일들이 다 보이는 사람이 있습니까? 누구 계정이 잘 보이는지 말씀 해 주세요. 계정 주인이 제 후배라면 반죽음을 내 놓을 것이고, 저보다 학 번이 같거나 크면, 대학원실에 가서 말씀을 드리겠습니다. ^^;;;; 잔인무 도 하다고요? 그게 보안의 기본입니다. ^^;;;;; 잠잘 때는 자기 집 문을 잠그면서, 제가 들어가서 개인적인 편지 같은 거 보고 나오는 것은 괜찮 은 모양이지요? ^^ 여러분은 절대 그러지 마세요~~~~!!! 큰일나요.

자, 그러면 명령이 안 먹는 곳들은 정상이니까, 자기 디렉토리로 돌아오세 요. 어어, 일일히 돌아 나와서 가면 됩니까? 귀찮지 않아요? 이렇게 해 보 세요.

# cd

이래 주면 자기 디렉토리로 돌아옵니다. 간단하죠?

자, 그럼 생각해 봅시다. 파일로 사람이 하는 것은 많고 많지만, 그 중에 서도 핵심이 되는 것은 뭘까요?

파일을 읽고,
파일을 쓰고,
파일을 실행한다.

이 세가지가 기본이 되는 것입니다. 무엇이건 간에. 그렇다면 이야기는 간 단해 집니다. 읽는 것은 r, 쓰는 것은 w, 실행하는 것은 x로 표현할 수 있 다면 말이죠.

그리고 사용하는 사람도 세 부류가 있을 겁니다. 일단 파일 주인, 그리고 같은 그룹 안에 있는 사람들, 그리고 그 외의 모든 사람들. 여기서 그룹이 라는 것의 개념은 나중에 이야기 하겠지만, 만약에 같은 01학번들 끼리 어 떤 주소록 파일을 공유하고 싶다면 같은 그룹이니까 그룹 퍼미션을 열어 주면 된다는 것이죠. 즉, 공유의 개념이라고 보시면 됩니다, 일단은. 그렇 다면, 파일 주인은 u, 그룹이 같은 사람은 g, 그리고 그 외의 사람은 o로 놓을 수 있겠지요. 뭐의 약자인지는 각각 생각해 보셔도 아시겠지요?

그러면 지금 내가 읽고 쓸 수 있는 파일 ttt가 있습니다. 같은 그룹 안에 있는 01학번 모두가 읽을 수 있게 하고 싶으면 어떻게 하면 될까요?

# chmod g+r ttt

자, g(그룹)에게 r(읽기 권한)을 주니까 +를 쓰죠. 만약에 그룹 권한을 없 애려면 다시 이렇게 하면 됩니다.

# chmod g-r ttt

쉽죠? 그러면 조금 더 편안하게 퍼미션을 사용하는 방법을 생각해 보도 록 하겠습니다.

말씀 드렸겠지만, 사용자의 종류는 u, g, o 가 있었고, 파일로 할 수 있 는 것은 r, w, x 가 있었습니다. 이들을 +와 -로 연결해서 사용하는 것이 라는 점은 익히 알고 계시리라 생각합니다. 즉, 파일 주인은 읽고 쓸 수 있고, 같은 그룹 안에 있는 사람들은 읽을 수만 있는 어떤 파일이 있다면 다음과 같은 식으로 생각할 수 있을 것입니다.

 

u g o
r + +
w +
x

이것을 조금 더 머리를 굴려 생각해 봅시다. 읽는 권한을 4로 놓고, 쓰는 권한을 2로, 실행하는 권한을 1로 놓은 다음, 위의 순서대로 놓읍시다. 그 러면 어떻게 될까요? 위의 것은 640으로 생각할 수 있지 않을까요? 자, 그 러니까 다시 말하자면, 맨 앞자리는 u, 가운데는 g, 끝은 o로 생각하여, 각각의 권한을 더하는 것입니다. 상상이 가시나요?

이런 식으로 하면, 파일 주인은 읽고 쓸 수 있고, 다른 사람은 모두 읽을 수 있는, 홈페이지에 사용되는 기본 퍼미션은 다음과 같이 줄 수 있을 것 입니다. (나중에 기회가 되면 홈페이지 만드는 이야기도 할 거니까 기대하 세요.) 예를 들어 index.html 이 있다면…..

# chmod 644 index.html

이렇게 주시면 됩니다. ^^ 이해가 가시나요? 퍼미션의 문제는 보안상 중요 합니다. 일반 유저가 퍼미션 관리를 잘 해주면 관리자는 밤잠을 잘 잘 수 있습니다. ^^ 유념해 주시고요, 혹시라도 자기 계정의 퍼미션을 777로 풀 어 놓으신 분 있으면 즉시 수정해 주세요. ^^

참고로 말씀 드리지만, 그렇게 퍼미션을 막아 두어도 여러분이 갖고 있는 파일 내용을 모두 다 볼 수 있는 사람이 있습니다. 해커? 크래커? 아뇨, 그런 불법적인 인간들 말고, 바로 루트입니다. 루트는 여러분이 갖고 있 는 메일부터 시작해서 모든 것을(!) 다 볼 수 있습니다. 여러분의 계정을 아주 합법적인 경로로 사용할 수 있고, 필요하면 여러분의 패스워드를 바꿀 수도 있으며, 여러분이 나쁜 짓을 했을 때 는 – 예를 들면 전산실에서 채팅을 하거나, 남몰래 야동을 본다는 등…. 그런 온갖 종류의 나쁜 짓들^^;;;; 혹은 게임을 하는 것도 포함됩니다.- 아예 로그인을 못 하도록 할 수도 있습니다. 원한다면 데이터를 날려 버리 는 것도 가능하고요. 모든 것을 알고 있다는 산타할아버지와 비슷할지도….

전체 네트워크를 관리하시는 분 뿐이 아니라, 웹서버만 관리하고 있는 저 도 마찬가지입니다. 원하면 다 들어가서 볼 수 있습니다. 이것은 무엇을 시사하는 것일까요? 리눅스에다가 중요한 파일을 넣어서는 안 된다는 뜻일 까요? 어디다 해도 관리자는 전능합니다. ^^ 그러면 무슨 뜻으로 이런 말 을 하는 것일까요? 저도 다 볼수 있다고는 해도, 무슨 교수님의 심부름이 라던가, 그럴 때에만 들어가서 헤집었고요….. 그 외로는 ### 씨의 계정 에서 설정파일이랑 그런 것 참고할 게 있어서 한번…. 그게 전부입니다. 다른 분들 것은 요청이 없이는 절대 들어가지 않았습니다.

양심이라는 것을 말하고 싶습니다. 여러분 중에도 리눅스에 흥미를 느끼 고 시스템을 관리하기를 원하시는 분들이 계실 지도 모릅니다만, 그 이전 에 양심이 필요하다…… 는 것입니다. 관리자가 남의 소문이라던가, 뒤 를 캐고 다니는 것을 좋아하는 사람이라면 누가 리눅스 쓰겠습니까. 관리 자가 되고 싶은 분들은 남의 뒤를 캐고 싶은 욕망을 버리셔야 한다는 것 을 잠시 떠들어 보았습니다.

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.