Just do IT
article thumbnail

[권한 (permission)]

   - 리눅스의 권한은 허가권, 소유권 두 종류로  볼 수 있다.
   - 모든 디렉토리나 파일은 무조건 허가권과  소유권이 존재한다.
   - 권한 설정에 다라 디렉토리나 파일의 사용형태가 결정된다.
   - 허가권, 소유권은 ls -l 명령어로 볼 수 있다.
   - 허가권 : chmod (change modification)
      * 디렉토리나 파일에 읽기(r), 쓰기(w), 실행(x)권한을 표시하는 것
   - 소유권 : chown (chagne ownership)
      * 디렉토리나 파일을 소유하고 있는 꼐정과 그룹이 누구인지 표시하는 것
[-rw-r--r--. 1 root root 4303 5월 3 17:44 grub.cfg]
   -  -rw-r--r-- : 허가권
   - root root : 소유권


[허가권]
   - 파일/디렉토리에 대한 허가 권한을 알려줍니다.
   - 허가권은 r, w, x로 구성합니다.

      * r = read = 읽기권한 (4)
      * w = write = 쓰기권한 (2)
      * x = execute = 실행권한 (1) (파일 - 실행권한, 디렉토리 - 접근권한)

rwx rwx rwx
421 (7) 421 (7) 421 (7)
owner group other

   - 허가권은 3개씩 끊어서 분류합니다. (rwxrwxrwx > rwx rwx rwx)
   - 허가권은 숫자로도 표현할 수 있습니다. (읽기 4, 쓰기 2, 실행 1 / 최대 허가권은 777이다)
   - 허가권은 사용자(owner), 그룹(group), 기타(other) 3가지로 분류합니다.
      소유권과 같이 사용해야 정확하게 확인할 수 있습니다.
   - ls -l로 조회하려서 허가권을 볼 때 부여된 허가권은 rwx로 보이고
     부여되지 않는 허가권은 -로 보인다.
   - 예)  -rw-r--r--(644) : owner(rw- / 6), group(r-- / 4), other(r-- / 4)
            파일 사용자(읽기, 쓰기 권한), 파일 그룹 사용자(읽기 권한), 기타 사용자(읽기 권한)

※  root는 허가권에 영향을 받지 않습니다.

[허가권 변경하기]
   - chmod : change mode
   - 파일이나 디렉토리의 허가권은 root계정이나 owner의 계정만이 변경할 수 있습니다.

   ① 숫자로 변경하기
      - owner, group, other의 허가를 한번에 바꿀 때 사용하면 유용합니다.
      - 읽기(4), 쓰기(2), 실행(1) 각 번호를 합산한 가격을 사용하게 된다.
      - 모든 권한 허용 - 7, 모든 권한 제거 - 0
     [사용방법]
      - chmod [바꾸고 싶은 허가권 숫자] [파일 혹은 디렉토리 경로]
      - /home/test/a 디렉토리의 권한을 모두 허용 (777로 부여하기)

[root@localhost~]#ls -l /home/test
drw-r--r--. 1 root root 4303 5월 3 17:44 a

[root@localhost~]#chmod 777 /home/test/a
[root@localhost~]#ls -l /home/test
drwxrwxrwx. 1 root root 4303 5월 3 17:44 a

※ 파일/디렉토리 명의 색상으로 권한을 빠르게 확인할 수도 있다. (초록색 > 777권한)

   ② 문자로 변경하기 
      - owner, group, other의 허가를 따로 바꾸고 싶을 때 사용할 수 있습니다.
      - u(owner(user)), g(group), o(other)의 영문을 사용해서 각각 권한을 변경할 수 있습니다.
      - 권한 제거와 부여는 (-) 기호와, (+)기호로 제거&부여 할 수 있습니다.
      [사용방법]
      - chmod [바꾸고 싶은 허가권] [파일 혹은 디렉토리 경로]
      - /home/test/a 디렉토리의 권한 제거하기 (사용자 x 제거, 그룹 w,x 제거, 기타 w,x제거)

[root@localhost~]#ls -l /home/test
drwxrwxrwx. 1 root root 4303 5월 3 17:44 a

[root@localhost~]#chmod u-x g-wx o-wx /home/test/a
[root@localhost~]#ls -l /home/test
drw-r--r--. 1 root root 4303 5월 3 17:44 a

[소유권]

   - 파일/디렉토리의  소유자와 그룹을 알려줍니다.
   
- 소유권은 UID(User ID) GID(Group ID)로 구성합니다.
   - 내 계정이 파일/디렉토리의 UID와 같다면 소유자, GID와 동일하다면 그룹사용자,
     둘 다 아니라면 기타 사용자로 생각하면 됩니다.
   ※ 내 계정의 UID, GID 확인 방법 : grep [찾고싶은 문자열] /etc/passwd


[소유권 변경하기]
   - chown : change ownership (소유권 변경하기)
   - root 혹은 파일/디렉토리의 소유자만이 파일/디렉토리의 소유권을 변경할 수 있습니다.
   -  사용자(UID)와 그룹(GID)를 구분하기 위해서 구분자로 :(콜론)을 사용하는데
       :(콜론)대신 .(점)을 사용할 수 있습니다.
   - 4가지 방식으로 소유권을 변경할 수 있습니다.

   ① 파일/티렉토리의 소유자(UID)만 변경하고 싶을 경우
      - chown [사용자명] [변경하고 싶은 파일/디렉토리 경로]

[root@localhost~]#ls -l /home/test
drw-r--r--. 1 root root 4303 5월 3 17:44 a

[root@localhost~]#chown samadal /home/samadal/a
[root@localhost~]#ls -l /home/test
drw-r--r--. 1 samadal root 4303 5월 3 17:44 a


   ② 파일/디렉토리의 그룹(GID)만 변경하고 싶을 경우
      - chown :(콜론)[그룹명] [변경하고 싶은 파일/디렉토리 경로]

[root@localhost~]#ls -l /home/test
drw-r--r--. 1 samadal root 4303 5월 3 17:44 a

[root@localhost~]#chown :samadal /home/samadal/a
[root@localhost~]#ls -l /home/test
drw-r--r--. 1 samadal samadal 4303 5월 3 17:44 a


   ③ 파일/디렉토리의 소유자(UID)와 그룹(GID)을 동일하게 변경하고 싶을 경우
      - chown [사용자명]:(콜론) [변경하고 싶은 파일/디렉토리 경로]

[root@localhost~]#ls -l /home/test
drw-r--r--. 1 samadal samadal 4303 5월 3 17:44 a

[root@localhost~]#chown root: /home/samadal/a
[root@localhost~]#ls -l /home/test
drw-r--r--. 1 root root 4303 5월 3 17:44 a


   ④ 파일/디렉토리의 소유자(UID)와 그룹(GID)을 한번에 변경하고 싶을 경우
      - chown [사용자명]:[그룹명] [변경하고 싶은 파일/디렉토리 경로]

[root@localhost~]#ls -l /home/test
drw-r--r--. 1 root root 4303 5월 3 17:44 a

[root@localhost~]#chown samadal:test /home/samadal/a
[root@localhost~]#ls -l /home/test
drw-r--r--. 1 samadal test 4303 5월 3 17:44 a

※ 파일/디렉토리 권한 확인하기 (사용자 계정일 때만 확인, root는 확인 필요없음)
   소유권과 허가권을 같이 확인해야 한다!!!

1. 내 계정의 UID, GID 확인하기
   -> grep [사용자명] /etc/passwd 
2. 파일/디렉토리의 UID, GID와 비교하기
   -> UID가 동일하면 소유자, GID가 동일하면 그룹, 둘 다 아니면 기타
3. 소유자, 그룹, 기타가 확인이 되면 해당 권한 확인하기
   -> rw- r-- r-- 중 맞는 권한 확인하면 된다.

 

리눅스 권한 (특수권한/ 사용자 복구)

'Programing > Linux' 카테고리의 다른 글

리눅스 파일 (압축)  (0) 2022.12.23
리눅스 권한 (특수 권한/ 사용자 복구)  (0) 2022.12.22
리눅스 명령어 (생성 & 삭제)  (0) 2022.12.20
리눅스 명령어(cp, mv)  (0) 2022.12.20
리눅스 명령어(ls)  (0) 2022.12.20
profile

Just do IT

@AmyG

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!