Linuxシステム上のすべてのファイルとディレクトリは誰かが所有しており、所有者は自分が所有するファイルを変更または削除するための完全な制御権を持っています。所有するユーザーを持つことに加えて 、ファイルには所有するグループがあります 。
ls -l </ strong>を使用して、ファイルの所有権を表示できます。 コマンド:
[pablo@workstation Downloads]$ ls -l
total 2454732
-rw-r--r--. 1 pablo pablo 1934753792 Jul 25 18:49 Fedora-Workstation-Live-x86_64-30-1.2.iso
出力の3番目と4番目の列は、所有するユーザーとグループであり、これらを合わせて所有権と呼ばれます。 。どちらもパブロです 上記のISOファイルの場合。
chmodによって設定された所有権設定 コマンド、読み取り、書き込み、またはアクションの実行を許可されるユーザーを制御します。 chown を使用して所有権(一方または両方)を変更できます コマンド。
多くの場合、所有権を変更する必要があります。ファイルとディレクトリはシステム上で長期間存続できますが、ユーザーは行き来できます。ファイルやディレクトリをシステム内で移動したり、あるシステムから別のシステムに移動したりするときにも、所有権を変更する必要がある場合があります。
ホームディレクトリ内のファイルとディレクトリの所有権は、ユーザーとプライマリグループであり、 user:groupの形式で表されます。 。スーザンがDeltaグループを管理していて、 mynotesというファイルを編集する必要があるとします。 。 chownを使用できます ユーザーをsusanに変更するコマンド そしてグループをデルタに :
$ chown susan:delta mynotes
ls -l
-rw-rw-r--. 1 susan delta 0 Aug 1 12:04 mynotes
Deltaグループがファイルの処理を終えたら、それを私に割り当てることができます:
$ chown alan mynotes
$ ls -l mynotes
-rw-rw-r--. 1 alan delta 0 Aug 1 12:04 mynotes
コロンを追加することで、ユーザーとグループの両方を私に割り当てることができます(: )ユーザーへ:
$ chown alan: mynotes
$ ls -l mynotes
-rw-rw-r--. 1 alan alan 0 Aug 1 12:04 mynotes
グループの前にコロンを付けることで、グループだけを変更できます。現在、ガンマのメンバーです グループはファイルを編集できます:
$ chown :gamma mynotes
$ ls -l
-rw-rw-r--. 1 alan gamma 0 Aug 1 12:04 mynotes
chownのいくつかの追加の引数は、コマンドラインとスクリプトの両方で役立ちます。他の多くのLinuxコマンドと同様に、chownには再帰的な引数があります ( -R )これは、内部のすべてのファイルを操作するためにディレクトリに降りるようにコマンドに指示します。 -Rなし フラグを立てると、フォルダ内のファイルは変更せずに、フォルダの権限のみを変更します。この例では、ディレクトリとそのすべてのコンテンツのアクセス許可を変更することが目的であると想定しています。ここに-vを追加しました (verbose)引数を使用して、chownが何をしているかを報告します:
$ ls -l . conf
.:
drwxrwxr-x 2 alan alan 4096 Aug 5 15:33 conf
conf:
-rw-rw-r-- 1 alan alan 0 Aug 5 15:33 conf.xml
$ chown -vR susan:delta conf
changed ownership of 'conf/conf.xml' from alan:alan to susan:delta
changed ownership of 'conf' from alan:alan to susan:delta
役割によっては、 sudoを使用する必要がある場合があります ファイルの所有権を変更します。
その他のLinuxリソース
- Linuxコマンドのチートシート
- 高度なLinuxコマンドのチートシート
- 無料のオンラインコース:RHELの技術概要
- Linuxネットワーキングのチートシート
- SELinuxチートシート
- Linuxの一般的なコマンドのチートシート
- Linuxコンテナとは何ですか?
- 最新のLinux記事
参照ファイルを使用できます(-reference =RFILE )特定の構成に一致するようにファイルの所有権を変更する場合、または所有権がわからない場合(スクリプトを実行する場合など)。別のファイルのユーザーとグループを複製できます( RFILE 、参照ファイルと呼ばれます)、たとえば、上記で行った変更を元に戻します。ドット(。)を思い出してください )は現在の作業ディレクトリを指します。
$ chown -vR --reference=. conf
変更の報告
ほとんどのコマンドには、出力を制御するための引数があります。最も一般的なのは-v (--冗長 )冗長化を有効にしますが、chownには -cもあります (-変更 )変更が行われたときにのみ報告するようにchownに指示する引数。 Chownは、操作が許可されていない場合など、他のことも報告します。
引数-f (-サイレント 、-静か )は、ほとんどのエラーメッセージを抑制するために使用されます。 -fを使用します および-c 次のセクションで、実際の変更のみが表示されるようにします。
ルートを保持
ルート( / Linuxファイルシステムの)は、非常に敬意を持って扱う必要があります。このレベルでミスを犯した場合、その結果、システムが完全に役に立たなくなる可能性があります。特に、あらゆる種類の変更またはさらに悪い変更を行う再帰コマンドを実行している場合:削除。 chownコマンドには、ルートを保護および保持するために使用できる引数があります。引数は--preserve-root 。この引数をルートで再帰的なchownコマンドとともに使用すると、何も行われず、代わりにメッセージが表示されます。
$ chown -cfR --preserve-root alan /
chown: it is dangerous to operate recursively on '/'
chown: use --no-preserve-root to override this failsafe
-recursive と組み合わせて使用しない場合、このオプションは効果がありません。 。ただし、コマンドがrootユーザーによって実行される場合、 /の権限 それ自体は変更されますが、他のファイルやディレクトリは変更されません。
$ chown -c --preserve-root alan /
chown: changing ownership of '/': Operation not permitted
[root@localhost /]# chown -c --preserve-root alan /
changed ownership of '/' from root to alan
所有権はセキュリティです
ファイルとディレクトリの所有権は優れた情報セキュリティの一部であるため、不要なアクセスを防ぐために、ファイルの所有権を時々確認して維持することが重要です。 chownコマンドは、一連のLinuxセキュリティコマンドで最も一般的で重要なコマンドの1つです。