루트 권한 을 사용 하여 컴 파일 된 프로그램 을 실행 하 는 해결 방법

767 단어 루트 권한
요 며칠 UNP 에서 제공 하 는 ping 소스 코드 에 따라 학습 용 으로 작 성 했 습 니 다.컴 파일 후 실행 할 수 있 지만 원본 소켓 을 사 용 했 기 때문에 루트 권한 이 실행 되 어야 합 니 다.이것 은 Linux 에서 실제 ping 과 차이 가 있 습 니 다.후 자 는 sudo 를 입력 하거나\#로 전환 하지 않 아 도 실행 할 수 있 습 니 다.Liux 의 ping 소스 코드 를 찾 지 못 했 지만 oschina 에서 자체 제작 한 ping 소스 코드 가 비슷 한 것 을 보 았 습 니 다.작가 가 제공 한 설명도 에서$프롬프트 에서 sudo 로 실행 되 지 않 았 습 니 다.한 마디 로,sudo 를 추가 하거나\#프롬프트 로 전환 하지 않 고 루트 권한 으로 프로그램 을 실행 할 수 있 기 를 바 랍 니 다.
프로 세 스 가 실 행 될 때 자신의 권한 을 향상 시 킬 수 있 는 방법 을 찾 지 못 했 습 니 다.다른 방법(출처 는 문 후 주석 참조)을 찾 으 면 이 두 단 계 는 하나 도 없어 서 는 안 됩 니 다.
(1)루트 권한 으로 gcc 완성 하기;
(2)chmod u+s<실행 가능 파일>
이 때 는 리 눅 스 가 자체 적 으로 가지 고 있 는 ping 처럼 sudo 나\#프롬프트 로 전환 하지 않 아 도 실 행 될 수 있 습 니 다.
물론 UNP 의 ping 소스 코드 는 원본 소켓 을 만 든 후 setuid(getuid()를 사용 하기 때문에 최소 권한 원칙 을 유지 합 니 다.

좋은 웹페이지 즐겨찾기