ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [리눅스] 권한
    서버/리눅스 2017. 3. 21. 20:50

    @그룹관리

    #1 그룹에 사용자 넣기

    #>usermod -G group jserjb


    #2 사용자별 그룹 확인 id <user_name>

    id <user name>


    그렇을 그렇게 배웠는데 어따 서먹언 ㅑㅑㅑㅑㅑㅑㅑㅑ


    @소유권, 권한

        0           1       2           3   4       5       6            7               8


    0) i-node 값.

     

    1) 파일의 타입

    - : 일반파일

    d : 디렉터리 파일

    l : 링크 파일

    b,c : 장치파일


    2) 권한 설정

    rw-  r-- r--

    1     2   3


    1. 소유자의 권한

    2. 소유그룹의 권한

    3. 다른 사용자의 권한


    3) 링크파일의 갯수


    4) 파일의 소유자

    : 생성한 유저(기본 설정)


    5) 파일의 소유그룹

    : 기본그룹(기본 설정)


    6) 파일의 크기 (touch로 생성시 0byte)


    7) 파일의 생성 시각


    8) 파일의 이름


    #######관리자는 모든권한을 가지고 있다.


    #rwx : 권한 순서

    [일반파일 권한] 666

    r : 읽기     >    cat, tail, head, vi, ----

    w : 쓰기    >    cat, vi  ----

    x : 실행     >    (디렉터리, 실행파일에만 존재)

    6(rw-) : 관리자다. 소유자다. 중요하지 않은 파일이다.

    4(r--) : cat으로 볼 수만 있다.

    2(-w-) : 쓸 수만 있다. 이런 파일에 똥 먹으라고 cat > <f_name> 접근해서 똥을 먹여준다.


    [디렉터리 권한] 777

    r : 읽기    : 정보를 볼수있다     >    ls ----

    w : 쓰기   : 디렉터리 정보를 수정할 수 있다.    >    rm, mkdir, rmdir  ----

    x : 실행    : 디렉터리에 접근할 수 있다.  >    cd


    7(rwx) : 관리자다. 소유자다. 중요하지 않은 디렉터리이다.

    6(rw-)=4(r--) : 디렉터리 정보만 볼수 있다.(ls명령어 실행시 실행 권한이 없는경우라 이름만 공개된다)

    5(r-x) : 디렉터리의 하위 디렉, 파일을 볼 수 있지만 생성, 수정, 삭제는 불가능하다

    3(-wx) : 디렉터리를 수정할 권한은 있지만 파일의 정보를 볼수 없다... 이 디렉터리들은 

    생각나는 파일명들을 죄다 rm <f_name>으로 지워보려서 똥을 준다.

    2(-w-) : 없는 셈이다.. 그냥 ...똥이다

    1(--x) : 실행만 가능하다. 실행후 안의 파일정보를 알고있다면 그 파일에 접근할 기회를 얻는다.


    r권한이 없으면 *(와일드카드) 나 ?(자릿수) 명령어는 사용할 수 없다.

    - : 해당 권한이 존재하지 않음


    #규칙

      rw-          r--             r--

    1)소유자 > 소유그룹 > 다른사용자 순서대로 진행한다.

    2)r-- 권한을 가진 그룹사용자가 파일을 vi로 열면  read on(읽기전용) 파일로 열린다.

    3)표시 소유자(user) : u    소유그룹(group) : g    다른사용자(other_user) : o    로 표현


    *umask : 파일이나 디렉터리 생성시 부여하지 않을 권한 


    #파일의 기본 권한 (기본적으로 2진수개념으로 들어간다)

    rwx : 4+2+1 = 7

    rw- : 4+2+0 = 6

    r--  : 4+0+0 = 4


    - root(관리자)의 기본 권한    :   umask : 022

    ! 일반 파일(666) : 644    >> 666 - 022 : 644


    ! 디렉터리 파일(777)  : 755

    >> 여러가지 테스트 결과

    디렉터리 파일에 대해서 권한의미는

    r : 디렉터리 이름

    w : 디렉터리 수정(rm, mkdir, 


    - 일반 사용자의 기본 권한    :   umask : 002

    ! 일반 파일 : 664    >> 666 -002 : 664


    ! 디렉터리 파일 : 775


    >> 쓰기만 가능한건 없다. >> 쓰려면 파일을 읽어야 하기 때문이다.



    #1 소유권 변경 : chown

    위에 root root (소유자 소유그룹) 을 가진 file1을 변경하는 실습을 하곘습니다.


    1) 소유자 변경 : 

    #>chown <user_name> <path>


    2) 소유그룹 변경 :

    #> chown .<group_name> <path>

    #> chown :<group_name> <path>


    소유자는 그냥 name으로 작성하는 반면 그룹은 (.) 마침표 또는 (:) 콜론을 g_name앞에 붙여서 사용합니다.


    3) 소유자, 소유그룹 변경

    #> chown <user_name>.<group_name> <path>

    #> chown <user_name>.<group_name> <path>


    if )소유자랑 소유그룹이 이름이 같은 경우에는 

    #>chown <user&g_name>. <path>

    #>chown <user&g_name>: <path>



    #2 권한 테스트


    터미널1 : root 계정

    터미널2 : user 계정(사용자)

    터미널3 : linux01 계정(사용자)


    [실습목적] : 계정에 따른 초기 권한을 알아본다


    step1 : user사용자로 파일 하나를 만든다    user $>touch /linux/file2

    step2 : 파일을 확인한다 user $>ls -l /linux/file2

    664로 잘 나왔다 > user그룹에는 user밖에없으니 file2는 user만 쓰기만 가능하겠네요


    step3 : linux01계정으로 들어가서 vi편집기를 켜보자


    readonly : 읽기전용 파일로 열렸다


    insert를 시도하려는 순간 경고창이 뜬다.


    무시하고 :w :wq를 아무리 눌르면 읽기전용파일이라고 못나간단다.


    step4 : 불쌍한 linux01의 계정을 위해서 /linux/file2 파일을 linux01이 속한 linux으로 지정해준다.

    #>chown .linux /linux/file2

    >> linux그룹으로 변경되었다.


    step5 : 다시 linux01 계정으로 변경을 시도한다.


    step6 : poweroff.... 전에 이제 소유자, 소유그룹이 아닌 소유권한을 변경하는 걸 해본다.




    #권한 수정 :  : chomd


    권한 수정에는 2가지 방법이 있다.

    #1 심볼릭(symbolic) : #>chmod <symbolic> <path>

    ex) #>chmod u=rw,g=r,o= /linux/file2


    u, g, o는 안주고 싶으면 생략 가능하다

    #>chmod g=rw /linux/file2


    권한을 뺄 수도있다.

    #>chmod g-w /linux/file2


    그럼 덧셈도 가능하다

    #>chmod g+w /linux/file2



    이쯤되면 ...file2가 불쌍해진다 ㅠ


    #2 8진(octal) : 


    ---    >>    0

    r--    >>    4

    rw-   >>    6

    rwx   >>    7

    r-x    >>    5

    --x    >>    1    --잘안쓰인다 ;;;;

    [사용법] #>chmod 640 <path> : octal방식은 생략같은거 없이 그냥 써야한다.






    #권한에 대한 문제 : Permission denied 허가 거부



    이때는 접근하는 파일에 대한 권한과 내가 사용하는 계정, 그룹의 권한을 확인해보는 것이 좋다.





    댓글

Designed by Tistory.