macOS loginwindow ウアプリケーションの編集

security コマンドを使用して、macOS の loginwindow アプリケーションを手動で編集することができます。
  1. Terminal で、次のコマンドを実行します。
    security authorizationdb read system.login.console
  2. 優先するテキストエディタを使用して、XML メカニズム配列を編集します。
  3. root として実行される以下の security コマンドを使用して、リストを再ロードします。
    sudo security authorizationdb write system.login.console < newest.xml
注:

loginwindow アプリケーションが実行中の場合は、変更を適用するためにそれを再起動する必要があります。現在コンピュータにサインインしているユーザがいない場合は、次のコマンドにより root として loginwindow アプリケーションを閉じることができます。sudo killall loginwindow

あるユーザが現在コンピュータにログインしている場合、そのユーザはログアウトする必要があります。

さらに、ローカル管理者アカウントで Finder セッションにログインしたままにしておき、ユーザの簡易切り替えを loginwindow にすると、便利な場合があります。上記の killall コマンドを使用すると、ローカル管理者アカウントを含めて、現在実行中のどの Finder セッションも強制終了されます。

注:

この機能を使用するには、簡易切り替えがコンピュータで有効である必要があります。System Preferences (システム環境設定) > Users & Groups (ユーザとグループ) > Login Options (ログインオプション) に移動します。

Jamf Connect ログインウィンドウの有効化と無効化

Jamf Connect ログインウィンドウを有効または無効にすることは、問題の解決や、macOS のデフォルトのログインウィンドウを迅速に復元することに役立ちます。

次のいずれかのコマンドを実行して、ログインウィンドウを有効または無効にします。
ログインウィンドウの有効化
sudo authchanger -reset -jamfconnect
ログインウィンドウの無効化
sudo authchanger -reset

認証データベースの復元

Jamf Connect ログインウィンドウがロードされず、他の修復手順が機能しない場合、auth.db ファイルの名前を変更し、システムにデフォルトのコピーで置き換えさせることにより、認証データベースを置き換えることができます。

  1. コンピュータをリカバリーモードで起動します。
  2. Disk Utility (ディスクユーティリティ) アプリケーションを開き、システムドライブをマウントします。
    1. Mac で FileVault が有効になっている場合は、データボリュームをマウントします。デフォルト名は MacintoshHD-Data です。
    2. Mac で FileVault を有効にしていない場合、システムドライブの場所を見つけるには、Terminal の /Volumes まで移動してから、ローカルシステムドライブの名前を特定します。デフォルト名は /Volumes/Macintosh\ HD/ です。
  3. Disk Utility (ディスクユーティリティ) アプリケーションを終了します。
  4. メニューバーから、Utilities (ユーティリティ)Terminal に移動します。
    Terminal ウィンドウが開きます。
  5. 認証データベースファイルの名前を変更します。
    1. Mac がデフォルト名 (MacintoshHD-Data または /Volumes/Macintosh\ HD/) を使用している場合は、次の mv コマンドを実行して認証データベースファイルの名前を変更します: mv /Volumes/Macintosh\ HD/var/db/auth.db /Volumes/Macintosh\ HD/var/db/auth.db.bak
    2. Mac がカスタム名を使用している場合は、次の mv コマンドを実行して認証データベースファイルの名前を変更します:
      mv /Volumes/SYSTEM_DRIVE_NAME/var/db/auth.db /Volumes/SYSTEM_DRIVE_NAME/var/db/auth.db.bak
  6. コンピュータをシャットダウンして再起動します。

標準の macOS ログインウィンドウが表示されます。

loginwindow のメカニズムを読み解く

コンピュータに現在インストールされている loginwindow メカニズムを一覧表示するには、次のコマンドを実行します。
security authorizationdb read system.login.console
次のような PLIST フォーマットの XML が表示されます:
<key>mechanisms</key>
<array>
<string>builtin:policy-banner</string>
<string>JamfConnectLogin:LoginUI</string>
<string>JamfConnectLogin:PowerControl,privileged</string>
<string>JamfConnectLogin:CreateUser,privileged</string>
<string>JamfConnectLogin:DeMobilize,privileged</string>
<string>builtin:login-begin</string>
<string>builtin:reset-password,privileged</string>
<string>builtin:forward-login,privileged</string>
<string>builtin:auto-login,privileged</string>
<string>builtin:authenticate,privileged</string>
<string>PKINITMechanism:auth,privileged</string>
<string>builtin:login-success</string>
<string>loginwindow:success</string>
<string>loginwindow:FDESupport,privileged</string>
<string>HomeDirMechanism:login,privileged</string>
<string>HomeDirMechanism:status</string>
<string>MCXMechanism:login</string>
<string>CryptoTokenKit:login</string>
<string>loginwindow:done</string>
<string>JamfConnectLogin:EnableFDE,privileged</string>
<string>JamfConnectLogin:KeyChainAdd,privileged</string>
</array>

メカニズムキーは、loginwindow 設定を文字列の配列として一覧表示します。Privileged として定義されているメカニズムは、そのメカニズムを root ユーザとして実行するように、loginwindow に促します。Jamf Connect により削除された唯一の macOS 内蔵メカニズムは loginwindow:login です。これは標準の macOS ログインウィンドウを表示するものです。