Linuxでchownコマンドを効果的に使う方法
Linuxでは、特に大量のファイルを管理したり、マルチユーザー環境で作業したりする場合、誰が何の所有権を持っているかを把握し、それを変更することが非常に重要です。権限が適切でないためにプログラムが実行できない場合や、ファイルやディレクトリの所有権を移行する必要がある場合などがあります。chownコマンドの使い方は、最初は難しそうに思えるかもしれませんが、一度コツをつかめば、本当に楽になります。所有権の変更だけでなく、グループの権限を調整したり、フォルダ全体を再帰的に変更したり、ユーザー名ではなくユーザーIDを使用することも可能です。ここでは、始めるための簡単なガイドをご紹介します。きっと、途中で頭を悩ませるいくつかの問題を解決するのに役立つでしょう。
Linuxでファイルやフォルダの所有者を確認する方法
所有権の変更を始める前に、何を扱っているのかを把握しておくことが重要です。ls -lコマンドが役立ちます。このコマンドは、所有者、グループ、権限などの詳細を表示します。例えば、 の所有者を確認したい場合はexample.txt、次のように入力します。
ls -l example.txt
所有者(ユーザー)とグループを示す行が出力されます。所有者が想定通りの人物でない場合は、変更する必要があるかもしれません。
単一ファイルの所有権の変更
所有者の切り替えは簡単です。sudo chownに続けてユーザー名とファイル名を指定します。以下のようになります。
sudo chown newuser example.txt
なぜでしょうか?設定によっては、sudoがないと権限エラーが発生する可能性があるためです。特に、まだ所有者でない場合はなおさらです。これを実行すると、ファイルはnewuserの所有になります。ただし、これはグループを変更するものではなく、所有者のみを変更することに注意してください。グループも変更したい場合は、 のような別の構文が必要ですsudo chown :newgroup example.txt。所有者とグループの両方を同時に変更したい場合は、以下のようになります。
sudo chown newuser:newgroup example.txt
複数のファイルまたはディレクトリ全体でchownを使用する
ファイルの所有権を一つずつ変更するのは、特にファイルでいっぱいのフォルダを操作している場合、かなり面倒です。幸いなことに、ファイル名を複数にすることができます。
sudo chown user1:groupA file1.txt file2.txt
しかし、サブフォルダやファイルでいっぱいのディレクトリを操作していて、すべてを新しい所有者に変更したい場合は、再帰フラグが-R役に立ちます。再帰フラグはすべてのサブフォルダを調べ、すべての所有権を変更します。例:
sudo chown -R newowner:linkgroup my_folder
ただし、注意が必要です。間違ったディレクトリで実行すると、意図しない権限が変更される場合があります。ある設定では問題なく動作しましたが、別の設定では…うまく動作しませんでした。ls -l変更後は必ず、実行しようとしていることを素早く再確認してください。
ユーザーID(UID)を使用して所有権を変更する
名前を使いたくない技術者タイプの方、あるいはスクリプトを書く方は、UIDを使うのがおすすめです。すべてのユーザーには番号が割り当てられているので、毎回名前を綴るよりも間違いが少なくなります。ユーザーのUIDを確認するには、次のコマンドを実行します。
id -u username
例えば、id -u johndoeは という結果になるかもしれません1002。それを chown に投入します。
sudo chown 1002 example.txt
ファイルの所有権をUIDでユーザーとグループに割り当てる場合は、 を使用しますsudo chown 1002:1003 example.txt。ここで、1003はグループIDです。グループIDは次のようにも確認できます。
id username
chown コマンドで他に何ができますか?
所有権の変更だけでなく、manページも確認してみてくださいman chown。これはコマンドの取扱説明書のようなもので、ファイルの変更だけでなく、特定の権限や所有権の設定など、様々なオプションがリストされています。様々なファイル管理のシナリオを扱うようになると、間違いなく便利です。
chown は便利ですか?
正直なところ、自分のPCを使うだけなら、それほどいじる必要はないかもしれません。しかし、サーバーや共有システムを運用したり、システム管理業務を行っている人にとっては、chown を使いこなすことは必須と言えるでしょう。chown は、システム全体を整理し、適切なユーザーだけが特定のファイルにアクセスできるようにし、偶発的なデータ漏洩を防ぐのに役立ちます。さらに、所有権を一括変更できるため、整理整頓や再編成の際の手間が大幅に軽減されます。まれに、特に権限設定がおかしな場合は、少し面倒に感じることもありますが、最終的には非常に強力なコマンドです。
まとめ
所有権をいじるのは、一度コツをつかめば思ったほど怖くありません。頑固な権限の問題を修正する場合でも、単に整理整頓する場合でも、これらのコマンドはLinux生活を少し楽にしてくれます。ただし、再帰的な変更には注意してください。誤ってシステム上のすべての所有権を取得してしまうような事態は避けたいものです。
まとめ
- 現在の所有権を確認する
ls -l - 所有者を変更する
sudo chown username filename - 所有者とグループを一括変更
sudo chown user:group filename -Rフォルダへの再帰的な変更に使用するid -u usernameスクリプトでタイプミスを減らすためにUIDを使用する
これが役に立つことを祈る
関連記事
この記事は役に立ちましたか?