설명하다:
- XSession 내에서 작업합니다.
- 일부(배경)데몬이 나에게 비밀번호를 묻는 메시지를 표시해야 합니다.
Xsession의 팝업을 사용하여 데몬이 비밀번호를 묻는 메시지를 표시하도록 하려면 어떻게 해야 합니까?
데몬에는 일반적으로 X 세션에 대한 링크가 없으므로 비밀번호 프롬프트 팝업을 생성하기가 어렵습니다.
답변에 대한 몇 가지 아이디어:
- ㅏ애플릿X-prompt-popup-window를 최고로 만드는 (포크/하위) 데몬을 실행합니다. 작을수록 좋습니다 :)
- 안전 제일이것이 가능할지는 의문이지만, 해당 X 세션에서 실행 중인 다른 응용 프로그램이 암호를 입력할 때 키로그를 기록할 수 없도록 보장하는 솔루션이라면 높이 평가될 것입니다.
답변1
이러한 유형의 문제는 일반적으로 서비스 데몬과 네트워크를 통해 통신하는 사용자 인터페이스라는 두 가지 별도의 바이너리로 처리됩니다.UNIX 도메인 소켓(또는 동일한 시스템에서 실행되지 않는 경우 웹 소켓). 대표적인 예가 OpenSSH입니다 . 수행 방법을 확인 ssh-agent
하고 상호 작용하여 수행 방법을 알아보세요. "UNIX 도메인 소켓"을 "로 바꾸십시오.ssh-add
ssh
D 버스“스타일리시함을 원하거나 구현해야 하는 추가 기능이 필요한 경우.
작업 요청이 데몬 자체에서 오는 경우(제가 올바르게 이해한 경우) 이는 약간 까다롭습니다. 이는 귀하의 특별한 경우입니다. UI 부분은 때때로 X 세션 중에 생성되어 데몬에 등록되어야 하며, 데몬이 입력이 필요하다고 판단하면 UI 부분에 작업을 수행하도록 요청합니다. 마지막 두 문장은 실제로 D-Bus가 유용할 수 있는 부분입니다.
반면에 데몬에서 암호를 적극적으로 요청하는 것이 올바른 작업 방법인지 여부를 신중하게 고려해야 합니다 . 데몬은 일반적으로 요청을 생성하는 것이 아니라 요청에 응답하는 서비스입니다. 사용자가 비밀번호를 푸시해야 한다고 결정할 때 UI가 비밀번호를 사전에 푸시하도록 하는 것이 더 나을 수도 있습니다. 나는 이것이 유일하게 좋은 접근 방식이라고 말하는 것이 아니라 먼저 철저하게 생각해야 한다는 것입니다.
보안에 관해서는 모두 당신이 얼마나 편집증적인 사람이 되고 싶은지에 달려 있습니다. X를 사용하면 키보드를 잡을 수 있습니다(참조XGrabKeyboard(3)
매뉴얼 페이지), 이는 합리적인 수준의 보안을 제공해야 합니다. 또는 더 나은 표현은 이 비밀번호를 사용하지 않으면 비밀번호를 통제할 수 없다는 것입니다. 다시 말하지만, ssh가 좋은 예입니다. x11-ssh-askpass
도우미를 살펴보세요. 그것은홈페이지더 이상 작동하지 않는 것 같지만 다음과 같은 여러 곳에서 소스 코드를 찾을 수 있습니다.openSUSE 빌드 서비스.
실제로 키보드를 잡고 입력된 비밀번호를 표준 출력에 출력하기 때문에 직접 사용할 수도 있습니다. 따라서 Askpass 도우미를 생성하고 stdout
올바르게 기억하는지 확인하기만 하면 됩니다.readpass.c
OpenSSH에서그것을 수행하는 방법에 대한 몇 가지 아이디어를 제공해야합니다.
이 모든 것이 약간 지나치게 복잡하고 안전하지 않은 것처럼 보일 수 있지만 고려해야 할 몇 가지 사항이 있습니다.
OpenSSH 및 GPG와 같이 일반적으로 매우 안전하다고 간주되는 일부 프로젝트에서는 이 접근 방식을 사용합니다.
안전예딱딱한. 자체 보안 솔루션을 출시하면 일반적으로 어떤 식으로든 문제(또는 재난)가 발생합니다(기업에서도 일반적일 수 있음:"이런 멋진 것이 있습니다." - "와, 이것을 새로운 회사 도구로 바꾸자" - 5년 후: "완전히 확장 불가능/고장/안전하지 않습니다/... - 누가 이걸 회사로 만들 수 있겠습니까? 폭넓은 솔루션?”웃음의 시간을 없애기 위해 "전사적 솔루션"을 "우리의 주력 제품"으로 교체하십시오. Canonical Security SE Q&A도 참조하세요.https://security.stackexchange.com/questions/18197/why-shouldnt-we-roll-our-own그리고https://security.stackexchange.com/questions/2202/lessons-learned-and-misconceptions-regarding-encryption-and-cryptology.
키보드 스크래핑은 다른 응용 프로그램이 스택의 더 깊은 곳(예: X 응용 프로그램 계층 아래)에서 키보드 이벤트를 도청하지 않는다는 의미는 아닙니다. 그러나 이러한 응용 프로그램에는 일종의 루트 액세스가 필요할 가능성이 높으므로 시스템에 비슷한 것이 있으면
passwords.txt
홈 디렉터리 중간에 있는 일반 텍스트 파일에 비밀번호를 입력하는 것이 좋습니다.