프로세스의 특권을 높이기 위해 sudo 프론트 엔드 (gksudo와 같은)를 사용할 수 있습니까? 나는 다음을 수행 할 수 있습니다 알고현재 프로세스를 어떻게 sudo합니까?
sudo cat /etc/passwd-
그러나 나는이 일에 관심이 있어요 : 나는 파이썬에서 쓰고 있어요
sudo-become-root # magic function/command
cat /etc/passwd-
. 내 유스 케이스는 사용자로 실행되는 프로그램이 있지만 루트 소유의 파일을 읽고 쓸 수 있습니다. 나는 패스워드를 물어보고, 루트 권한을 얻고, 내가 원하는 것을하고, 선택적으로 권한을 다시 떨어 뜨리고 싶다.
나는 관리자 논리와 비 관리자 논리를 분리 된 프로세스로 분리 할 수 있고 루트 (일부 통신 - policykit/dbus는 여기에 적합 함)로 관리 프로세스를 실행할 수 있음을 알고있다. 그러나 나는 훨씬 더 단순한 (그러나 더 위험한 것은 사실이지만) 해결책을 기대하고 있었다.
나는 sudo를 통해 Solaris의 ppriv를 실행하여 현재 프로세스의 권한을 수정하는 것과 같은 것을 생각하고 있습니다. 어느 해키 -하지만 실행 가능한 왕복처럼 보인다. 하지만 내가 아는 한, 리눅스는 ppriv를 제공하지 않는다.
(I이 이미 명확하지 않다 놀랍군요, 그것은하려는하지 않은 드문 것 같아 새로운 프로세스의 에스컬레이션을 통해 공정 중 에스컬레이션을 허용하는 보안 구멍으로 보이지 않습니다 .)
sudo가 도움이된다면 su는 어떻게됩니까? – Dani
AFAIK, su는 작업 할 서브 쉘을 제공 할 것입니다. 대화식으로 사용하는 것이 좋습니다. 하지만 쉘 하위 프로세스가 아닌 현재 실행중인 프로세스의 권한을 높이고 싶습니다. –
이것은 실제로 대답이 아니지만 OpenSSH 소스 코드를 권한 조작 및 분리 모델로보고 싶습니다. 그러나 귀하의 cae와는 달리, 나는 ssh 데몬이 높은 권한으로 시작하여 하위 권한이있는 아이들을 선택적으로 포크하는 것으로 생각합니다. –