어떤 프로그램단지지정된 사용자의 비밀번호를 묻고(호출 사용자가 루트인 경우에도) 종료 코드가 정상이면 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을 사용하여 사용자를 인증한 후 결과에 따라 메시지를 작성합니다. 다양한 종료 코드로 쉽게 변경할 수 있습니다.