Linux 심화 -1

Jinhee 'Zeenii' Lee ·2021년 10월 7일
0

TIL

목록 보기
4/9

Linux에서 사용하는 폴더와 파일에는 권한이 있다

  • 읽기 (Read)
  • 쓰기 (Write)
  • 실행 (Execute)

폴더인지 파일인지 확인하는 방법?

터미널(CLI)에서 해당하는 명령어를 작성하면 된다.

아무 경로에다 작성하면된다. 없다면 그냥 무난하게 쓸 폴더로 들어가서 하면 되고,

그것도 모르겠다 하면, 그냥 CLI에서 아래의 명령어를 쓰면 된다.

mkdir linux

그러면 해당하는 경로에 linux폴더가 만들어진다.

helloworld.js파일을 만들고, ls -l을 입력해 보자

~ nano helloworld.js
~ ls -l

2번째 스샷에 있는 저것들은 뭔가?

-rw-r--r--
drwxr-xr-x

만들었던 helloworld.js 파일과 linux 폴더가 있을것이다.

-와 r,w,d,x가 조합된 내용들이 해당 파일과 폴더에 관한 권한이다

5가지 글자들을 정리 해보자면

  • -: not directory
  • d: directory
  • r: Read permission (읽기 권한)
  • w: Write permission (쓰기 권한)
  • x: Execute permission (실행 권한)

10의 길이의 글자 중
1번째는 폴더인지 아닌지를 표현하고
2~4번째 글자는 소유자가 할 수 있는 권한
5~7번째는 소유자가 그룹으로 정한 유저들이 할 수 있는 권한
8~마지막 번째는 소유자, 그룹원 외에 다른 사람이 할 수 있는 권한 이다.

따라서 파일에 있는 -rw-r--r--
폴더가 아니고 소유가는 읽기와 쓰기가 가능하며 그룹과 다른 사람은 읽기만 가능하다.

그러면 폴더에 있는 drwxr-xr-x 는?
폴더로, 소유자는 읽기, 쓰기, 실행 권한이 있고, 그룹과 다른 사람들은 읽기와 실행 권한만 있다.


user, group, other

  • user
    user는 파일의 소유자로 기본적으로 파일을 만든 사람이 소유자가된다.
  • group
    group에는 여러 user가 포함될 수 있다, 그룹에 속한 모든 user는 파일에 대한 동일한 group 액세스 권한을 갖는다.
    많은 사람이 파일에 액세스해야 하는 프로젝트가 있다고 가정하면
    각 user에게 일일이 권한을 할당하는 대신 모든 user를 group에 추가하고,
    파일에 group 권한을 할당할 수 있다.
  • other
    파일에 대한 액세스 권한이 있는 다른 user,
    파일을 만들지 않은 다른 모든 user를 의미한다.
    other권한을 설정하면 해당 권한을 global 권한 설정이라고 할수 있다.

chmod: 권한을 변경하는 명령어

chmod 명령어는 폴더나 파일의 읽기, 쓰기, 실행 권한을 변경할 수 있다.

명령어 chmod로 권한을 변경하는 방식은 두가지가 있다.

  • Symbolic Method : +,-,= 세가지로 액세서 유형을 표기해서 변경하는 방법

  • Absolute form: rwx를 3bit로 해석하여 숫자 3자리로 권한을 표기해서 변경하는 방법

chmod 사용법

Symbolic method 사용예시
chmod g-r filename # removes read permission from group
chmod g+r filename # adds read permission to group
chmod g-w filename # removes write permission from group
chmod g+w filename # adds write permission to group
chmod g-x filename # removes execute permission from group
chmod g+x filename # adds execute permission to group
chmod o-r filename # removes read permission from other
chmod o+r filename # adds read permission to other
chmod o-w filename # removes write permission from other
chmod o+w filename # adds write permission to other
chmod o-x filename # removes execute permission from other
chmod o+x filename # adds execute permission to other
chmod u+x filename # adds execute permission to user
chmod 명령어와 Symbolic Method로 helloword.js 파일의 권한 변경방법
chmod a=rw helloworld.js # -rw-rw-rw-
chmod u= helloworld.js # ----rw-rw-
chmod a+rx helloworld.js # -r-xrwxrwx
chmod go-wx helloworld.js # -r-xr--r--
chmod a= helloworld.js # ----------
chmod u+rwx helloworld.js # -rwx------

Absolute form은 숫자 7까지 나타내는 3bits 의 합으로 표기된다.

만약, user는 rwx 를, group과 other은 r-- 로 권한을 변경하려고 한다면, 위 표에 나와있는 숫자의 합을 user, group, other 순으로 입력하여 사용한다.

chmod 명령어와 Absolute form로 helloworld.js파일의 권한 변경방법

# u=rwx (4 + 2 + 1 = 7), go=r (4 + 0 + 0 = 4)
chmod 744 helloworld.js # -rwxr--r--

profile
드럼으로 재즈 음악하고 (Jazz drummer/ musician) 코딩공부해서 개발자가 되고 싶고(SE engineer) 바이크(Motorcycle)를 좋아해서 할리오너(harley-davidson Owner)가 되고싶은자

0개의 댓글