Study/리눅스

리눅스 9일차(setfacl/getfacl/링크)

됵이 2022. 7. 18. 19:45

ACL

  • Access Control List 의 약자 
  • 접근 제어 목록을 설정 하는 것
  • 파일 / 디렉터리 의 확장 속성 중 하나 

chmod & ACL 차이점

  • chmod : user / group / other 이란 한정된 영역에 권한을 부여할 수 있다. 
  • ACL : user / group / other 의 권한을 건드리지 않고 특정 user에게만 권한을 부여 할 수 있다. 

※확장 permission을 보기 위해서는 getfacl 명령어로 봐야 한다. 

ACL사용법

  • getfacl ==> getfacl [옵션] [파일/디렉터리] 
    • 파일 / 디렉터리의 추가적인 권한을 확인할 때 사용
    • 옵션
      • -d : 기본정보에 대해 확인
      • -R : 디렉터리인 경우 하위 디렉터리의 내용까지 확인
  • setfacl ==> setfacl [옵션] [권한] [파일/디렉터리] 
    • 파일/디렉터리 의 추가적인 권한을 수정 할 때 사용
    • 옵션 
      • -m : 권한 수정
        • ex) setfacl -m u:user1:r test.txt ==> test.txt 파일에 대하여 user1은 읽기를 추가한다. 
      • -x : 권한 삭제
        • ex) setfacl -x u:user1 /os ==> os 디렉터리에 대해서 user1의 권한을 삭제한다. 
        • ex) setfacl -x u:user1 /os ==> os 디렉터리에 대해서 user1의 권한을 삭제한다.  
      • -R : 디렉터리인 경우 하위 디렉터리까지 권한 변경
      • -b : 권한 및 mask 등 지정한 권한을 전부 제거

사용법

  • u:[유저명]:[rwx] : 유저 권한 부여
  • g:[그룹명]:[rwx] : 그룹 권한 부여
  • o::[rwx] : other 권한 부여
  • m::[rx] (mask : 권한에 제한을 두는 의미)

※mask / effective (실제 영향을 미치고 있는 권한)

- 지정된 사용자와 그룹이 사용할 수 있는 최대 권한을 의미

- 지정된 사용자나 그룹의 권한이 마스크에 설정된 권한을 벗어나게 되면 필터링이 되어 effective가 출력되고 해당 권한이 실질적인 권한으로 적용된다.

- 초기의 mask값은 그룹의 mask값 과 일치하게 된다. 

-group의 permission값을 변경하게 되면 mask값도 변경된다. 반대로 mask값을 변경하면 group의 값도 변경된다. 

 

※Default ACL 

기본 ACL은 디렉터리에만 적용 할 수 있다. 

디렉터리에 기본 ACL을 설정하게 되면 내부에 파일을 생성할 때 ACL값을 상속 받게 된다.

 

※참고할 것

chmod 2750 2-team => setgid를 설정함으로 하위 에 파일이나 문서를 만들때 소유그룹을 승계한다.

 

링크

링크 : 서로 다른 개체 사이의 연결 정보

링크의 종류

링크의 정의

※ inode : 실제 데이터가 있는 위치값 (책의 목차 , 지구의 위도 경도)

ls -l 에서 심볼릭 링크 확인

  • 하드 링크 
    • 동일 파티션에서만 사용이 가능 하다 (같은 inode를 써야 하기 때문)
    • 얼핏 보면 복사본과 같은 개념이지만 서로 연결 되어 있어 한쪽을 수정하면 다른 한쪽도 수정이 된거 처럼 보인다.
    • 그리고 하나를 삭제해도 하나는 그대로 남아있게 된다. 
 
  • 심볼릭 링크 
    • 바로가기 와 같은 기능
    • 만들어진 바로가기 링크를 삭제 한다고 해서 원본 파일에 영향을 주진 않는다. (원본에 대한 안정성)
    • 다른 파티션에도 생성이 가능 하다 
 
inode 값이 서로 다른것을 확인

echo $PATH 에서 바로가기 리스트에 있는지 확인

링크 설정
값이 들어있는지 확인