1 Day 1 Tip(s)

1day 一日ひとつ 1tip 一つのtipsを紹介

[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

  関連記事

no image
[Unix] chmodコマンドのモードの詳しい設定方法

ファイルのアクセス権を変更するchmodは、以下の書式で実行します。 $ chm …

no image
[Mac] purgeコマンドを使ってメモリを解放してみる

昨日の記事で、アプリを使用してメモリを解放する方法を紹介しましたが今回はコマンド …

[Cal] calコマンドを使って一瞬でカレンダーを表示する

ターミナル上でcalコマンドを実行すれば一瞬でカレンダーが表示できます。 ただ曜 …

[コマンド] sudoでそのままcdはできない

sudoでcdはできません。 詳しくは$ man sudo すれば詳しく記述があ …

no image
[Unix] mvなどのコマンドで”.”の付いた隠しファイルも一緒に移動させる方法

mvで.htaccessなども移動させたいのですが、“*&#8221 …

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です