GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでのChownコマンド(ファイル所有権の変更)

LinuxおよびUnixライクなオペレーティングシステムでは、すべてのファイル、ディレクトリ、およびプロセス(これもファイルです)はユーザーが所有します。このグループは、そのオブジェクト(ファイル/ディレクトリ)に対して同じアクセス許可(つまり、読み取り、書き込み、実行)を共有するユーザーのセットです。

Linuxでは、chownコマンドを使用して、ファイル、ディレクトリ、およびシンボリックリンクのユーザーとグループの所有権を変更します。

このチュートリアルでは、chownコマンドの使用方法をいくつかの実用的な例とともに示します。

chown構文

次のようにchownコマンドの基本構文を確認しましょう:

chown [OPTIONS] USER[:GROUP] FILE/DIRECTORY

ls -lを実行できます ファイルの所有権の詳細を印刷するコマンド。

次の出力では、ファイル「myfile.txt」がユーザー「tom」によって所有され、グループが「developers」によって所有されていることがわかります。

$ ls -l
-rw-r--r-- 1 tom  developers   0 Apr  4 01:35 myfile.txt

ファイルの所有権を変更する

ファイルの所有権を変更するには、新しい所有者名と所有者を変更する必要のあるファイル名を使用してchownを使用します。

次のコマンドは、「myfile.txt」という名前のファイルの所有権を新しいユーザー「tom」に変更します。

# chown tom myfile.txt

コマンドが正常に実行された場合、端末に出力は表示されません。 ls -lを使用して確認しましょう 次のようにコマンドを実行します:

# ls -l myfile.txt
-rw-r--r-- 1 tom root 623 Dec 10 2012 myfile.txt

ファイルの所有者とグループの変更

所有者の後にコロンが続く場合(: )およびグループ名(スペースなし)、グループ名も変更されます。

次の例は、「myfile.txt」という名前のファイルの所有者とグループを変更する方法を示しています。

# chown tom:developers myfile.txt

これで、ファイルの新しい所有者は「tom」になり、新しいグループの所有者は「developers」グループになります。

# ls -l myfile.txt
-rw-r--r-- 1 tom developers 424 Dec 10 2012 myfile.txt

コロンの後にグループ名を削除すると、ファイルのグループが指定されたユーザーのログイングループに変更されます。

# chown tom: myfile.txt
# ls -l myfile.txt
-rw-r--r-- 1 tom tom 453 Dec 10 2012 myfile.txt

コロン(:)とグループが指定されている場合、ファイルのグループのみが変更されます。この場合、コマンドはchgrpコマンドのように機能します。

# chown :developers myfile.txt
# ls -l myfile.txt
-rw-r--r-- 1 tom developers 1579 Dec 10 2012 myfile.txt

ディレクトリの所有権を再帰的に変更する

特定のディレクトリの下にあるすべてのファイルとディレクトリに所有権を再帰的に適用するには、-Rを使用します オプション

次の例では、「/ var / www / html」の下にあるすべてのファイルとディレクトリの所有権が「linoxide」に再帰的に変更され、グループの所有権が「www-data」に変更されます。

# chown linoxide:www-data -R /var/www/html

詳細出力

--verbose オプションは、端末で変更されているすべての所有権を表示します。処理された各ファイルの診断を出力します。

例:

# chown -R --verbose jones /home/jones/
changed ownership of `/home/jones/hello' to jones
changed ownership of `/home/jones/.emacs' to jones
changed ownership of `/home/jones/.bash_history' to jones
changed ownership of `/home/jones/.bash_logout' to jones
changed ownership of `/home/jones/.bashrc' to jones
changed ownership of `/home/jones/file1' to jones

詳細オプションは、変更が行われていない場合でも、各ファイルの処理を出力します。ただし、-c または--changes オプションの場合、出力は変更が加えられたときにのみ報告されます。

シンボリックリンクの所有権を変更する

デフォルトではchown コマンドはシンボリックリンクの所有権を変更せず、ターゲットファイルの所有権を変更します。 Chmodにはオプション-hがあります シンボリックリンクの所有権を変更するために使用できます。

次の例を確認してください:

# chown -h tom vmlinuz
# ls -l
total 0
lrwxrwxrwx 1 tom root 31 Apr  5 00:50 vmlinuz -> /boot/vmlinuz-4.15.0-88-generic

参照ファイルと同じ所有権を変更する

chownの元のファイルを参照できます 同じユーザーとグループの所有権を新しいファイルにコピーします。

次のコマンドで--reference=myfile1.txt 'myfile2.txt'という名前のファイルに割り当てられた参照ファイルと所有権を提供するオプション:

# chown --reference=myfile1.txt myfile2.txt

サイレント操作

通常のユーザーは、他のユーザーが所有するファイルの所有権を変更することはできません。そのため、通常のユーザーが所有権を変更しようとするとエラーが表示されます。

[tom@node051 ~]$ chown tom /etc/
chown: changing ownership of `/etc/': Operation not permitted

ただし、-fを使用する場合 または--silent または--quiet オプションの場合、エラーは表示されません。

[tom@node051 ~]$ chown -f tom /etc/
[tom@node051 ~]$

ルートを保持する方法

Chmodコマンドにはオプション--preserve-rootがあります chmodが/に再帰的に作用するのを防ぐため 。このオプションは、-Rとともに使用する必要があります 有効にするオプション。

[root@node051 ~]# chown -c --preserve-root tom /
changed ownership of '/' from root to tom

/の権限のみ 変更され、/内のファイルとディレクトリの所有権が変更されます 同じままです。

[root@node051 ~]# ls -ld /
drwxr-xr-x 23 tom root 4096 Feb 19 14:36 /
[root@node051 ~]# ls -l
total 88
drwxr-xr-x   2 root root  4096 Feb 19 14:33 bin
drwxr-xr-x   3 root root  4096 Feb 19 14:36 boot
drwxr-xr-x  16 root root  3660 Mar 28 11:09 dev
drwxr-xr-x  90 root root  4096 Apr  4 02:28 etc
drwxr-xr-x   2 root root  4096 Feb 19 14:35 home
lrwxrwxrwx   1 root root    33 Feb 19 14:35 initrd.img -> boot/initrd.img-4.15.0-88-generic
lrwxrwxrwx   1 root root    33 Feb 19 14:29 initrd.img.old -> boot/initrd.img-4.15.0-76-generic
drwxr-xr-x  22 root root  4096 Feb 19 14:37 lib
drwxr-xr-x   2 root root  4096 Feb 19 14:28 lib64
drwx------   2 root root 16384 Feb 19 14:27 lost+found

結論

このチュートリアルでは、Linuxでファイルとディレクトリの所有権を変更する方法を学びました。読んでいただきありがとうございます。コメントをお知らせください。


Linux
  1. Linuxのchmodとchown–Linuxでファイルのパーミッションと所有権を変更する方法

  2. Linuxでchownコマンドを使用して所有権を変更する方法

  3. Linux での chown コマンドの例

  1. Chownコマンド:Linuxでファイルの所有者を変更する

  2. Linuxでchownコマンドを使用してファイル/グループ所有者を変更する方法

  3. Linuxwcコマンド

  1. Linuxテールコマンド

  2. Linuxタッチコマンド

  3. LinuxでのCatコマンド