그래서 내 Mac에서 프로그램 suid를 만들고 해당 프로그램이/bin/sh에서 exec를 실행하면 셸은 루트가 아니지만 Linux에서 동일한 작업을 수행하면 셸이 루트가됩니다. Mac은 Linux와 동일한 방식으로 권한을 전파하지 않습니까? 아니면 그냥 suid 비트로 진행되는 다른 무언가가 있습니까? 내 이해 루트 권한을 가진 suid 루트와 함께 실행되는 프로그램입니다./bin/sh를 호출하는 루트 셸은 다른 루트 셸을 만들므로/bin/sh에서 exec를 호출하는 suid 루트 프로그램이 루트 셸을 만들지 않아야합니까?Mac OS X에서 권한은 어떻게 전파됩니까?
1
A
답변
0
모든 프로세스에는 다중 UID (실제, 유효 및 저장된 UID)가 있습니다. setuid 바이너리를 실행하면 "실제"UID가 아닌 유효한 UID와 저장된 UID에만 영향을 미칩니다. 결과적으로 setuid 바이너리는 실행 된 UID를 "알"며 해당 UID로 돌아갈 수 있습니다. 이 경우 bash 구현 /bin/sh
은 실행될 때 자동으로 실제 UID로 되돌아갑니다.
관련 문제
- 1. Mac OS X에서
- 2. Mac OS X에서 DTrace를 어떻게 작성합니까?
- 3. Mac OS X에서 .app 파일을 어떻게 선택합니까?
- 4. Mac OS X에서 사용할 라이브러리는 어떻게 정의합니까?
- 5. Mac OS X에서 Java의 미래
- 6. Mac OS X에서 Eclipse의 에뮬레이터
- 7. Mac OS X에서 GetTextExtentPoint32가 동일합니다
- 8. Mac OS X에서 showkey equivalent?
- 9. 피치 감지 Mac OS X에서
- 10. Mac OS X에서 HID_Utilities.h 누락
- 11. Mac OS X에서 어셈블리 편집
- 12. Mac OS X에서 Qwt 사용
- 13. Mac OS X에서 내보내기 명령
- 14. Mac OS X에서 원격 디버깅
- 15. Mac OS X에서 virtualenv 사용
- 16. Mac OS X에서 PATH를 복원
- 17. Mac OS X에서 "실행하려면 클릭하십시오"
- 18. Xcode없이 Mac OS X에서 VST 플러그인 만들기
- 19. Mac OS X에서 mail.app의 메모에 액세스하려면 어떻게해야합니까?
- 20. Mac OS X에서 교차 컴파일 x
- 21. Mac OS X에서 파일 연결을 변경하는 방법
- 22. Mac OS X에서 dtrace ustack() 헬퍼가 있습니까?
- 23. Mac OS X에서 dylib 사용 방법 (C++)
- 24. Mac OS X에서 사용자 활동 감지
- 25. Mac OS X에서 SSD를 감지하는 방법은 무엇입니까?
- 26. Mac OS X에서 루비의 재귀 chmod?
- 27. Mac OS X에서 즉시 Java를 사용하십시오.
- 28. Mac OS X에서 '소스 목록'을 만들려면 어떻게해야합니까?
- 29. Mac OS X에서 ASP.NET MVC 배우기
- 30. Mac OS X에서 Web Start로 로깅 캡처
[setuid] (http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man2/setuid.2.html)를 사용하여 실제 UID를 root로 변경할 수 있습니다 실행하기 전에/bin/sh. –