chownコマンド(所有者変更)
更新日 : 2019年09月18日
chmod
コマンドに続き、chown
コマンドを学んでいきます。
chown
はchange ownerの略で、所有者の変更を行うコマンドです。chmod
では権限自体の変更でしたが、chown
では所有者の変更です。
また、chmod
コマンドは所有者またはrootユーザーが権限を変更したいファイルやディレクトリに対して実行可能でしたが、chown
はrootユーザーのみが所有者変更を実行可能です。
chownコマンドの使い方
大まかに2種類の使い方があります。
$chown ユーザー名 所有者を変更したいファイルやディレクトリパス
あるいは
$chown ユーザー名:グループ名 所有者を変更したファイルやディレクトリパス
となります。
ユーザー名
のみを指定すればファイルやディレクトリの所有者を変更でき、ユーザー名:グループ名
のように指定すれば所有者とグループを同時に変更できます。
所有者を変更してみる
まずは一般ユーザーで任意のディレクトリにファイルを作成しましょう。空のファイルで良ければtouch ファイル名
で空ファイルを作成できます。一般ユーザーが作成したファイルが既に存在する場合にはそのファイルをそのまま利用しましょう。
$ls -l
合計 0
-rw-rw-r-- 1 vagrant vagrant 0 9月 18 06:57 test.txt
ls -l
コマンドでtest.txt
の所有者とグループを確認できました。
次にrootユーザーに昇格してchown
コマンドでrootユーザーを所有者に変更してみます。
# rootユーザーに昇格
$su
パスワード:
# 変更できたか確認
$whoami
root
# 所有者をrootへ変更
$chown root test.txt
# ファイルを確認
$ls -l
合計 0
-rw-rw-r-- 1 root vagrant 0 9月 18 06:57 test.txt
これで所有者が変更されていることを確認できました。
現在test.txt
の所有者はrootユーザーとなっています。ところがもともとファイルを作成したユーザー(今回はvagrant)はグループ権限を引き続き持っているため、rootユーザーと同じ書き込み・読み込み権限(rw-)を持ちます。
では次にグループも変更してみましょう。
# 引き続きrootユーザーでchownを実行
$chown root:root test.txt
# ファイルを確認
$ls -l
合計 0
-rw-rw-r-- 1 root root 0 9月 18 06:57 test.txt
これで所有者・所有グループはともにrootとなりました。この時点でファイルを作成したユーザー(vagrantユーザー)は第三者となるため、読み込み権限(r—)しか持ちません。
ファイルを作成したユーザーに戻りましょう(exit
でrootユーザーからログアウト)。
ユーザーを戻すとviコマンドで起動まではできても、上書き保存ができないことがわかるかと思います。

よく利用するオプション
-R
recursiveオプションです。ディレクトリを指定した場合にディレクトリ内にあるファイルやディレクトリにも再帰的に所有者を変更します。
タグ
-
前の記事
suコマンド(ユーザーの切り替え)
-
次の記事
sudoコマンド(root権限実行)