[프로그래밍] 일반계정에서 프로그램 실행시 루트패스워드 입력하고 실행하려면...

devanix의 이미지

안녕하세요.

리눅스 x-window 에서 일반계정으로 로그인 하고 네트워크 프로그램을 실행시키면

루트패스워드를 입력후 프로그램을 실행하는데요.

저역시 GTK+로 비슷하게나마 구현하고 싶어서 문의를 드립니다.

geteuid() 함수로 실효 ID를 받아 0(루트) 가 아니라면

패스워드를 입력받을 창을 뛰우고

루트 패스워드를 입력하면 그프로그램을 실행하는동안만 root 계정으로 실행시키고 싶은데요

system("su -c 프로그램명");
다음 패스워드 입력받은 값을 실행시켜야 되는데
패스워드 프롬프트 뜰때 그값이 입력이 되질 않습니다.

몬가 다른방법으로 구현해야 될듯싶은데 방법이 없을까요?

친절한 답변 부탁드립니다.

좋은 하루 되세요.

ymir의 이미지

PAM 기반 인증을 사용하시는게 나을것 같습니다.
http://www.kernel.org/pub/linux/libs/pam/Linux-PAM-html/adg-example.html

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』

되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』