숫자 모드를 사용하여 setuid 권한 지우기

숫자 모드를 사용하여 setuid 권한 지우기

Ubuntu Linux에는 setuid bit()가 설정된 디렉터리가 있는데 drwsr-xr-x이를 설정 해제하고 싶습니다.

그것도 마찬가지 입니다 chmod 755( 처음 0은 "이것은 8진수입니다"로 해석될 수도 있지만). setuid 비트를 지웁니다. 그러나 그것은 끝났습니다.chmod 0755chmod 00755chmod u-s

setuid 비트를 지우는 올바른 숫자 패턴은 무엇입니까?

답변1

재미있게. 이것은 GNU를 사용하면 불가능한 것 같습니다 chmod. 이것은 기능입니다. 내 시스템 info에 들어가기 시작 하면 chmod비트를 설정하는 항목은 기호 및 숫자 모드를 참조하는 반면 이를 지우는 항목은 기호( ug-s) 모드만 참조합니다.

27.4 디렉토리와 Set-User-ID 및 Set-Group-ID 비트

이러한 편의 메커니즘은 디렉토리의 set-user-ID 및 set-group-ID 비트에 의존합니다. mkdir'과 같은 명령이 디렉토리에서 이러한 비트를 자주 지우 면 chmod' and 메커니즘이 덜 편리해지고 파일 공유가 더 어려워집니다. 따라서 "chmod"와 같은 명령은 사용자가 기호 모드에서 구체적으로 언급하거나 숫자 모드로 설정하지 않는 한 디렉토리의 set-user-ID 또는 set-group-ID 비트에 영향을 주지 않습니다.

[...]

이러한 비트를 설정하려면 기호 또는 숫자 모드에서 명시적으로 언급해야 합니다. 예를 들면 다음과 같습니다.

[...]

이러한 비트를 지우려면 기호 모드에서 명시적으로 언급해야 합니다. 예를 들면 다음과 같습니다.

[...]

이 동작은 GNU 확장입니다. POSIX에서는 구현이 이러한 요청을 무시할 수 있도록 허용하므로 이식 가능한 스크립트는 디렉터리에서 이러한 비트를 설정하거나 지우는 요청에 의존해서는 안 됩니다.

관련 정보