ターミナルでこのコマンドを実行しようとしています:
Sudo chown -R yourid:yourgroup local
しかし、私のIDとグループが何であるか、またはそれらをどこで見つけることができるのかわかりません。何か案は?
OS Xでは、あなたまたはあなたのユーザディレクトリマネージャが変更しない限り、あなたのプライマリグループは常にstaff
です。
プライマリグループとは何ですか?ユーザのプライマリグループは、デフォルトではそのユーザによって作成されたすべてのファイルの所有者です。
お使いのコンピュータでchmod
を使用するには、数字のユーザーID(例:501)、またはアカウント名(例:danielbeck
)を使用できます。後者は、UIに通常表示されるユーザー名とは異なります(例:Daniel Beck)。
次のいずれかを使用してアカウント名を確認できます。
それはあなたのホームディレクトリの名前です(あなたがそれをカスタマイズしたのでなければ)
Terminalでwhoami
を実行してください - chown -R $(whoami):staff
で十分です。 groups $(whoami) | cut -d' ' -f1
を使ってプライマリグループを取得することもできます。
システム環境設定"ユーザとグループ、必要に応じてペインのロックを解除、ユーザ名を右クリック(の単一のリストエントリ) Current Usersection)を選択し、Advanced Options…を選択します。新しく開いたダイアログウィンドウのアカウント名です。このダイアログにはプライマリグループも表示されます。
より詳細な出力を得るには、Terminalでid
を実行してください。これはあなたの数字のユーザーIDを含みます。プライマリグループだけでなく、メンバーになっているすべてのグループも表示されます。最初のグループはプライマリです。
端末からid
コマンドを使用します。それはあなたのUIDとあなたが属しているグループを表示します。例えば、これは私のユーザーID(534)、グループID(20)、そして私が所属するグループ(やはり20)を表示したものです。
uid=534(galuga) gid=20(staff) groups=20(staff)
これはあなたのユーザー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)
ターミナルで、~/Documents
に移動してls -la
を実行します。あなたのユーザー名とグループは各ファイル/ディレクトリの隣に表示されます。
これは次のようになります。
drwxr-xr-x 2 username usergroup 4096 Oct 17 2012 Templates
プライマリグループを見つけるためのさらに短い方法:
id -gn
私ができればコメントするだけでしょう。このサイトには十分なカルマがありません。
彼が有効なポイントを出したので、なぜ誰かが@callaginnを投票しなかったのか私にはわかりません。
次の方法が有効です(そしておそらくShellスクリプトのための最良の選択肢):
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
を参照してください。
どのような環境でも動作するようなスクリプトを書いているのであれば、この特定の質問に答えるために、デフォルトグループstaff
が使われているとは思いません。ユーザー(システムを変更したかどうかにかかわらず):
chown "$(id -un):$(id -gn)" some_file
後で技術的な負債が少なくなるため、可能な場合は常にプラットフォームに依存しないことをお勧めします(あまり時間がかかりすぎない場合)。
chown
の-R
フラグは最大限の自信を持って使用されるべきであることに注意してください。あなたは本当にあなたのシステムをめちゃくちゃにすることができました(それは彼らがSystem Integrity Protection
を実行したのでAppleがそれをするのを難しくしたことは注目に値しますが)。
たとえば、rootとしてchown -R 755 /var
の代わりにchown -R 755 /var/www
を無効にしてSystem Integrity Protection
にアクセスした場合を考えてみましょう。何が最初に壊れるのかはわかりませんが、Darwinシステムでは最初に壊れるでしょうが、私のWordを見てください。
うまくいけば、誰かがこれが役に立つと思います。