질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

파일 권한에서 S는?

작성자 정보

  • 박태혁 작성
  • 작성일

컨텐츠 정보

본문

최선영 님의 글


파일의 권한 속성에서 s는 setuid/setgid잖아요...

그런데 S는 어떤 의미이고, 퍼미션 설정은 숫자로는 어떻게 되나요?




파일속성 설정

  1. 파일속성 설정

  2. 예를 들어, 어떤 파일이 있는데 이 파일은 쓰기가 가능한데 오로지 추가하는 모드로만 열 수 있도록 하고 싶은경우가 있다면 기존의 파일 권한 모드로는 어떻게 할 방법이 없다. 이럴 때 사용하는 것이 파일속성 설정이며 이는 chattr 명령을 사용한다.
     

  1. 사용법
  1. chattr [-RV] [-+=AacdisSu] [-v version] files...
     

  1. 옵션
  1. -R(Recursive) : 디렉토리와 그 이하 모든 내용의 속성을 회귀적으로 변경한다.
    -V(Verbose) : 변화된 속성에 대하여 자세히 출력해 준다.
    -v version_number : 파일에 "version_number"에 해당하는 버전을 설정한다.
  2. 심볼릭 모드의 형식은 +-=[Sacdisu] 으로 사용가능하다.
    여기서 "+" 연산자는 주어진 속성을 현재 파일의 속성에 추가하며, "-" 연산자는 속성을 제거한다. "=" 연산자는 파일이 갖는 속성을 오로지 주어진 속성만 갖도록 설정하게 된다.
    "Sacdisu" 문자들은 각각 다음과 같은 속성을 지닌다.
     

syncronization, 동시적 갱신으로 파일을 열게 한다. 
append, 추가만 지원한다. 
compress, 압축상태로 저장한다. 
dump, 덤프를 하지 않는다. 
imutable, 면역상태를 만든다. 
safe, 안전한 쓰기를 제공한다. 
undelete, 지울 수 없게 한다. 
  1. [리눅스 파일시스템의 추가 속성]
  2. "S"는 파일을 동기화 시켜준다. 따라서 여러곳에서 파일을 사용하는 경우에도 해당 파일은 시간의 순서대로 동기화되어 진다. 이것은 sync 마운트 옵션을 사용하는 경우와 같다.
    "a"는 해당 파일을 추가하는 모드로만 열 수 있다. 따라서 이 속성이 지정되면 지우거나 변경은 되지 않는다.
    "c"는 디스크상에서 압축해서 저장하는 속성이다.
    "d"는 dump 명령 수행시 백업되지 않게하는 속성이다.
    "i"는 완전히 불변하는 파일을 만든다. 이 파일은 어떠한 경우에도 지울 수도, 이름을 변경할 수도, 심지어 링크도 만들 수 없게 된다. 수퍼유저가 이 속성을 변경하기 전에는 어떤 상태도 만들 수 없게 된다.
    "s"는 안전하게 지우는 것으로 일단 지울 때는 모든 블록을 0으로 초기화 시킨뒤에 스기를 시작한다.
    "u"는 undelete로, 지운뒤에 사용자가 다시 복구하는 기능이지만 아직 구현되지 않고 있다.
     
  3. 이제 몇가지를 확인해 보면,
    아래와 같은 내용을 담고 있는 attr 이라는 파일이 있다고 할 때, 이 파일에 append 속성을 추가해보기로 하자.
  4. [bluesky@bluestar bluesky]# ls -lF attr
    -rw-r--r-- 1 bluesky bluesky 46 Mar 9 11:15 attr
    [bluesky@bluestar bluesky]# cat < attr
    S: syncronization...
    a: append...
    c: compress
  5. 이제 이 파일에 append 속성을 추가하면,
    [bluesky@bluestar bluesky]# chattr -V +a attr
    chattr 1.14, 9-Jan-1999 for EXT2 FS 0.5b, 95/08/09
    Flags of attr set as -----a--
  6. 이렇게 append 속성을 추가하면 이제부터 이 파일은 "추가모드로만 변경이 되며 지우거나 할 수가 없게 된다".
    [bluesky@bluestar bluesky]# cat > attr
    bash: attr: Operation not permitted  <- 수정이 안된다고 함.
    [bluesky@bluestar bluesky]# cat >> attr   <- 추가모드(>>)로 작성
    d: dump...   <- 이 라인을 추가한다.
  7. [bluesky@bluestar bluesky]# cat < attr
    S: syncronization...
    a: append...
    c: compress
    d: dump...  <- 추가된 라인
     
  8. 이번에는 imutable 속성을 추가해보자.
    [bluesky@bluestar bluesky]# chattr -V +i attr
    chattr 1.14, 9-Jan-1999 for EXT2 FS 0.5b, 95/08/09
    Flags of attr set as ----ia--
  9. [bluesky@bluestar bluesky]# rm attr
    rm: remove `attr'? y
    rm: cannot unlink `attr': Operation not permitted  <- 지울 수가 없다고 한다.
     

관련자료

댓글 1

최선영님의 댓글

  • 최선영
  • 작성일
님, 감사합니다.
근데, 질문의 요지가 그게 아니었습니다.
퍼미션 정보에서 -rwxrwSr-- 처럼 나타나는 'S'의 뜻을 질문하려고 했던 거라서...

공지사항


뉴스광장


  • 현재 회원수 :  60,138 명
  • 현재 강좌수 :  36,190 개
  • 현재 접속자 :  417 명