suid 비트가 디렉토리에 영향을 미치지 않고 sticky 비트가 파일에 영향을 미치지 않는다면 왜 하나의 비트로 결합되지 않습니까?


18

파일 당 하나의 비트를 저장합니까 아니면 어쨌든 사용해야하는 패딩이 있습니까? 패딩이 있어도 여전히 결합하여 새로운 기능을 위해 여분의 비트를 활용하지 않겠습니까?


3
스티커 비트는 일반 파일에서 무언가를합니다. 사용되는 방법 은 en.wikipedia.org/wiki/Sticky_bit 를 참조하십시오 .
Joshua

@Joshua 흥미 롭습니다. Linux가 아닌 * nix에서 동작이 달라지는 것이 좋습니다. 그러나 나는이 질문에 Linux를 염두에 두었다. BSD amd 및 ls를 사용하는 Linux 커널의 누군가가 여전히 스티키 파일 비트에 의존 할 수 있는지 궁금합니다. 그리고 나는 일반적인 사용자 프로그램을 모르더라도 다양한 userland 프로그램 그것을 확인 / 실행할 수 있다고 생각합니다.
Harry

답변:


26

역사적 이유로. 스티키 비트는 원래 완전히 다른 목적으로 사용되었습니다. 실행 파일에 설정된 경우 운영 체제에 텍스트 세그먼트를 스왑 상태로 유지하도록 지시했습니다. 따라서 이름은 "Sticky Bit"입니다.


감사합니다. 그러나 여전히 내부적으로 "1 비트"가되지 않습니까? 아니면 파일 단위로 1 비트 절감 효과가 충분하지 않습니까?
Harry

6
실행 파일은 suid와 sticky의 네 가지 조합을 모두 가질 수 있습니다.
Johan Myréen

예, 따라서 원래의 질문입니다. 어쩌면 더 잘 말하면, 왜 끈적 끈적한 이름의 이름 (또는 과거의 사용법)이 그것을 오늘날의 suid 비트와 결합시키는 것과 관련이 있습니까? 두 비트의 기능을 하나의 "sticky / suid"비트로 결합 할 수 없었습니다. 파일에 설정하면 suid로 작동하지만 디렉토리에 설정하면 고정으로 작동합니까?
Harry

17
비트를 이동 시키면 호환성이 떨어집니다. chmod 4755 filesuid 비트를 chmod 1755 dir설정하고 sticky 비트를 설정합니다. 파일 당 단일 비트를 저장하기 위해 오래된 스크립트를 중단하고 싶지 않습니까? 물론 외부 인터페이스가 동일하게 유지되는 한 내부적으로 파일 시스템은 최적화를 자유롭게 구현할 수 있습니다.
Johan Myréen

6
@Johan Myréen : 물론 실제로 비트를 저장하지 않으면 바이트 / 워드 권한 필드에서 사용되지 않는 비트가됩니다.
jamesqf
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.