![숫자 모드를 사용하여 setuid 권한 지우기](https://linux55.com/image/44471/%EC%88%AB%EC%9E%90%20%EB%AA%A8%EB%93%9C%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20setuid%20%EA%B6%8C%ED%95%9C%20%EC%A7%80%EC%9A%B0%EA%B8%B0.png)
Ubuntu Linux에는 setuid bit()가 설정된 디렉터리가 있는데 drwsr-xr-x
이를 설정 해제하고 싶습니다.
그것도 마찬가지 입니다 chmod 755
( 처음 0은 "이것은 8진수입니다"로 해석될 수도 있지만). setuid 비트를 지웁니다. 그러나 그것은 끝났습니다.chmod 0755
chmod 00755
chmod 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에서는 구현이 이러한 요청을 무시할 수 있도록 허용하므로 이식 가능한 스크립트는 디렉터리에서 이러한 비트를 설정하거나 지우는 요청에 의존해서는 안 됩니다.