setcap-changes는 영구적입니까?


11

파일에 setcap을 사용할 때이 변경 사항이 영구적이거나 부팅시 어딘가에 setcap을 호출해야합니까?

setcap cap_sys_nice fooexecutable

답변:


15

파일 의 setcapsetxattr을 호출하여 확장 된 속성으로 기능 을 저장합니다 . 이 확장 된 속성은 파일 시스템의 다른 속성 (소유권, 권한 ...)과 같이 저장됩니다.

커널 2.6.24부터 커널은 setcap (8)을 사용하여 기능 세트와 실행 파일 연결을 지원합니다. 파일 기능 세트는 security.capability라는 확장 된 속성 (setxattr (2) 참조)에 저장됩니다.

따라서 재부팅 할 때마다 캡을 재설정 할 필요가 없습니다.


파일이 교체되면 어떨까요?
ryanwinchester 8

1
@ryanwinchester 파일의 내용 만 변경해도 문제는 없지만 파일을 제거 / 재 작성하면 setcap 용량도 제거됩니다.
Cédric Julien

. :( 아, 그래서 내 문제 난 다음 디렉토리를 다시 작성하는 스크립트를 가지고 내가 실행할 필요가 없습니다 수있는 방법을 강구해야 포트 80에 서버 듣기 시작 setcap때마다
ryanwinchester

"파일 내용 만 변경해도 아무런 문제가 없습니다"는 사실이 아닙니다. 파일의 내용을 변경하면 해당 기능이 제거됩니다. 참조 unix.stackexchange.com/a/283408/2526
리처드 Fearn

0

변경 사항은 영구적이지만에 사용할 때 문제가 발생했습니다 nodejs.

authbind사용자별로 권한을 제공 하는 데 사용할 수 있습니다

sudo touch /etc/authbind/byport/80
sudo chown user:user /etc/authbind/byport/80
sudo chmod 500 /etc/authbind/byport/80
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.