-
[Chapter1] 리눅스의 추억7(feat. 막힘없이 실무까지)Backend/LINUX 2022. 6. 28. 07:18
본 포스팅은 2020년에 작성했던 포스팅입니다, blog를 이관하게 되어 재포스팅 하였습니다.
아래 포스팅은 제가 수강하였던 동영상 강의, 각종 블로그 혹은 공식 홈페이지에서 습득한 자료들 제 나름대로 재구성하여 포스팅 한 자료입니다. 잘못된 내용이 있을 수도 있습니다. 최대한 글 읽으시는 시간이 헛되지 않게 검토하여 올리겠습니다. 편하게, 재미있게 제 글을 읽어주셨으면 좋겠습니다. 틀린 부분이 있으면 댓글이나 메일 주시면 수정하여 놓겠습니다. 제 글을 읽어주셔서 감사합니다^^
- 목차 -
Chapter1. 리눅스 맛보기
Chapter2. 리눅스 활용하기
Chapter3. 리눅스 개발 및 운영하기
(20). 리눅스 파일 보는 법
저번 포스팅에 이어서, 바로 아래의 한 줄을 보겠습니다.
drwxr-xr-x 2 harry harry 4096 9월 8 22:15 permission-test-folder
저는 이 부분이 무척 중요하다고 생각합니다. 볼 때마다 헷갈리지만 보는 법을 모르면 안 되는 부분 이라서요.
저도 글을 기재하면서 한 번 더 정리하도록 하겠습니다.
drwxr-xr-x
요것부터 보면, 한자 한자씩 끊어서 봐야 합니다. 조금 더 자세히 보도록 하겠습니다.
d : 이 자리는 파일의 유형을 알려주는 자리입니다. - 이렇게 나오면 일반 파일, d 이렇게 나오면 디렉토리라는 뜻입니다. b는 블록 디바이스, c는 문자 디바이스를 나타냅니다.
이 뒤부터는 또 3개씩 끊어 주셔야 합니다. 맨 앞자리의 1글자를 제외한 뒤의 9글자는 '허가'에 대해서 표시해 주는 알파벳들입니다. 각각의 자리가 어떤 자리인지를 이야기하기 전에 우선 rwx가 각각 뜻하는 바가 무엇이냐면요...
r: read / w: write / x: execute입니다.
이것은 각각 2진수로도 표기할 수 있습니다.
4 / 2 / 1 이렇게요.
-wx 이런 식으로 되어있으면 읽기 권한은 없고 쓰기와 실행 권한만 있는 것이고, 2진수로 표기하면 3입니다.
r-x 이런 식으로 되어있으면 읽기 권한과 실행 권한은 있는데 쓰기 권한이 없는 것입니다. 2진수로 표기하면 5입니다.
drwxr-xr-x
위를 2진수로 표현하면 631이 되는 것입니다. 2진수 표기법을 알려드린 이유는 나중에 '권한을 부여'할 때 쓰이기 때문입니다. 다시 돌아와서... 그렇다면 왜 3개씩 끊어야 한다고 말씀드렸을까요?
첫 번째 3덩이(rwx)는 User(소유자)의 권한을 뜻하고
두 번째 3덩이(r-x)는 Group(그룹)의 권한을 뜻하고
세 번째 3덩이(r-x)는 Other(그 밖의 사용자)의 권한을 뜻하기 때문입니다.
이때까지 설명드린 것을 바탕으로 위 디렉토리의 권한을 말씀드려보면 저 디렉토리의 소유자는 읽기, 쓰기, 실행하기 다되고, 소유 그룹은 읽기와 실행하기, 그 밖의 사용자도 읽기와 실행하기가 가능하다는 해석을 할 수 있습니다.
그 뒤의
2
이것은 링크의 수를 나타냅니다.
그 뒤의
harry
이것은 해당 디렉토리를 보유한즉 소유권을 가진 소유자를 나타냅니다.
그 뒤의
harry
이것은 해당 디렉토리를 보유한 그룹을 나타냅니다.
그런데 그룹이 사용자 이름으로 되어있어서 좀 이상하죠? default가 사용자 이름 혹은 root로 지정되어 있게끔 되어있어서 그렇습니다. 아래 명령어를 처서 그룹으로 지정해 주도록 합니다.
harry@brandon-VirtualBox:/$ chown harry:developers permission-test-folder
*chmod와 chown 명령어에 대해서는 파일/디렉토리 읽는 법이 끝나면 말씀드리도록 하겠습니다.
다시 조회해보면
drwxrwsr-x 2 harry developers 4096 9월 8 22:15 permission-test-folder
위와 같이 잘 나옵니다. 다시 파일읽기로 돌아와서 ....
그 뒤의
4096
이 숫자는 디렉토리의 크기입니다. 기본적으로 KB 단위이고요.
그 뒤의
9월 8 22:15
이 부분은 파일/디렉토리의 최종 수정 일시입니다.
그 뒤는 말씀 안 드려도, 디렉토리의 이름인 것 아시죠!?
휴, 드디어 파일 읽기에 대한 설명이 끝났습니다.
파일을 생성하게 되면 파일의 기본 권한 666은입니다. 읽을 수 있는 권한과 쓸 수 있는 권한이 주어진다는 것입니다.
(21) 권한 가져오기, 권한 부여하기
휴우, 다시 돌아와서... permission-test-folder 폴더는 이제 harry의 것입니다.
그렇다면 폴더를 누구의 이름으로 돌리고, 다시 누구에게 주고 이러한 개념을 알겠습니다.
이제 '특정 그룹만 폴더에 접근하거나 무엇을 할 수 있게끔' 해보는 것은 어떨까요?
지금은 sudo 권한이 없더라도 변환을 할 수가 있습니다. 왜냐하면 harry의 폴더니까요.
다시 조회를 해보면 그룹도 developer가 되었습니다. sudo 권한 없이요.
(21)-1.chown
harry@brandon-VirtualBox:/$ chown harry:developers permission-test-folder
아까 중간에 chown이라는 명령어를 사용하신 것을 기억하실 겁니다.
이 명령어는 무엇일까요? own... owner. owner는 주인이라는 영어 단어이죠.
맞습니다. 파일/디렉토리의 소유주를 변경하는 명령어가 chown입니다.
chown 소유주:소유그룹 디렉토리명
위와 같이 사용해 주시면 됩니다.
(21)-2.chmod
chmod는 '두 가지 방법'으로 파일/디렉토리에 권한을 부여하거나 권한을 뺄 수 있습니다.
첫 번째 방법은 아까 말씀드렸던 2진수 표기법으로 권한을 부여하는 것입니다.
harry@brandon-VirtualBox:/permission-test-folder$ touch test.txt harry@brandon-VirtualBox:/permission-test-folder$ ls -al total 8 drwxrwsr-x 2 harry developers 4096 9월 9 01:24 . drwxr-xr-x 26 root root 4096 9월 8 22:15 .. -rw-rw-r-- 1 harry developers 0 9월 9 01:24 test.txt harry@brandon-VirtualBox:/permission-test-folder$ chmod 777 test.txt harry@brandon-VirtualBox:/permission-test-folder$ ls -al total 8 drwxrwsr-x 2 harry developers 4096 9월 9 01:24 . drwxr-xr-x 26 root root 4096 9월 8 22:15 .. -rwxrwxrwx 1 harry developers 0 9월 9 01:24 test.txt
파일을 하나 만들어서 2진수 표기법으로 모든 권한을 부여했더니 어랏? 모든 유저와 모든 그룹 그 밖의 모든 사람들이 모든 것이 가능하게끔 변경되었습니다. 아마 이럴 수 있는 건 거의 없겠죠..!
결론적으로는
chmod 부여하고자하는2진수3자리 파일/디렉토리명
위와 같이 사용해 주시면 됩니다
두 번째 방법은 +,-를 이용하는 것입니다.
harry@brandon-VirtualBox:/permission-test-folder$ chmod o-x test.txt harry@brandon-VirtualBox:/permission-test-folder$ ls -al total 8 drwxrwsr-x 2 harry developers 4096 9월 9 01:24 . drwxr-xr-x 26 root root 4096 9월 8 22:15 .. -rwxrwxrw- 1 harry developers 0 9월 9 01:24 test.txt
chmod 뒤를봐주시면, o-x라고 되어있습니다. o(Other)의 권한 중에서 x(excute) 권한을 -(제외) 한다는 것입니다. 정말 직관적이죠? 그렇다면 다시 ....
harry@brandon-VirtualBox:/permission-test-folder$ chmod o+x test.txt harry@brandon-VirtualBox:/permission-test-folder$ ls -al total 8 drwxrwsr-x 2 harry developers 4096 9월 9 01:24 . drwxr-xr-x 26 root root 4096 9월 8 22:15 .. -rwxrwxrwx 1 harry developers 0 9월 9 01:24 test.txt
다시 권한이 더해졌습니다.
휴.
파일 하나 읽는 것도 쉽지가 않은 Linux군요. 하지만 재미있긴 정말 재밌는 것 같습니다 ㅎㅎ.
다음 시간에는 이번 포스팅에서 배운내용을 토대로 파일시스템에 대해서 조금 더 알아보는 포스팅을 작성해보도록 하겠습니다.
Thanks for reading!
'Backend > LINUX' 카테고리의 다른 글
[Chapter1] 리눅스의 추억9(feat. 막힘없이 실무까지) (0) 2022.06.28 [Chapter1] 리눅스의 추억8(feat. 막힘없이 실무까지) (0) 2022.06.28 [Chapter1] 리눅스의 추억6(feat. 막힘없이 실무까지) (0) 2022.06.27 [Chapter1] 리눅스의 추억5(feat. 막힘없이 실무까지) (0) 2022.06.27 [Chapter1]리눅스의 추억4(feat.막힘없이 실무까지) (0) 2022.06.27