콘솔에서 사용자의 비밀번호를 묻고 확인하고 종료 코드만 반환하려면 어떤 프로그램을 사용해야 합니까?

콘솔에서 사용자의 비밀번호를 묻고 확인하고 종료 코드만 반환하려면 어떤 프로그램을 사용해야 합니까?

어떤 프로그램단지지정된 사용자의 비밀번호를 묻고(호출 사용자가 루트인 경우에도) 종료 코드가 정상이면 0을 반환하고 실패하면 1을 반환합니까?

작업을 수행할 수 있는 간단한 프로그램(예: 편집된 구성이 있는 "sudo"가 아닌)이 있습니까?

login또한 사용자로 로그인하지만(비밀번호 확인, auth.log에 쓰기) 어떤 프로그램도 실행하지 않고(예 :) 종료 코드를 반환하는 프로그램을 찾고 있습니다 .

답변1

당신은 다음과 같은 유틸리티를 원합니다.pwauth. 설명하는 대로 정확히 수행됩니다. 즉, 사용자 이름과 비밀번호를 수락한 다음 유효성에 따라 종료 코드를 반환합니다. 시스템 인증에 연결하기 위해 Apache의 mod_auth_external과 함께 사용하도록 설계되었지만 원하는 대로 제대로 작동합니다.

답변2

사용자 세션의 목적을 무너뜨리려고 하는 것은 사용자가 자신의 계정에 로그인할 때 이미 해당 비밀번호를 입력했기 때문에 작업을 위해 다시 묻는 것은 무례한 것입니다. 프로그램이 로그인을 기반으로 하도록 하려는 경우 가장 좋은 방법은 키 링을 지원하는 것입니다. 이렇게 하면 사용자가 작업에 대한 암호를 명시적으로 입력할지 여부를 직접 선택할 수 있습니다.

correct horse battery staple사용자가 방금 입력한 내용을 다시 입력하도록 강요하지 마세요 .

답변3

가장 간단한 방법은 다음을 사용하여 작성하는 것입니다.파이썬-팜예를 들어 사용합니다 /usr/share/doc/python-pam/examples/pamtest.py. 예제에서는 비밀번호를 읽고 PAM을 사용하여 사용자를 인증한 후 결과에 따라 메시지를 작성합니다. 다양한 종료 코드로 쉽게 변경할 수 있습니다.

관련 정보