問題タブ [dscl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
permissions - MAMPサイトを使用した適切なグループ/許可
OS10LeopardでMAMPを使用してWebサイトを構築しています。公的にアクセス可能なアップロードディレクトリを0777ではなく0775に設定できるようにしたいと思います。MAMPの[権限]パネルでさまざまな組み合わせを試しました。「www」グループでサイトを実行でき、0775はアップロードに最適ですが、ファイルシステムユーザー「ben」を介してアップロードされたファイルを編集または削除できません。「www」グループに自分を追加しようとしましたが、今のところ運がありません。
これに関する支援やガイダンスをいただければ幸いです。775を使用してライブサーバーで動作させることができると確信していますが、ローカルで同様の設定を行いたいと思います。
ありがとう。
macos - OS X で管理者権限でスクリプトを実行する
スタック オーバーフローやインターネットでスクリプトに関する多くの質問から解決策を見つけようと最善を尽くしましたが、必要な解決策が見つからないようです。
私がやりたいことは、より自動化されたクリックの少ないソリューションを作成して、システム上のすべてのモバイル キャッシュ ユーザー アカウントを削除することです。ログインして手動でユーザー アカウントに移動し、[-] ボタンをクリックしてユーザーを 1 つずつ削除し、ユーザー データの [すぐに削除] をクリックしました。これはうまくいきますが、時間がかかります。そのため、スクリプトを使用してこれを行う方法が必要であることがわかりました。
私はこのコードに出くわしました:
これをターミナルで実行すると、許可エラーが発生します。だから私はsudoでそれを実行する必要があると考えました。そこで、スクリプトを実行するための AppleScript の作成を検討し始めましたが、正しい方法が見つからないようです。
何か案は?ところで、私は Mac でスクリプトを作成するのは初めてなので、コードにコメントを付けて、何が起こっているかを理解してください。そうすれば、スクリプト コードを実行しても、それが何をするかわからないまま実行することはありません。:)
ありがとう
xcode - Xcode / Mac OS で管理者以外の開発者を承認する
Mac OS での日常業務には標準ユーザー アカウントを使用しています。Snow Leopard にアップグレードしてから、Xcode 内からプログラムを実行するときに、次のことを行うよう求められます。
「「開発者ツール」グループのユーザーの名前とパスワードを入力して、開発者ツール アクセスが変更を行えるようにします」
管理者のユーザー名/パスワードは知っていますが、これは面倒です (ただし、ログインごとに 1 回だけ必要です)。
開発者ツール アクセスは、アプリケーション gdb-i386-apple-darwin から「system.privilege.taskport.debug」への権限を求めています。
これを回避する最善の方法は何ですか?
cocoa - uidのリスト/システム環境設定の名前>アカウント
uidと名前の配列を取得するにはどうすればよいですか?
0から99999まで繰り返して、を実行できgetpwnam()
ます。ただし、ほとんどのマシンのアカウントは5つ未満であるため、最適ではありません。どのフレームワークがこれに関与しているのかわからないため、何を検索すればよいかわかりません。
アカウントをトラバースできるより最適なソリューションはありますか?
編集:投稿した直後にgetpwent()
、アカウントをトラバースするために発見しました。
ただし、それはアカウントがシステム環境設定アカウントであるかどうかを示すものではありません。
それでも、システム環境設定のアカウントを取得するにはどうすればよいでしょうか。
編集:私はこれに相当するコマンドライン、コマンドを見つけましたdscl
。
ssh - 再接続された画面内から dscl が機能しない
Mac OS X 10.5.8 を使用しています。これがいつ発生し始めたのか正確にはわかりませんが、ssh セッションから開始された screen セッションに再接続すると、dscl (ディレクトリ サービス) に依存するもの、または基になる getent のものはすべて失敗することがわかりました。
ターミナルでそのマシンのセッションを開始すると、すべてが機能します。再接続時に問題が発生するのは、リモートで開始されたスクリーン セッションのみです。
また失敗します:
約 6 時間再起動し、デバッグし、グーグル検索しましたが、うまくいきませんでした。
多くのアプリケーション (ssh、git、rake など) に影響するため、非常に苦痛です。
これが他の誰かに影響を与えているかどうか、または誰かがそれを修正する方法を知っているかどうか、私は興味があります.
ldap - Novell IDM Apple Open Directory LDAP ドライバ
Apple Open Directory 用の IDM ドライバーをセットアップする方法の情報または例を探していました。私が見つけた記事には、詳細がほとんど記載されておらず、実際の技術的な内容はほとんどありません。
LDAP ドライバーを使用しており、OD 側で接続してユーザーを作成できます。ただし、私が直面している問題は、パスワードを設定して同期する方法です。LDAP ドライバーは暗号化されたパスワードを正しく設定できないように見えるため、ドライバーによってユーザーが作成された後、dscl を使用してパスワードを設定するつもりでした。このステップはサブスクライバー チャネルで XDS が送信された後に実行する必要があるため、フォローアップ イベントを作成して dscl コマンドをトリガーしたり、パブリッシャー チャネルに返されるステータス メッセージを使用したりできますか?
IDM を使用して eDir を Apple Open Directory に同期することは、新しいことではないようです。Designer パレットに既存のドライバー構成がないこと、または少なくともいくつかの詳細な例やフォーラムでの議論がないことに少し驚いています。
macos - ローカル アカウントをモバイル アカウントに移行するエラー Mac OS X Lion
Mac OS X のユーザーをローカル アカウントから AD Mobile アカウントに移行する必要があります。MCX を適用する前は、10.6 および 10.7 でこれを実行しても問題ありませんでした。
ローカル アカウントの dscl エントリを削除し、ユーザーのホーム フォルダーを適切なアクセス許可に設定するスクリプトがあります。ユーザーは、ログインしてキーチェーン パスワードを更新するだけで済みます。
しかし、ラボの Mac で MCS 設定の適用を開始した後、初めてネットワーク資格情報でログインしようとすると、「モバイル アカウントを作成できません。モバイル アカウントの作成中に問題が発生しました」というエラーが表示されます。
system.log でこれを見つけました:
2 月 7 日 08:22:01 atosmcsmbp17M99 SecurityAgent[7696]: luser に設定されたユーザー情報コンテキスト値MCXCCacheGraph(localhost, dsRecTypeStandard:Computers): レコード "localhost" (dsRecTypeStandard:Computers) がコンピューターのキャッシュに干渉しています。キャッシュを再開するには、このレコードを削除してください。2 月 7 日 08:22:01 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:01.826 ManagedClient[7695:1803] MCXCCacheGraph (localhost、dsRecTypeStandard:Computers): レコード「localhost」(dsRecTypeStandard:コンピューター) は、コンピューターのキャッシュに干渉します。キャッシュを再開するには、このレコードを削除してください。2 月 7 日 08:22:01 atosmcsmbp17M99 ManagedClient[7695]: MCX.getComputerInfoFromStartup: ) Feb 7 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.596 ManagedClient[7695:1803] MCXCCacheMCXRecordAndGraph(): [localNode createRecordWithRecordType:dsRecTypeStandard:Users name:"luser" ] == 4102 (同じ名前のレコードが既に存在するため、レコードを作成できませんでした。) Feb 7 08:22:04 atosmcsmbp17M99 ManagedClient[7695]: MCXCCreateMobileAccount(): アカウントの作成に失敗しました。エラー = 4102 (MCXCCacheMCXRecordAndGraph が失敗しました)。モバイル アカウント レコードをクリーンアップしています。2 月 7 日 08:22:04 atosmcsmbp17M99 ManagedClient[7695]: MCXCDeleteAccount(): ユーザー ID を削除しようとしています = 0 == 4102 (同じ名前のレコードが既に存在するため、レコードを作成できませんでした。) Feb 7 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.662 ManagedClient[7695:1803] MCXCCreateMobileAccount(): アカウントの作成に失敗しました。エラー = 4102 (MCXCCacheMCXRecordAndGraph が失敗しました)。モバイル アカウント レコードをクリーンアップしています。Feb 7 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.662 ManagedClient[7695:1803] MCXCDeleteAccount(): ユーザー ID を削除しようとしています = 0 Feb 7 08:22: 04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.663 ManagedClient[7695:1803] MCX.createMobileUserAccount: MCXCCreateMobileUserAccount( luser, /Users/luser ) == 4102 (レコードを作成できませんでした。 1 つが同じ名前で既に存在します。) アカウントの作成に失敗しました。エラー = 4102 (MCXCCacheMCXRecordAndGraph が失敗しました)。モバイル アカウント レコードをクリーンアップしています。Feb 7 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.662 ManagedClient[7695:1803] MCXCDeleteAccount(): ユーザー ID を削除しようとしています = 0 Feb 7 08:22: 04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.663 ManagedClient[7695:1803] MCX.createMobileUserAccount: MCXCCreateMobileUserAccount( luser, /Users/luser ) == 4102 (レコードを作成できませんでした。 1 つが同じ名前で既に存在します。) アカウントの作成に失敗しました。エラー = 4102 (MCXCCacheMCXRecordAndGraph が失敗しました)。モバイル アカウント レコードをクリーンアップしています。Feb 7 08:22:04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.662 ManagedClient[7695:1803] MCXCDeleteAccount(): ユーザー ID を削除しようとしています = 0 Feb 7 08:22: 04 atosmcsmbp17M99 com.apple.loginwindow[7688]: 2012-02-07 08:22:04.663 ManagedClient[7695:1803] MCX.createMobileUserAccount: MCXCCreateMobileUserAccount( luser, /Users/luser ) == 4102 (レコードを作成できませんでした。 1 つが同じ名前で既に存在します。)
ssh できる管理者アカウントがあるので、次のコマンドを使用してモバイル アカウントを手動で作成しようとしました: /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -vn luser /Users/luser
ただし、同じエラーが発生します。
bash-3.2# /System/Library/CoreServices/ManagedClient.app/Contents/Resources/createmobileaccount -vn luser -h /Users/luser createmobileaccount built Dec 8 2011 21:19:30 詳細出力オン。ユーザー名 = "luser" ホーム パス = "/Users/luser" ユーザー パスワード = "(null)" パスワードのプロンプト = FALSE 新しいホームの暗号化 = FALSE 外部アカウントとして作成 = TRUE ホーム同期 新しいアカウント = FALSE Feb 7 08:38 :25 atosmcsmbp17M99.local createmobileaccount[9427] : 3891612: (connectAndCheck) 信頼されていないアプリは、ログイン前に Window Server に接続または起動することはできません。2012-02-07 08:38:26.713 createmobileaccount[9427:1203] MCXCCacheMCXRecordAndGraph(): vproc_swap_integer(NULL, VPROC_GSK_PERUSER_SUSPEND, &(uid=64058026), NULL) == 0x908e8a7c 2012-02-07 create1account 08.3: 9427: 1203] MCXCCacheMCXRecordAndGraph(): [localNode createRecordWithRecordType:dsRecTypeStandard:Users name:"jgriss"] == 4102 (同じ名前のレコードが既に存在するため、レコードを作成できませんでした。) 2012-02-07 08:38:26.783 createmobileaccount[ 9427:1203] MCXCCacheMCXRecordAndGraph(): vproc_swap_integer(NULL, VPROC_GSK_PERUSER_RESUME, &(uid=64058026), NULL) == 0x908e8a7c 2012-02-07 08:38:26.784 createmobileaccount[9427:1203] モバイル アカウントの作成に失敗しました MCXC . エラー = 4102 (MCXCCacheMCXRecordAndGraph が失敗しました)。モバイル アカウント レコードをクリーンアップしています。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): ユーザー ID = 0 を削除しようとしています ] == 4102 (同じ名前のレコードが既に存在するため、レコードを作成できませんでした。) 2012-02-07 08:38:26.783 createmobileaccount[9427:1203] MCXCCacheMCXRecordAndGraph(): vproc_swap_integer(NULL, VPROC_GSK_PERUSER_RESUME, &(uid=) 64058026), NULL) == 0x908e8a7c 2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCCreateMobileAccount(): アカウントの作成に失敗しました。エラー = 4102 (MCXCCacheMCXRecordAndGraph が失敗しました)。モバイル アカウント レコードをクリーンアップしています。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): ユーザー ID = 0 を削除しようとしています ] == 4102 (同じ名前のレコードが既に存在するため、レコードを作成できませんでした。) 2012-02-07 08:38:26.783 createmobileaccount[9427:1203] MCXCCacheMCXRecordAndGraph(): vproc_swap_integer(NULL, VPROC_GSK_PERUSER_RESUME, &(uid=) 64058026), NULL) == 0x908e8a7c 2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCCreateMobileAccount(): アカウントの作成に失敗しました。エラー = 4102 (MCXCCacheMCXRecordAndGraph が失敗しました)。モバイル アカウント レコードをクリーンアップしています。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): ユーザー ID = 0 を削除しようとしています 1203] MCXCCreateMobileAccount(): アカウントの作成に失敗しました。エラー = 4102 (MCXCCacheMCXRecordAndGraph が失敗しました)。モバイル アカウント レコードをクリーンアップしています。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): ユーザー ID = 0 を削除しようとしています 1203] MCXCCreateMobileAccount(): アカウントの作成に失敗しました。エラー = 4102 (MCXCCacheMCXRecordAndGraph が失敗しました)。モバイル アカウント レコードをクリーンアップしています。2012-02-07 08:38:26.784 createmobileaccount[9427:1203] MCXCDeleteAccount(): ユーザー ID = 0 を削除しようとしています *モバイル アカウントを作成できませんでした: 4102 (同じ名前のレコードが既に存在するため、レコードを作成できませんでした。)
修復:
ローカル アカウントの DSCL エントリが削除されたことを確認しました
Apple の KB に記載されているように、MCS 設定をフラッシュしてみました: http://support.apple.com/kb/HT3540
また、MCX 管理設定を削除しようとしました。rm -Rf "/ライブラリ/管理された設定"
システム設定から luser を作成し、ユーザーを再度削除すると (ホーム フォルダはそのままにしておきます)、次回のログイン時にモバイル アカウントを適切に作成できます。ただし、このプロセスをスクリプト化できる必要があります。
明らかな何かが欠けているように感じます。アドバイスをいただければ幸いです。
ありがとうございました!
applescript - AppleScriptの現在のユーザーの画像パスの奇妙なプロパティ結果
私が実行すると:
AppleScript では、ピクチャ パス以外はすべて正常に見えます。参照されているパスは、ユーザーの画像として表示されるものではありません。
私はおそらくここで何かを見逃していますが、何がわかりません。参照されているパスの画像は、システム環境設定でユーザー画像として設定した画像とは別の目的に役立ちますか?
ありがとう!
regex - 識別名から共通名を解析するための正規表現
OSXターミナルのbash環境でコマンドによって返された次のDNから(を使用してsed
)解析しようとしています...First Last
DSCL
CN=First Last,OU=PCS,OU=guests,DC=domain,DC=edu
私はこのサイトや他のサイトから、私が望んでいたものに非常に近い質問で複数の正規表現を試しました...主にこの質問...私は自分の能力の限りを尽くしてアドバイスに従うことを試みました(私は必ずしも自分自身を初心者とは見なしません。 ..しかし、間違いなく正規表現の初心者です..)
DSCL
First Last
DNのリストを返しますが、テキストファイルにのみ印刷したいと思います。を使ってみsed
ましたが、うまく機能しないようです。私は出力を解析するために他のコマンドを開いています。すべての行はで始まりCN=
、その後、との間にコンマがLast
ありOU=
ます。
ご助力ありがとうございます!
objective-c - Objective-C で dscutil を起動する
Objective-C でどのように使用dscl
し、その出力を取得しますか? ターミナルにあるかのように渡したいコマンドは次のとおりです。
-xml などの引数を使用して system_profiler を起動する方法は知っていますが、そのような長い文字列を実際に動作する場所に渡す方法がわかりません。
system_profiler が /usr/sbin/system_profiler であることは知っていますが、dscl はどうですか?