Linux/chownコマンドでファイル所有者とアクセスグループを変更する
いつもアクセスありがとうございます。匠技術研究所の谷山 亮治です。
今回は「Linux/chownでファイル所有者とアクセスグループを変更する」です。
Linuxではファイルを作成したりコピーすると、その操作を実行したユーザーのユーザーIDとグループIDが設定されます。
このことに注意が必要になるのは、自分の管理区域外のディレクトリにファイルやディレクトリをコピーする時です。
例えば以下のように変更します。
(*)このブログでの固定幅フォントの指定方法が判らないので、乱れて見えます。
メモ帳などにコピーしていただくと固定幅で見えます。
■コピー直後の状態
共有領域にコピーしたファイルは、私自身がコピーを行ったため、私のユーザー名とグループ名takumi.takumiになっています。
この領域はsambaを利用してWindows PCに対して共有フォルダとして公開しています。samba経由で操作するには、nobody.nogroupに変更する必要があります。
$ ls -la
total 16196910
drwxrwxrwx 4 root root 5 May 3 14:30 .
drwxr-xr-x 6 root root 4096 May 2 01:01 ..
-rw-r--r-- 1 takumi takumi 16574840832 May 3 14:32 gpttracP01.img
drwxr-xr-x 31 nobody nogroup 47 May 2 09:24 seminar
drwxr-xr-x 3 nobody nogroup 3 May 2 08:52 日本語ディレクト名
takumi@storage:/mnt/data$ ch
■ユーザ名とグループ名の変更を実施
実行しようとしたら、変更できないユーザーであると指摘されました。
$ chown nobody:nogroup gpttracP01.img
chown: changing ownership of ‘gpttracP01.img’: Operation not permitted
それでは、root権限で再実行。
$ sudo chown nobody:nogroup gpttracP01.img
[sudo] password for takumi:
takumi@storage:/mnt/data$
結果を確認。期待通りです。
$ ls -la
total 16196910
drwxrwxrwx 4 root root 5 May 3 14:30 .
drwxr-xr-x 6 root root 4096 May 2 01:01 ..
-rw-r--r-- 1 nobody nogroup 16574840832 May 3 14:32 gpttracP01.img
drwxr-xr-x 31 nobody nogroup 47 May 2 09:24 seminar
drwxr-xr-x 3 nobody nogroup 3 May 2 08:52 日本語ディレクト名
takumi@storage:/mnt/data$
ディレクトリ以下をすべて変更する際は、
$ chown -R nobody:nogroup dir_name
以上です。