[LINUX] 퍼미션 조정 (chmod / chown)

ming·2022년 1월 3일
0

리눅스

목록 보기
5/6
post-thumbnail

리눅스는 불특정 다수가 들어와 사용하는 멀티유저시스템이다.
멀티유저시스템의 문제는 여러 사용자가 서버에 들어와 자료를 열람하거나 변조,수정,삭제를 할 우려가 있다.

이런 문제를 해결하기 위해 리눅스에는 권한을 제안하거나 부여하는 기능이 추가 되었다.

1) 파일 정보 보기

우선 어떤 형태로 운영이 되는지 알아보자.
디렉토리에서 ls -al 명령어를 사용하면 현재의 위치의 파일들을 자세히 보여준다.

myfile을 기준으로 살펴보자

1.d / 2.rwxrwxrwx / 3.1 / 4.root / 5.root / 6. 4096 / 7. Jan 1 00:41 / 8.myfile

  1. 파일 Type : 'd' -> 디렉토리 / 'l' -> 링크파일 / '-' -> 일반파일
  2. 퍼미션정보 : 해당파일에 어떠한 퍼미션이 부여되었는지 표시
  3. 링크수 : 해당파일이 링크된 수, 이 링크는 윈도우의 바로가이와 같다
    ('in[대상파일][링크파일]' 의 명령어로 링크파일을 만든다)
  4. 소유자 : 해당파일의 소유자 이름
  5. 소유그룹 : 해당파일을 소유한 그루의 이름, 특별한 변경사항이 없을 경우 소유자가 속한 구룹이 소유그룹으로 지정된다.
  6. 용량 : 파일의 용량
  7. 생성날짜 : 파일이 생성된 날짜
  8. 파일이름 : 파일의 이름



퍼미션 정보

퍼미션 종류에는 3가지가, 사용자도 3가지가 있다.

퍼미션 종류

  • 읽기 r : 파일 읽기 권한
  • 쓰기 w : 파일의 쓰기 권한
  • 실행 x : 파일의 실행 권한

퍼미션의 사용자 지정

  • 소유자 : 소유자에 대한 퍼미션 지정
  • 그룹 : 소유그룹에 대한 퍼미션 지정
  • 공개 : 모든 사용자들에 대한 퍼미션지정


rwxrwxrwx

위 이미지의 myfile 이미지를 기준으로 보자.
퍼미션의 종류는 3가지 ( r w x )개 이지만 위 이미지를 보면 총 9개가 표시되어 있다. 3자리씩 끊어보면 좀 더 명확하게 알 수 있다.

소유자 : rwx 그룹 : rwx 공개 : rwx

따라서 해당퍼미션은 소유 그룹 공개 모두 r 읽고 w 쓰고 x 실행이 가능하다는 표시이다.
만약 퍼미션의 정보가 아래와 같으면 어떨까?

rwxrw-xr-x

소유자 : rwx 그룹 : r-x 공개 : r-x

해석해 보자면 소유자는 r 읽고 w 쓰고 x 실행이 가능하지만 그룹과 공개 사용자는 r읽고 x 실행밖에 시키지 못한다는 내용이 된다.

이 때 '-'의 기호는 해당 퍼미션은 없다는 뜻이다.




2) 퍼미션 변경하기

파일이 생성될 때 기본적인 퍼미션이 부여된다. 기본적으로 부여된 퍼미션을 변경하기 위해서는 가장 자주 사용되는 명령어들을 정리해 보겠다.

chmod [변경될 퍼미션 값][변경할 파일]

여기서 퍼미션 값을 지정해 줘야하는데 퍼미션 값은 아래와 같다

  • 각 퍼미션 기호를 숫자로 변환한다
    r = 4
    w = 2
    x = 1
  • 변환한 숫자를 합산한다
    ex) 쓰기:4 읽기:0 실행:1 = 5
    rwxrw-rw- -> 4+2+1 | 4+0+1 | 4+0+1 = 755

예시 chmod -R 777 blockchain

-R 옵션을 사용하면 myfile 하위의 디렉토리의 모든 파일의 퍼미션이 변경된다


위의 권한이 chmod -R 777 blockchain 으로 소유자 그룹 공개 모두 읽기 쓰기 실행을 할수 있게 변환 해주면

모든 blockchain디렉토리의 모든 파일의 권한이 변경된 것을 확인 할 수 있다.



3) 소유자 변경하기

chown [변경할 소유자][변경할 파일]

파일의 소유자를 양도 해야할 경우 소유자를 변경할 수 있다.
해당 명령어로 소유자 뿐만 아니라 소유 그룹도 변경 할 수 있다.

예시 chown happy test.text

소유자가 root에서 happy로 변경된 것을 확인 할수 있다.

출처 - https://conory.com/blog/19194

profile
To be

0개의 댓글