回答:
各ファイルには、3つの異なるカテゴリの権限があります。
権利とは、ファイルを読み取る権利、ファイルに書き込む権利、またはスクリプトまたはプログラムの場合にファイルを実行する権利を意味します。
CLIでは、次のことができます
chown
、例えばchown guillermooo
chgrp
、例えばchgrp root
chmod
たとえば、権限を変更しchmod u+w filename.ext
ます(ファイルの所有者の書き込み許可を追加しますfilename.ext
)これらの各ツールについて詳しく知りたい場合は、ターミナルを開いてman [tool]
、たとえばと入力しman chmod
ます。
chown guillermooo
これはいけませんchown guillermooo filename
か?
警告:ファイルとディレクトリの権限を変更すると、潜在的に有害であり、システムが使用できなくなる可能性があります。間違ったパスでrootとして再帰的に実行すると、Ubuntuを再インストールしなければならないポイントに到達する場合があります。したがって、HOMEディレクトリ以外のパーミッションを変更しないことをお勧めします。可能な限り、rootとしてコマンドを再帰的に実行することは避けてください。
ファイルまたはディレクトリに対して許可または拒否できるタスクが3つある場合、UbuntuはUnixからアクセス許可の概念を継承しています。
(ディレクトリをトラバースするとは、基本的にパス名の一部として使用することを意味します。詳細については、https://unix.stackexchange.com/a/13891またはhttps://unix.stackexchange.com/questions/21251を参照してください。)
さらに、許可を与える相手については3つのケースがあります。
ソートされたこれらの組み合わせを取得するには、各ビットが許可を定義するバイナリシステムを使用します。これは次の表に最もよく示されています。
Permission | Binary | Octal | User | Group | Other |
======================================================
r | 100 | 4 | | | |
w | 010 | 2 | | | |
x | 001 | 1 | | | |
=======================================================
Number
たとえば、たとえば
A)ファイル(=ユーザ)の所有者が有しているのR EAD、W儀式、およびe X ecute許可、
b)は、ファイルのグループ付与のR EADおよびe X ecuteアクセス許可、および
C)を他のすべてしか有していなければならないのR EADアクセス。
その結果、ファイルの許可は次のようになります。
u g o
rwx r-x r--
これを8進数で取得するには、たとえば 以下のためのchmod
コマンドまたはときに我々は、我々は以下のようにテーブルの上に記入する必要があり、エラーメッセージを理解する必要があります。
Permission | Binary | Octal | User | Group | Other |
======================================================
r | 100 | 4 | 4 | 4 | 4 |
w | 010 | 2 | 2 | 0 | 0 |
x | 001 | 1 | 1 | 1 | 0 |
======================================================
Numbers add to 7 5 4
ユーザー(4 + 2 + 1 = 7)、グループ(4 + 0 + 1 = 5)、およびその他(4 + 0 + 0 = 4)を合計するには、各許可番号を追加する必要があります。結果の数値は次のとおりです。
u g o
7 5 4
許可ビットを変更するには、次の2つのオプションがありますchmod
。
chmod u+rwx g+rx o+r filename
またははるかにシンプル
chmod 751 filename
両方のコマンドは同じことをします。
ホームで新しく作成されたファイルのデフォルトの許可は、664(-rw-rw-r--)になります。
ファイルをプログラムとして実行可能にする場合は、この許可を変更する必要があります。
また、この実行可能ファイルが存在するディレクトリのアクセス許可を変更する必要があることに注意してください。ファイルとディレクトリの実行可能ビットの両方が設定されている場合のみ、このファイルをプログラムとして実行できます。
ファイルを自宅にコピーすると、その権限が失われ、独自のデフォルトの権限に置き換えられます(アーカイブオプションなどの高度なオプションを使用してコピーしない限り)。
また、ファイルはマウントポイントから権限を継承する場合があることに注意してください。マウントオプション。これは、Unix許可をサポートしないWindowsフォーマットのドライブをマウントする場合に重要です。
すぐに、これは物語の半分にすぎないことがわかりました。持ち物も整理する必要があります。これを行うには、各ファイルまたはフォルダーに所有者とグループメンバーシップが定義されています。
ファイルを作成するたびに、ファイルの所有者になり、ファイルのグループも私たちになります。ではls -l
、次の出力例から分かるように、私たちはパーミッション、所有権、およびグループを見ることができます:
-rw-rw-r-- 1 takkat takkat 4096 Sep 12 20:25 test
- 変更できるのは、自分のものであるファイルの許可、グループ、または所有権のみです。
ファイルの所有者でない場合、Permission denied
エラーが発生します。すべてのファイルに対してこれを変更できるのはrootのみです。これが、sudo
私たちのものではないファイルの許可を編集するときに使用しなければならない理由です。chown
ユーザーおよびchgrp
グループ用に2つの組み込みコマンドがあります。
ファイルの所有権を誰かから変更するtakkat
には、次のコマンドを発行します。
sudo chown takkat testfile
ファイルのグループを変更しtakkat
て発行する
sudo chgrp takkat testfile
詳細とオプションについては、コマンドのマンページを参照してください。さらに読むために推奨されるこのより精巧なガイドもあります:
また、関連する質問もここにあります。