![polkit.Result.AUTH_ADMIN_KEEP이 fprintd에서 작동하지 않습니다.](https://linux55.com/image/179136/polkit.Result.AUTH_ADMIN_KEEP%EC%9D%B4%20fprintd%EC%97%90%EC%84%9C%20%EC%9E%91%EB%8F%99%ED%95%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
현재 구성 중입니다.인쇄물내 컴퓨터에. Unix 계열 시스템에서 지문 인증을 위한 강력한 도구입니다. 그러나 사용자는 비밀번호 인증이 필요하지 않으며, 비밀번호 인증을 통해서만 지문을 추가, 수정, 삭제할 수 있습니다 fprintd-enroll
. 내 컴퓨터에 물리적으로 접근할 수 있는 사람은 누구나 내 장치에 지문을 등록할 수 있기 때문에 이것은 보안 허점입니다.
이 취약점을 극복하기 위해 나는 다음과 같은 사실을 깨달았습니다.폴킷실제 사용자가 지문 자격 증명을 수정하기 전에 비밀번호를 강제로 업그레이드하는 데 도움이 될 수 있습니다. polkit 매뉴얼을 읽은 후 다음 위치에 있는 정책 규칙을 확인했습니다 /usr/share/polkit-1/rules.d/50-net.reactivated.fprint.device.enroll.rules
.
polkit.addRule(function (action, subject) {
if (action.id == "net.reactivated.fprint.device.enroll") {
return subject.user == "root" ? polkit.Result.YES : polkit.Result.AUTH_ADMIN_KEEP;
}
})
나는 이 규칙이 특히 문제가 발생할 때 루트 사용자가 하루를 절약할 수 있도록 허용하면서 관리자가 비밀번호를 제공하도록 강제하는 데 도움이 될 수 있다고 믿습니다. 또한 현재 사용자는 휠 그룹의 구성원이므로 다음을 기반으로 관리 사용자로 식별되어야 합니다 /usr/share/polkit-1/rules.d/50-defaule.rules
.
/* -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*- */
// DO NOT EDIT THIS FILE, it will be overwritten on update
//
// Default rules for polkit
//
// See the polkit(8) man page for more information
// about configuring polkit.
polkit.addAdminRule(function(action, subject) {
return ["unix-group:wheel"];
});
다음을 실행하여 이 설정을 테스트하기 전까지는 모든 것이 괜찮아 보였습니다 fprintd-enroll
.
[tjm@ArchPad ~]$ fprintd-enroll
Using device /net/reactivated/Fprint/Device/0
Enrolling right-index-finger finger.
EnrollStart failed: Not Authorized: net.reactivated.fprint.device.enroll
[tjm@ArchPad ~]$
일이 안되고 인증실패가 발생해서 조금 놀랐습니다. polkit.Result.AUTH_ADMIN_KEEP
으로 변경해 보았으나 polkit.Result.AUTH_SELF_KEEP
불행히도 도움이 되지 않았습니다. 이 문제를 해결할 수 있는 방법이 있기를 바랍니다.