【Linux】chownコマンド-ファイル所有者・グループの考え方

linux

ファイルの所有者やグループとは

chownコマンドの前にファイルの所有者やグループって何?という方も多いと思いますので、まずは最初に所有者とグループについて説明致します。所有者やグループは主にファイル・ディレクトリのアクセス権限を制御します。アクセス権限というと難しいかもしれませんが、簡単に言うとファイルを参照したり更新したりする人に制限を書けるということです。

例えば、自分がログインしているのが、「ganmo」ユーザだとすると以下の「test.sh」「aaa.txt」ファイルを参照・更新することができます。ただ、「test」ユーザ等別のユーザだと「test.sh」は参照・更新できますが、「aaa.txt」は参照しかすることができません。赤字で記載されている箇所の左がファイルの所有者で右側がグループになります。Linuxではユーザを作成する際に、グループを指定することができます。デフォルトはユーザ名と一緒になります。

[ganmo-PC unix]$ ll
total 2
-rw-r--r-- 1 ganmo ganmo 10 Jun  5 16:55 aaa.txt
drwxr-xr-x 1 ganmo ganmo  0 Jun 13 19:28 test
-rwxr-xr-x 1 ganmo ganmo 40 Jun  5 21:01 test.sh
[ganmo-PC unix]$

参照・更新できるかは、上記の行の一番左の青字の「-rw-r–r–」で決まります。
一番左の「rwx」の箇所をパーミッションと言います。それぞれ「rwx」には以下の意味があります。

r :数字で表すと4読み取り権限
w:数字で表すと2書き込み権限
x:数字で表すと1実行権限

「rwxrwxrwx」を左から順に3つに分割して「所有者」「所有グループ」「その他」の所有者の権限を表します。つまり、一番左の「rwx」と記載がある場合、所有者が読み取り権限・書き込み権限・実行権限のすべてを持つことになります。

ganmoユーザの場合、「aaa.txt」は赤字の部分からファイルの所有者となるので、所有者の権限を示す「rw-」の権限を持つことになります。

testユーザの場合、「aaa.txt」は赤字の部分からファイルの所有者ではないので、グループの権限かその他の権限扱いになります。testユーザのグループがganmoの場合は、真ん中の「r–」グループが違う場合も、一番右の「r–」に今回はなるので、権限は変わりませんね。。どちらも読み取りの権限しかないです。

ファイルへのアクセスの権限は「パーミッション」と「ファイルの所有者・グループ」で制御することができます。今回のchownコマンドは「ファイルの所有者・グループ」を変更するコマンドになります。

※「-rwxrwxrwx」の一番左は「-」か「d」が設定されます。「-」の場合はファイルを指し、「d」の場合はディレクトリを指します。

chownコマンド

chownコマンドは「change owner」の略になります。上記でも説明しましたが、「ファイルの所有者・グループ」を変更するコマンドになります。使用方法やオプションについて説明します。

chownコマンドのオプション

chownコマンドのオプションは色々ありますが、使用頻度の高いオプションは「-R」だけだと思います。

オプション説明
-c所有者・グループに変更があった場合にメッセージを出力する。
-f所有者・グループの変更に失敗した場合にエラーメッセージを出力しない。
-hシンボリックリンクの所有者を変更する。
-Rディレクトリ内の所有者も変更する。
-vコマンド実行時にメッセージを出力する。

chown -cオプション

-cオプションは所有者・グループに変更があった場合に、変更があった旨のメッセージを出力します。

[ganmo-PC unix]$ ll
total 1
-rw-r--r-- 1 ganmo ganmo 10 Jun  5 16:55 aaa.txt
[ganmo-PC unix]$ chown -c test:test aaa.txt
`aaa.txt'の所有者をganmoからtestへ変更しました。

chown -fオプション

-fオプションは所有者・グループを変更した際に、失敗してもエラーメッセージを出力しません。
-fオプションを付与することで以下のようなメッセージが出力されなくなります。

[ganmo-PC unix]$ ll
total 1
-rw-r--r-- 1 ganmo ganmo 10 Jun  5 16:55 aaa.txt
[ganmo-PC unix]$ chown test:test bbb.txt
chown: `bbb.txt'にアクセスできません:そのようなファイルやディレクトリはありません。

chown -hオプション

-hオプションはファイルやディレクトリではなくシンボリックリンクの所有者とグループを変更できます。

[ganmo-PC unix]$ ll
-rw-r--r-- 1 ganmo ganmo 117 Jun 30 20:55 aaa.txt
lrwxrwxrwx 1 ganmo ganmo   7 Jul  7 21:58 linkA -> aaa.txt
[ganmo-PC unix]$ chown -h test:test linkA

chown -Rオプション

-Rオプションはディレクトリ配下のファイルもすべて所有者とグループを変更できます。一気に所有者・グループを変更する時に役立ちます。chownコマンドの中で一番使用頻度の高いオプションに当たると思います。

[ganmo-PC test]$
[ganmo-PC test]$ ls -ltR folder
folder:
total 0
-rw-r--r-- 1 ganmo ganmo 0 Jul 18 14:22 ccc.txt
-rw-r--r-- 1 ganmo ganmo 0 Jul 18 14:22 bbb.txt
-rw-r--r-- 1 ganmo ganmo 0 Jul 11 21:21 aaa.txt
[ganmo-PC test]$
[ganmo-PC test]$
[ganmo-PC test]$
[ganmo-PC test]$ chown -R test:test folder
[ganmo-PC test]$
[ganmo-PC test]$
[ganmo-PC test]$ ls -ltR folder
folder:
total 0
-rw-r--r-- 1 test test 0 Jul 18 14:22 ccc.txt
-rw-r--r-- 1 test test 0 Jul 18 14:22 bbb.txt
-rw-r--r-- 1 test test 0 Jul 11 21:21 aaa.txt
[ganmo-PC test]$
[ganmo-PC test]$

chown -vオプション

-vオプションは所有者・グループを変更する際に詳細情報を表示します。-cオプションとほとんど同じですが、違う点としては、-cオプションは変更に成功した場合のみ出力し、-vオプションは失敗した場合でも失敗した内容を表示します。

[ganmo-PC unix]$ ll
total 1
-rw-r--r-- 1 ganmo ganmo 10 Jun  5 16:55 aaa.txt
[ganmo-PC unix]$ chown -c test:test aaa.txt
`aaa.txt'の所有者をganmoからtestへ変更しました。

最後に

私はSierとして9年間働いて、色々なプロジェクト関わっていますが、今までの開発は全てLinuxサーバになります。周りの方に話を聞いても今までの開発がWindowsサーバではなくLinuxサーバの方が多いという方の方が多い気がします。

Linuxについて詳しくなれば転職等に有利になると思うので、是非勉強しましょう!

世界的に有名なオンラインサイトで勉強しよう!

プログラミングの勉強や、Linux・Windowsの勉強等したい時に、参考書を購入して勉強することが多いと思いますが、参考書を買うぐらいならオンラインサイトで勉強した方がいいです。現役エンジニアの生の声を聞くこともできますし、初学者の方からベテランの方まで勉強できます。私は、世界的に有名な「Udemy」をおススメします。気になる方は確認してみてください。

Linuxを勉強して転職しよう!

エンジニアは転職してなんぼの職種です。就職難の昨今でもエンジニアは現場に人が足りていません。そのため、ある程度のお金を払っても入社してくれる方を探している企業が多いのが現状です。
また、会社にもよりますが、多くの会社は入社してから数年間は雀の涙程度の給料しかあがっていきません。ただ、転職することで、100万円単位で年収が上がっていくこともざらにあります。
エンジニアは転職してキャリアアップしていく職種と言えます。

技術本を読んで知識をつけよう

IT関連の勉強を始めようと思ったとき、参考書を購入する方が大半だと思います。私も参考書を購入して、いつも勉強を始めています。最終的には見ないこともありますが、勉強を始めるきっかけに最初に参考書を購入しています。本屋にいっても大きな本屋に行けば色々なものが売っていますが、小さい本屋だと、自分が欲しい関連の本がほとんどなかったりします。そんな時に私はSEShopを使います。SEShopはITに特化した本のオンラインサイトになります。AmazonよりもIT関連の本については品揃えもいいと思いますので、気になった方は確認してみてください。

最近は、本を持つ人も少なくなりましたが、PDFで販売もしているので、スマホやタブレットにも対応しています。本を購入する場合でも送料無料です!!

コメント

タイトルとURLをコピーしました