리눅스 권한체계와 절대경로, 상대경로

soobeen-jeong·2023년 2월 20일
0

※리눅스 권한체계

허가권 (permisstion)

r (읽기, 4): 디렉터리 목록 확인 권한
w (쓰기, 2): 디렉터리 안에서 파일을 생성, 삭제할 수 있는 권한
x (실행, 1): 디렉터리의 경로 변경, 디렉터리 안에 있는 항목을 읽을 수 있는 권한

0 : 접근 권한 없음 (---)

1 : 실행 가능 (--x)

2 : 쓰기 가능 (-w-)

3 : 쓰기,실행 가능 (-wx)

4 : 읽기 가능 (r--)

5 : 읽기,실행 가능 (r-x)

6 : 읽기,쓰기 가능 (rw-)

7 : 모든 접근 가능 (rwx)

허가권(permission) 관리 명령어

chmod 파일의 허가권 변경
unmask 개체가 생성될 때 부여되는 기본 permission 설정
setuid 일시적으로 소유자의 권한으로 파일을 실행함
setgid 일시적으로 소속그룹의 권한으로 파일을 실행함
sticky bit 모든 권한 할당(단, 삭제는 소유주만 가능함)

소유권 (ownership)

가장 맨 앞:
d로 시작하면 디렉토리, 하이픈 시작하면 파일
첫번째:
소유자 또는 사용자
두번째:
그룹
세번째:
소유자와 그룹에 해당이 안되는 사용자

소유권(ownership) 관리 명령어

chown 파일의 소유권 변경
chgrp 파일의 소속그룹 소유권 변경

※상대 경로와 절대 경로

리눅스에서 디렉터리와 파일들의 관계를 형상화하면 트리(tree) 구조 형태를 띄고 있음
모든 디렉터리 경로는 /(루트) 로 부터 시작하여 / 하위에 위치

절대경로

절대 경로란 특정한 파일의 경로를 표현할 때 / (루트 디렉터리) 부터 시작하는 경로

상대경로

상대 경로란 특정한 파일의 경로를 표현할 때 현재 사용자가 접근해 있는 현재 경로를 기준으로 시작하는 경로

리눅스 경로 표기

. : 현재 접근해 있는 디렉터리를 의미
.. : 부모(상위) 디렉터리를 의미
~ : 현재 리눅스에 접속해 있는 계정의 홈 디렉터리를 의미

리눅스 경로 표기 예시

./ee.jpg : 현재 경로의 ee.jpg 파일. 절대경로로 표기하면 /opt/aaa/window/window/ee.jpg
../../bbb : 상위 디렉터리의 상위 디렉터리에 있는 bbb 디렉터리 /opt/bbb
~ : ~가 의미하는것은 현재 계정의 홈 디렉터리 이므로 접속한 계정에 따라 경로가 달라짐.
root 계정인 경우 /root를 의미

특수 권한

  • 일반적인 권한과는 조금 다른 특수한 권한

    SetUID:other가 파일을 실행할 때 소유자의 권한으로 접근할 수 있게 해주는 권한 (실행이 x가 아닌 s로 나타남)

  • chmod 4xxx [파일이름] 또는 chmod u+s [파일이름]

    SetGID: other가 파일을 실행할 때 관리 그룹의 권한으로 접근할 수 있게 해주는 권한 (실행이 x가 아닌 s로 나타남)

  • chmod 2xxx [파일이름] 또는 chmod g+s [파일이름]

    StickyBit: 디렉토리를 마치 자유게시판처럼 사용할 수 있게 해주는 권한일반적으로 /tmp 디렉토리에 부여 (실행이 x가 아닌 t로 나타남)

  • chmod 1xxxx [파일이름] 또는 chmod o+t [파일이름]
    스티키 비트(1000)가 설정된 디렉터리는 누구나 파일을 만들수 있지만 자신의 소유가 아닌 파일은 삭제할 수 없습니다.
    즉 일종의 공유 디렉터리라고 볼수 있는데 sticky bit 가 붙은 가장 유명한 사례는
    유닉스의 임시 파일을 쓰는 디렉터리인 /tmp 입니다.

디렉터리에 스티키 비트를 붙일 때 누구나 읽고, 쓰고, 실행할 수 있도록 777 권한을 줘야 함

실습

SetUID, SetGID 권한 변경 명령
chmod 4777 test
test : -rwsrwxrwx.

chmod 2777 test
test : -rwxrwsrwx.

chmod 1777 test
test : -rwxrwxrwt

find / -perm -4000 > /jhj/setuid_file_list (4000이 포함된 파일을 찾기 위해 앞에 - 붙이기)

Sticky Bit 실습

chmod 777 dir1, chmod 1777 dir2 두 디렉토리의 차이점

  1. dir1에서는 사용자끼리 소유물의 권리가 없음

  2. dir2에서는 사용자끼리 소유물의 권리가 있음

    x 권한이 있으면 s(소문자) //rws rwx rwx
    x 권한이 없으면 S(대문자) //rwS rwx rwx

    절대경로 ex) www/css/style.css
    상대경로 ex) ../css/style.css
    ./ :현재경로 이후의 모든 디렉토리, 파일들
    ../
    :상위경로 이후의 모든 디렉토리, 파일들

※umask

umask 000
새 폴더: 777
새 파일: 666

umask 001
새 폴더: 776
새 파일: 666

umask 022
새 폴더: 755
새 파일: 644

chown -R 옵션

-R: 경로와 그 하위 파일들을 모두 변경한다.

~/../BAE BAE 상대경로

cd ~ home
cd - 이전 경로로 이동

cd / 최상위 디렉토리로 이동

rwsrwxrwx
rwSrwxrwx

rwsrwxrwx == 4777 x 권한이 있으면 s(소문자)
rwSrwxrwx == 4677 x 권한이 없으면 S(대문자)

0개의 댓글