2017-02-11 1 views
4

여러 사용자로부터 C 프로그램을 실행하고 프로그램에 다른 사용자로 로그인하여 파일에 액세스하려고합니다. 그러나 나는 오류sudo없이 setuid()가 포함 된 C 프로그램을 실행할 수 있습니까?

의 setuid를 얻고있다 : 작업

을 허용하지 나는 그런 내가 sudo는 때마다 사용하지 않는해야 할 일을 할 수 있습니까? 마찬가지로 매번 sudo를 호출하지 않고 원하는대로 setuid를 사용하도록 프로그램에 대한 모든 권한을 부여합니까? 시스템에 따라

sudo chmod u+s executable 
+0

이 질문은 아마도 수퍼 유저에게 속합니다. 'sudo chmod u + s your_program'과 같은 SUID 파일 속성을 설정하여 해결할 수 있습니다. – flaviodesousa

+0

올바른 사용자의 요청에 따라 프로그램에 스패닝 된 루트 소유 서버를 만들 수도 있습니다 (또는 해당 사용자에 대한 ssh 만 가능) . – eckes

답변

4

, 그리고 당신의 권한, 당신은에 프로그램의 소유자 또는 그룹을 변경할 수 있습니다

2

당신은 chmod 사용하여 프로그램의 실행 자체에 setuid를 사용할 필요가

chgrp wheel my-awesome-program 
chmod g+s my-awesome-program 
: 권한 대해 setuid, 다음 chmod를 통해 실행에 setuid를 또는 setgid를 모드를 설정할 수있다 하나

또는

chown superduperuser my-awesome-program 
chmod u+s my-awesome-program 

은 그렇게함으로써, 당신은 잠재적 인 보안 구멍을 만들 양해하여 주시기 바랍니다. 누군가 프로그램을 덮어 쓸 수 있다면 권한을 얻는 데 사용할 수 있습니다. 주의해서하십시오.

관련 문제