답변:
이것은 아마도 사람들이 항상 엉망으로 만드는 가장 짜증나는 일 중 하나 일 것입니다. SUID / GUID 비트와 스티키 비트는 완전히 다른 두 가지입니다.
당신이하는 경우 man chmod
SUID 및 스티커 비트에 대해 읽을 수 있습니다. man 페이지는 여기에서 확인할 수 있습니다 뿐만 아니라.
발췌
영향을받는 사용자에 대한 문자 rwxXst 선택 파일 모드 비트 : 읽기 (r), 쓰기 (w), 실행 (또는 디렉토리 검색) (x), 파일이 디렉토리이거나 일부에 대해 이미 실행 권한이있는 경우에만 실행 / 검색 user (X), 실행시 사용자 또는 그룹 ID , 제한된 삭제 플래그 또는 sticky bit (t)를 설정 합니다.
위의 맨 페이지에서 말하려는 것은 사용자 8 진 (rwx의 첫 번째 그룹) 및 8 진 그룹 (rwx의 두 번째 그룹)에 대해 x 비트가 rwxrwxrwx에서 취하는 위치는 x가되는 추가 상태를 취할 수 있다는 것입니다. s. 이 파일이 실행될 때이 파일이 실행될 때 (쉘 스크립트가 아닌 프로그램 인 경우) 소유자 또는 파일 그룹의 권한으로 실행됩니다.
따라서 파일이 루트가 소유하고 SUID 비트가 켜져 있으면 프로그램이 루트로 실행됩니다. 일반 사용자로 실행하더라도. GUID 비트에도 동일하게 적용됩니다.
발췌
SETUID 및 SETGID 비트
chmod는 파일의 그룹 ID가 사용자의 유효한 그룹 ID 또는 사용자의 보조 그룹 ID 중 하나와 일치하지 않으면 사용자에게 적절한 권한이없는 경우 일반 파일의 set-group-ID 비트를 지 웁니다. 추가 제한 사항으로 인해 MODE 또는 RFILE의 set-user-ID 및 set-group-ID 비트가 무시 될 수 있습니다. 이 동작은 기본 chmod 시스템 호출의 정책 및 기능에 따라 다릅니다. 확실하지 않은 경우 기본 시스템 동작을 확인하십시오.
chmod는 달리 지정하지 않으면 디렉토리의 set-user-ID 및 set-group-ID 비트를 유지합니다. u + s 및 gs와 같은 기호 모드를 사용하여 비트를 설정하거나 지울 수 있으며 숫자 모드를 사용하여 비트를 설정 (클리어하지는 않음) 할 수 있습니다.
suid / guid 없음 -비트 rwxr-xr-x 만 설정됩니다.
$ ls -lt b.pl
-rwxr-xr-x 1 root root 179 Jan 9 01:01 b.pl
suid & user 's executable bit enabled (소문자 s) -비트 rwsr-xrx 가 설정되었습니다.
$ chmod u+s b.pl
$ ls -lt b.pl
-rwsr-xr-x 1 root root 179 Jan 9 01:01 b.pl
suid enabled 및 executable bit disabled (대문자 S) -비트 rwSr-xr-x 가 설정됩니다.
$ chmod u-x b.pl
$ ls -lt b.pl
-rwSr-xr-x 1 root root 179 Jan 9 01:01 b.pl
guid & group의 실행 비트 활성화 (소문자 s) -비트 rwxr-sr-x 가 설정됩니다.
$ chmod g+s b.pl
$ ls -lt b.pl
-rwxr-sr-x 1 root root 179 Jan 9 01:01 b.pl
guid 활성화 및 실행 비트 비활성화 (대문자 S) -비트 rwxr-Sr-x 가 설정됩니다.
$ chmod g-x b.pl
$ ls -lt b.pl
-rwxr-Sr-x 1 root root 179 Jan 9 01:01 b.pl
반면에 스티커 비트 t
는 /tmp
디렉토리 와 같이 로 표시됩니다 .
$ ls -l /|grep tmp
drwxrwxrwt. 168 root root 28672 Jun 14 08:36 tmp
이 비트는 항상 "제한된 삭제 비트"라고 불려야합니다. 이 모드 비트가 활성화되면 사용자가 소유자 인 파일 및 디렉토리 내에서만 파일 및 디렉토리를 삭제할 수 있도록 디렉토리를 만듭니다.
발췌
제한된 삭제 플래그 또는 끈적한 비트
제한된 삭제 플래그 또는 고정 비트는 단일 비트이며 해석은 파일 유형에 따라 다릅니다. 디렉토리의 경우
권한이없는 사용자가 파일이나 디렉토리를 소유하지 않는 한 디렉토리에서 파일을 제거하거나 이름을 바꾸는 것을 방지합니다. 이것을 디렉토리의 제한된 삭제 플래그라고하며, 일반적으로 / tmp와 같은 쓰기 가능한 디렉토리에서 찾을 수 있습니다. 일부 구형 시스템의 일반 파일의 경우 비트는 프로그램의 텍스트 이미지를 스왑 장치에 저장하므로 실행시 더 빨리로드됩니다. 이것을 끈적 끈적한 비트라고합니다.
ls
입니다. 분명히 슈퍼 유저 만이 파일에 고정 비트를 설정할 수 있습니다. 가상 메모리와 공유 라이브러리가 도입 된 후, 특히 페이저가 더 똑똑해지고 어떤 페이지를 상주 시킬지 동적으로 결정할 수있게됨에 따라 그 중요성이 줄어 들었습니다.
ed
끈적 끈적한 것 같아요 .
스티커 비트 란 무엇입니까?
고정 비트는 해당 디렉토리 내의 파일 소유자 또는 루트 사용자 만 파일을 삭제하거나 이름을 바꿀 수있는 디렉토리에 설정된 권한 비트입니다. 다른 사용자가 다른 사용자가 작성한 파일을 삭제하는 데 필요한 권한이 없습니다.
다른 사용자에게는 모든 권한이 있지만 중요한 폴더 및 해당 내용 (하위 디렉터리 및 파일)이 삭제되지 않도록하기위한 보안 조치입니다.