[Unix] ファイルの権限を変更するコマンド3つ-chown,chgrp,chmod
2015/02/22
ファイルの権限(所有権、所有グループ、アクセス権)を変更するコマンドを纏めてみました。
chown (change ownership)
chownはファイルの所有者を変更するコマンドです。
以下の書式で実行することができます。
$ chown [-fhv] [-R [-H | -L | -P]] owner[:group] file ...
オプション
- f:変更にした場合でもエラーを表示しない
- h:もしシンボリックリンクだった場合、それ自身の所有者を変更します。
- v:出力結果をverbose(冗長)に出力します
- R:ディレクトリの中身の所有者も再帰的に変更します。
- H:もしシンボリックリンクだった場合、ディレクトリの中身も同様にそれ自身の所有者を変更します。中身にシンボリックリンクが存在した場合、それは再帰的に変更しません。
- L:もしシンボリックリンクだった場合、ディレクトリの中身も同様にそれ自身の所有者を変更します。中身にシンボリックリンクが存在した場合、それも再帰的に変更します。
- P:コマンド行で指定されたファイルやディレクトリの先のシンボリックリンクについて、それ自身の 所有者を変更します。中身にシンボリックリンクが存在した場合、それは再帰的に変更しません。
H,L,PはRと共に指定する必要があります。
chgrp (ghange group)
chownはファイルの所有グループを変更するコマンドです。
以下の書式で実行することができます。
$ chgrp [-fhv] [-R [-H | -L | -P]] group file ...
オプション
chownと基本的な箇所は同じです
- f:変更にした場合でもエラーを表示しない。
- h:もしシンボリックリンクだった場合、それ自身の所有グループを変更します。
- v:出力結果をverbose(冗長)に出力します
- R:ディレクトリの中身の所有者も再帰的に変更します。
- H:もしシンボリックリンクだった場合、ディレクトリの中身も同様にそれ自身の所有グループを変更します。中身にシンボリックリンクが存在した場合、それは再帰的に変更しません。
- L:もしシンボリックリンクだった場合、ディレクトリの中身も同様にそれ自身の所有グループを変更します。中身にシンボリックリンクが存在した場合、それも再帰的に変更します。
- P:コマンド行で指定されたファイルやディレクトリの先のシンボリックリンクについて、それ自身の 所有グループを変更します。中身にシンボリックリンクが存在した場合、それは再帰的に変更しません。H
H,L,PはRと共に指定する必要があります。
chmod (ghange mode)
chownはファイルの所有グループを変更するコマンドです。
以下の書式で実行することができます。
$ chmod [-fv] [-R [-H | -L | -P]] mode file ...
オプション
chownと基本的な箇所は同じです
- f:変更にした場合でもエラーを表示しない。
- h:もしシンボリックリンクだった場合、それ自身の所有グループを変更します。
- v:出力結果をverbose(冗長)に出力します
- R:ディレクトリの中身の所有者も再帰的に変更します。
- H:もしシンボリックリンクだった場合、ディレクトリの中身も同様にそれ自身の所有グループを変更します。中身にシンボリックリンクが存在した場合、それは再帰的に変更しません。
- L:もしシンボリックリンクだった場合、ディレクトリの中身も同様にそれ自身の所有グループを変更します。中身にシンボリックリンクが存在した場合、それも再帰的に変更します。
- P:コマンド行で指定されたファイルやディレクトリの先のシンボリックリンクについて、それ自身の 所有グループを変更します。中身にシンボリックリンクが存在した場合、それは再帰的に変更しません。H
H,L,PはRと共に指定する必要があります。
モード
このモードがすこし厄介な部分です。
モードは所有者、所有グループ、第三者のアクセス権にそれぞれ分かれています。
例としてたとえばOS Xの /etc で ls -lしてみます。
-rw-r--r--@ 1 root wheel 121 8 24 2012 csh.login -rw-r--r--@ 1 root wheel 39 8 24 2012 csh.logout drwxr-xr-x 11 root _lp 374 2 20 16:45 cups drwxr-xr-x 3 root wheel 102 6 21 2012 defaults -rw-r--r--@ 1 root wheel 2378 8 24 2012 dnsextd.conf -rw-r--r--@ 1 root wheel 1029 8 24 2012 efax.rc drwxr-xr-x 5 root wheel 170 1 16 2013 emond.d -rw-r--r--@ 1 root wheel 0 6 21 2012 find.codes -rw-r--r--@ 1 root wheel 150 8 24 2012 fstab.hd -rw-r--r--@ 1 root wheel 54 8 24 2012 ftpd.conf
- 一番左はファイルか、ディレクトリか。
- その右3文字分が所有者
- またその右3文字分が所有グループ
- またその右3文字分が第三者
となっています。
これについてはややこしいので、別記事に起こします。
googleadsense336
googleadsense336
関連記事
-
[Unix] mvなどのコマンドで”.”の付いた隠しファイルも一緒に移動させる方法
mvで.htaccessなども移動させたいのですが、“*” …
-
[コマンド] sudoでそのままcdはできない
sudoでcdはできません。 詳しくは$ man sudo すれば詳しく記述があ …
-
[Mac] purgeコマンドを使ってメモリを解放してみる
昨日の記事で、アプリを使用してメモリを解放する方法を紹介しましたが今回はコマンド …
-
[Unix] chmodコマンドのモードの詳しい設定方法
ファイルのアクセス権を変更するchmodは、以下の書式で実行します。 $ chm …
-
[Cal] calコマンドを使って一瞬でカレンダーを表示する
ターミナル上でcalコマンドを実行すれば一瞬でカレンダーが表示できます。 ただ曜 …