13

Mac で実行されている lua スクリプトがあり、sudo を呼び出す必要があります。

Mac OS が自動的にパスワード要求ダイアログを表示することを望んでいましたが、コマンドは 256 を返して失敗しました。

私の目標を達成できる方法はありますか?

ティム

4

1 に答える 1

23

すばやく簡単な方法: このように実行します

/usr/bin/osascript -e 'do shell script "/path/to/myscript args 2>&1 etc" with administrator privileges'

適切で構成可能な方法: AuthorizationExecuteWithPrivilegesAuthorization Services (Security.framework 内) の API を使用します。

SUDO_USERどちらも標準の Mac OS X GUI を表示して管理者パスワードを要求し、root としてコマンドを実行します。これは、環境変数が設定されないことを除いて sudo と同じ方法です。

すでにルートに昇格しているときに、ユーザー アカウントで個々のコマンドを実行する必要がある場合は、先頭に/usr/bin/sudo -u $USER.

于 2012-04-23T15:10:49.110 に答える