2011-10-22 2 views
19

에 setcap를 사용하여, 우리는 다음을 사용 (예 :/빈/핑에 대한) :는에 cap_net_raw 기능을 추가하려면 리눅스

#setcap cap_net_raw=ep /bin/ping 

무엇 EP의 의미이고 왜 여기에 필요합니까?

감사합니다.

+0

http://kernel.org/doc/man-pages/online/pages/man7/capabilities.7.html과'man cap_from_text'. – Mat

답변

22

이렇게하면 "유효"(e) 및 "허용"(p) 기능 집합에 CAP_NET_RAW 비트가 설정됩니다. 이 두 세트는 "상속 가능한"세트와 함께 프로세스가 가지고 있거나 설정할 수있는 기능을 제어합니다.

여기에 대한 자세한 내용보기 :

capabilities - Linux man page

기능은 각 스레드가 제로 이상 위의 기능을 포함하는 세 가지 기능 세트가

설정 :

Effective을 - 커널에서 사용하는 기능 스레드에 대한 권한 검사를 수행하십시오.

Permitted - 기능 스레드가 가정 할 수있다 (즉, 유효 및 상속 세트 한정 수퍼). 스레드가 허용 된 집합 의 기능을 삭제하면 exec()가 set-user-ID-root 프로그램이 아니면 해당 기능을 다시 획득 할 수 없습니다.

inheritable - 은 execve (2)에서 보존됩니다. fork (2)를 통해 생성 된 자식은 부모의 기능 집합 사본을 상속받습니다. exec() 중에 기능을 처리하는 방법에 대한 설명은 아래를 참조하십시오. capset (2)을 사용하면 스레드 이 자체 기능 집합을 조작하거나 CAP_SETPCAP 기능이있는 경우 다른 프로세스의 스레드를 처리 할 수 ​​있습니다.

관련 문제