0
관리자 암호를 사용하여 bash에서 일부 스크립트를 실행하는 응용 프로그램을 만들고 싶습니다. 예 :MacOS - 관리자 암호를 얻을 수있는 합법적 인 방법
echo **pass** | sudo -S reboot
가장 좋은 방법은 무엇입니까?
나는 this 자습서를 보았고, 내가 이해 한 모든 것을 - 권한 부여 창을 실행하는 방법입니다.
AuthorizationRef authRef= NULL;
AuthorizationItem right = { "com.my.app", 0, NULL, 0 };
AuthorizationRights rightSet = { 1, &right };
OSStatus status;
if (AuthorizationCreate(
NULL,
kAuthorizationEmptyEnvironment,
kAuthorizationFlagDefaults,
&authRef) != errAuthorizationSuccess)
{
NSLog(@"Could not create authorization reference object.");
}
status = AuthorizationCopyRights(authRef, &rightSet, kAuthorizationEmptyEnvironment,
kAuthorizationFlagDefaults |
kAuthorizationFlagPreAuthorize |
kAuthorizationFlagInteractionAllowed |
kAuthorizationFlagExtendRights,
NULL);
이 단계를 수행 한 후에 비밀번호를 가져 오는 방법이 있습니까?
또는이 모든 것이 잘못되어 다른 방법으로 존재합니까?
감사합니다.
아니요, 물론 인증 API는 사용자에게 사용자의 비밀번호를 제공하지 않습니다. 그것은 엄청나게 바보가 될 것입니다. – geoffspear
제대로 이해하고 있습니까? 쉘에서 몇 가지 명령을 실행하려면 두 번째 응용 프로그램을 만들어야하며, 그렇게 할 것입니다. 첫 번째 응용 프로그램은 권한 API를 통해 두 번째 응용 프로그램을 호출해야합니다. 이 경우 명령은 관리자 권한으로 실행됩니다. – kaa