2012-03-02 1 views
2

루프 장치를 마운트 할 셸 스크립트를 작성하려고하는데이 스크립트에 끈적 끈적한 비트를 할당하여 uid (루트)로 실행하려고합니다. (이것은 서버의 다른 사용자를위한 것입니다.) 문제는 내가 생각할 수없는 것입니다. 그것 앞에 sudo를 사용하지 않고 'mount'명령을 실행하십시오. 내가 루트 계정에있을 때 아무런 문제없이 'mount'명령을 실행할 수 있으므로 rws-r_x-r_x 스크립트를 설정하면 그렇게 할 수 있다고 생각했습니다.끈적 비트를 사용하여 sudo없이 마운트 하시겠습니까?

스티커 비트 사용의 개념을 잘못 이해하고 있습니까? 아니면 다른 방법이 있습니까?

서버 당신은 setuid 비트가 아닌 sticky 하나를 의미 우분투 10.04

+0

아마도 http://serverfault.com에 대한 질문입니까? –

답변

3

에서 실행됩니다. 커널은 스크립트에서 setuid 비트를 존중하지 않습니다. See this post for a thorough description의 요약은 다음과 같습니다 : 스크립트의 suid가 안전하지 않다는 요지 * 커널이 스크립트를 읽기 시작하여 실행하지만 #!/path/to/interpreter을보고 해석해야한다는 것을 알 수 있습니다. 그런 다음 스크립트를 직접 "실행"하고 지정된 인터프리터를 호출하여 스크립트 이름을 첫 번째 인수 (및 이후의 모든 인수)로 전달합니다. 이 경우 UID를 설정하는 이유는 공격자가 새 UID를 설정하는 커널과 인터프리터가 파일을 읽는 사이에 스크립트가 실행되도록 잠재적으로 변경할 수 있기 때문입니다.

* : 다른 게시물은 perl이 suid 될 수있는 방식으로 스크립트를 처리한다고 언급했습니다.


손에서의 실제 설치 문제에 관해서는, /etc/fstab/에 라인을 추가하고 user 옵션을 포함한다.

+0

은 Linux 커널의이 새로운 동작입니까? 나는 2.4.x 머신을 가지고 있으며 여기에 스크립트 시스템의 원래 작성자가했던이 (어리석은) 게임에 대해 불평하지 않는다. – 0xC0000022L

+0

글쎄 setuid와 스크립트를 사용하여 보안 문제에 대해 알았지 만, 정말 다른 방법을 생각하지 않습니다. 아, 나는 그것이 끈적 끈적한 비트라고 생각했다. 정정 주셔서 감사합니다 :) – Todd