aaaiiuie

学習(備忘録)のため運用

パーミッション - 所有者と所有グループ

所有者と所有グループ

Point

  • ファイルのディレクトリには所有者と所有グループが設定されている
  • 所有者を変更するには chown を使用する
  • 所有グループを変更するには chgrp を使用する

所有者と所有グループとは

ファイルやディレクトリはいずれかのユーザー及びグループが所有しています。
通常、ファイルやディレクトリを作成したユーザーが所有者となり、所有者のプライマリグループが所有グループに適用されます。
所有者と所有グループの確認は ls -l で確認します。

$ ls -l 
-rw-r--r-- 1 root root   11 Dec 23 11:10 a.txt
-rw-r--r-- 1 root root   42 Dec 23 12:11 b.txt
-rw-r--r-- 1 root root    0 Dec 23 13:09 c.txt
drwxr-xr-x 2 root root 4022 Dec 23 12:14 test_1
drwxr-xr-x 2 root root 4100 Dec 23 12:15 test_2

所有者と所有グループの管理

所有者を変更するには chown を使用します。 chownCHange OWNer を表します。 変更することができるのはrootユーザーのみです。

書式

NAME
     chown -- change file owner and group

SYNOPSIS
     chown [-fhnv] [-R [-H | -L | -P]] owner[:group] file ...
     chown [-fhnv] [-R [-H | -L | -P]] :group file ...

次の例では a.txt の所有者をhogeuserに変更します。

$ chown hogeuser a.txt

ディレクトリ配下を全て変更する場合は -R オプションを指定します。

$ chown -R hogeuser hogedr

グループを変更するには chgrp を使います。 chgrpCHange GRouP を表します。

chgrp は、rootユーザーだけではなく一般ユーザーも使用できます。
ただしその一般グループが所属しているグループのみ指定可能です。
rootユーザーは制限なしに全てのグループの変更が可能です。

書式

NAME
     chgrp -- change group

SYNOPSIS
     chgrp [-fhnv] [-R [-H | -L | -P]] group file ...

次の例では a.txt の所有グループをhogegroupに変更します。

$ chown hogegroup a.txt

ディレクトリ内にある全てのデータのグループを変更する場合は chgrp-Rオプションを指定します。

$ chgrp -R hogegroup hogedr

書式に記載の通り(change file owner and group)、chown コマンドで所有者と所有グループを一緒に変更することができます。

以下はdataディレクトリの所有者と所有グループを変更します。

$ chown -R hogeuser:hogegrp data

所有者と所有グループだけではなくアクセス権を設定することでアクセス制御が可能となります。