2013-05-02 16:34:01 +0000 2013-05-02 16:34:01 +0000
62
62
Advertisement

Mac OS Xで自分のユーザーIDとグループを見つける方法を教えてください。

Advertisement

ターミナルでこのコマンドを実行しようとしています。

sudo chown -R yourid:yourgroup local

しかし、自分のIDとグループが何なのか、どこにあるのかわかりません。何かアイデアはありますか?

Advertisement

回答 (6)

65
65
65
2013-05-02 16:49:08 +0000

OS Xでは、ユーザディレクトリマネージャが変更しない限り、プライマリグループは常にstaffになっています。

primary groupとは何ですか?ユーザーのプライマリグループは、デフォルトではそのユーザーが作成したすべてのファイルの所有者となります。


コンピュータ上のchmodの目的のために、あなたの数字のユーザーID(例:501)かアカウント名(例:danielbeck)のどちらかを使用することができます。後者は、通常UIに表示されるユーザー名(例: Daniel Beck)とは異なります。

以下のいずれかを使用してアカウント名を決定することができます。

  • Finder のタイトルまたはサイドバーにあるホームディレクトリの名前(カスタマイズしていない限り)

  • Terminal で whoami を実行する - chown -R $(whoami):staff で十分です。groups $(whoami) | cut -d' ' -f1 でプライマリグループを取得することもできます。

  • System Preferences “ Users & Groups を開き、必要に応じてペインのロックを解除し、ユーザー名(Current User セクションのリスト項目)を右クリックし、Advanced Options… を選択する。これは、新しく開いたダイアログウィンドウのアカウント名フィールドです。このダイアログには、あなたのプライマリグループも表示されます。

  • Terminalでidを実行すると、より詳細な出力が得られます。これにはあなたのユーザーIDが含まれます。また、プライマリグループだけでなく、あなたが所属しているすべてのグループのリストも表示されます。最初のグループがプライマリグループです。

42
42
42
2013-11-27 01:56:17 +0000

ターミナルからidコマンドを使用します。これはあなたの uid とあなたが所属しているグループを表示します。例えば、以下の出力は私のユーザID (534)、グループID (20)、そして私が所属しているグループ (20) を表示しています。

uid=534(galuga) gid=20(staff) groups=20(staff)
16
Advertisement
16
16
2016-08-03 09:47:16 +0000

あなたのユーザーIDが表示されます。

$ id -u
502

グループ名が表示されます。グループ名はカッコの中に入っています。

$ id
uid=502(whoami) gid=20(staff) groups=20(staff),702(com.apple.sharepoint.group.2),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),33(_appstore),100(_lpoperator),204(_developer),395(com.apple.access_ftp),398(com.apple.access_screensharing),399(com.apple.access_ssh)
4
4
4
2013-05-02 16:42:49 +0000

をターミナルで起動し、~/Documentsに移動してls -laを実行します。各ファイル/ディレクトリの横にユーザー名とグループが表示されます。

以下のように表示されます。

drwxr-xr-x 2 username usergroup 4096 Oct 17 2012 Templates
4
Advertisement
4
4
2019-05-14 03:44:29 +0000

できればコメントだけにしたいが このサイトには十分なカルマがないんだ。

なぜ誰かが @callaginn をdownvotedしたのか、私にはさっぱりわかりません。

id -u # returns UID

id -un # returns username

id -g # returns primary (a.k.a. effictive) GID

id -gn # returns primary Group Name

より多くのオプションについては man id を参照してください。

chown "$(id -un):$(id -gn)" some_file

この具体的な質問に答えるために、もし私がどのような環境でも動作するスクリプトを書いている場合、デフォルトのグループstaffが使用されているとは考えず、代わりに、どのようなユーザー(システムを変更しているかどうかに関わらず)でも実行できるスクリプトを書いている場合は、以下のようにします。

chown-R フラグは最大限の自信を持って使用すべきであることに注意してください。あなたのシステムを本当に台無しにしてしまう可能性があります(AppleがSystem Integrity Protectionを実装して以来、それを困難にしてしまったことは注目に値しますが)。

例えば、chown -R 755 /varを無効にした状態でchown -R 755 /var/wwwの代わりにSystem Integrity Protectionをrootにした場合を考えてみてください……私はそうなると思います。何が最初に壊れるかは言えませんが、ダーウィンシステムでは最初に壊れると思いますが、それはきれいなものではないと私の言葉を信じてください。

願わくば、誰かがこれを参考にしてくれることを願っています。

2
2
2
2019-05-06 15:55:00 +0000

一次グループを見つけるためのさらに短い方法。

id -gn
Advertisement