Linuxのchownコマンドとは?初心者向け完全ガイド

Linux

Linuxを使っていて、こんな困りごとはありませんか?

  • 「このファイルを編集したいのに、権限がないと言われる」
  • 「他の人が作ったファイルを自分のものにしたい」
  • 「Webサイトのファイルをサーバー用に設定したい」

そんなときに使うのが chown(チェンジオーナー)コマンドです。

chownとは

  • ファイルやフォルダの「持ち主」を変える命令
  • change owner(チェンジオーナー)の略
  • Linuxの基本的で重要なコマンドの一つ

この記事では、chownの使い方を初心者にも分かりやすく説明します。

スポンサーリンク

ファイルの持ち主とは?

Linuxでは、すべてのファイルやフォルダに「持ち主」が決まっています。

持ち主の確認方法

ls -l ファイル名

実行すると、こんな感じで表示されます:

-rw-r--r-- 1 yamada staff 1024 6月 4 12:00 sample.txt

この例では:

  • yamada がファイルの持ち主(所有者)
  • staff がグループ名
  • 1024 がファイルサイズ

chownの基本的な使い方

基本の書き方

chown 新しい持ち主 ファイル名

実際の例

# sample.txtの持ち主をtaroに変更
chown taro sample.txt

実行後に ls -l sample.txt で確認すると、持ち主が「taro」に変わります。

持ち主とグループを同時に変更

chown taro:family sample.txt

この例では:

  • taro が新しい持ち主
  • family が新しいグループ
  • 間に「:」(コロン)を入れる

よく使うパターン

フォルダの中身をまとめて変更(-Rオプション)

chown -R taro myfolder

-Rは「Recursive(再帰的)」の意味で、フォルダの中にあるすべてのファイルとサブフォルダの持ち主も一緒に変更されます。

持ち主だけ変更(グループはそのまま)

chown taro: sample.txt

コロンの後ろを空にすると、グループは変更されません。

グループだけ変更(持ち主はそのまま)

chown :family sample.txt

コロンの前を空にすると、持ち主は変更されません。

よくある使い道

Webサーバーのファイル設定

sudo chown www-data:www-data /var/www/html/index.html

Webサーバー(Apache、Nginxなど)がファイルを読み込めるように設定します。

自分で作ったファイルを他の人に渡す

chown hanako document.txt

「hanako」さんがファイルを編集できるようになります。

sudoで作ったファイルを普通のユーザーに戻す

管理者権限(sudo)でファイルを作ると、持ち主が「root」になってしまいます:

# 普通のユーザーに戻す
sudo chown yamada report.txt

注意点とよくあるエラー

sudo(管理者権限)が必要

他の人のファイルの持ち主を変更するときは、管理者権限が必要です:

sudo chown taro sample.txt

sudoを忘れると

chown: 操作が許可されていません

存在しないユーザー名を指定した場合

chown ghost sample.txt

エラー

chown: 不正なユーザーです: 'ghost'

確認方法

# ユーザーが存在するか確認
id ghost

ファイルが存在しない場合

chown taro nothing.txt

エラー

chown: 'nothing.txt' にアクセスできません: そのようなファイルやディレクトリはありません

実践的な例

ホームフォルダ全体の持ち主を変更

sudo chown -R taro:taro /home/taro

新しいユーザーを作ったときに使います。

Webサイトのファイルをサーバー用に設定

sudo chown -R www-data:www-data /var/www/mysite

ログファイルの持ち主を変更

sudo chown syslog:adm /var/log/myapp.log

シンボリックリンクの扱い

シンボリックリンク(ショートカットのようなもの)がある場合は注意が必要です。

リンク先のファイルを変更(通常)

chown taro mylink

リンクそのものではなく、リンクが指しているファイルの持ち主が変わります。

リンク自体の持ち主を変更

chown -h taro mylink

-hオプションを使うと、リンク自体の持ち主が変わります。

確認方法とトラブルシューティング

現在の持ち主を確認

ls -l ファイル名

詳しい情報を確認

stat ファイル名

ファイルの詳しい情報(持ち主、グループ、権限など)が表示されます。

ユーザーの存在確認

# ユーザーが存在するか確認
getent passwd ユーザー名

# グループが存在するか確認
getent group グループ名

よくある質問

Q: chownとchmodの違いは?
A: chownは「持ち主」を変更、chmodは「権限」を変更します。

Q: 一般ユーザーでもchownは使える?
A: 自分のファイルなら使えますが、他人のファイルはsudoが必要です。

Q: 間違って変更してしまった場合は?
A: 元の持ち主が分かれば、再度chownで戻せます。

Q: ファイルの持ち主を削除されたユーザーにしてしまった場合は?
A: 存在するユーザーに変更し直す必要があります。

まとめ

chownコマンドは、Linuxでファイルの管理をするための重要なツールです。

覚えておくべきポイント

  • 基本形:chown 新しい持ち主 ファイル名
  • フォルダ全体:chown -R 持ち主 フォルダ名
  • 持ち主とグループ:chown 持ち主:グループ ファイル名
  • 他人のファイルは:sudo chown ...

よく使う場面

  • Webサーバーの設定
  • ファイルの共有
  • 開発環境の構築
  • システム管理

基本コマンド一覧

コマンド例説明
chown taro file.txt持ち主をtaroに変更
chown taro:family file.txt持ち主をtaro、グループをfamilyに変更
chown -R taro folder/フォルダ全体を再帰的に変更
sudo chown root file.txt管理者権限で実行
ls -l file.txt現在の持ち主を確認

コメント

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