방금 freedesktop.org에서 pkexec에 대한 David Z의 참조 매뉴얼을 읽었습니다.
https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
그리고
https://www.freedesktop.org/software/polkit/docs/latest/pkexec.1.html
매뉴얼에는 auth_admin_keep 옵션을 사용하면 비밀번호가 5~15분 동안만 유지된다고 나와 있습니다. 사용자 지정 시간 제한을 설정하려면 사용자 지정 규칙을 작성할 수 있습니다.
시간 제한이 있는 사용자 정의 규칙을 작성하는 방법을 아는 사람이 있습니까? 매뉴얼대로 따라해 보았으나 코더가 아니어서 Syntax를 이해할 수 없었고 타임아웃과 관련된 Syntax에 대한 언급도 없었습니다.
답변1
안타깝게도 PolicyKit 업스트림 소스 코드의 시간 초과는 5분으로 하드코딩된 것으로 보입니다.파일에 src/polkitbackend/polkitbackendinteractiveauthority.c
.
3231-3236행 읽기:
/* TODO: right now the time the temporary authorization is kept is hard-coded - we
* could make it a propery on the PolkitBackendInteractiveAuthority class (so
* the local authority could read it from a config file) or a vfunc
* (so the local authority could read it from an annotation on the action).
*/
expiration_seconds = 5 * 60;
따라서 소스코드에는 타임아웃이 5분으로 설정되어 있으며, 현재 PolicyKit의 해당 부분을 다시 컴파일하지 않고 변경할 수 있는 규정은 없습니다.
반면에,OpenSuSE Leap 15는 이 기능을 확장한 것으로 보입니다...._keep
그들은 이러한 작업을 "요청 프로세스가 실행되는 동안 인증 기억"으로 재해석하고 ..._keep_session
" ..._keep_always
특정 로그인 세션 전체에 대해 기억" 및 "영원히 기억" 작업을 추가한 것으로 보입니다 .