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

Linux でファイルとディレクトリのアクセス許可/所有権を管理する方法

ファイルの所有権

すべてのファイルは、特定のユーザー (または UID) と特定のグループ (または GID) によって所有されます。 chown コマンドを使用して、ファイルのユーザーまたはユーザーとグループのみを変更できます。以下は、ファイル「file1」の所有者を「user」に、その「user」を users に変更する例です。 ls -l コマンドの使用は単に変更を表示するためのものであり、ファイルの所有権を変更するために必要な手順ではないことに注意してください:

# ls -l
total 8
-rw-r--r--. 1 root root  30 Feb 16 04:47 file1
-rw-r--r--. 1 root root 130 Feb 16 04:47 file2
# chown user:user file1
# ls -l
total 8
-rw-r--r--. 1 user user  30 Feb 16 04:47 file1
-rw-r--r--. 1 root root 130 Feb 16 04:47 file2

chown コマンドの基本的な形式は次のとおりです。

# chown user.group filename

区切り文字ピリオド (.) の代わりにコロン (:) を使用できます。

# chown user:group filename

また、ユーザー名またはグループ名は省略できます。ユーザー名が省略されている場合 (区切り文字が存在する場合)、chown コマンドは chgrp のように動作します。 コマンドを実行し、グループの所有権のみが変更されます。グループ名が省略された場合 (区切り文字が存在する場合、グループは指定されたユーザーのログイン グループに設定されます。グループ名と区切り文字の両方が省略された場合、ユーザー名のみが変更されます。

たとえば、所有者のみを変更するには、次のコマンドを実行できます:

# chown user filename

ファイルのグループのみを変更する代替コマンドは、chgrp コマンドです。例:

# chgrp group filename

chgrp コマンドは通常、ファイルのグループ所有権を変更するために通常のユーザーによって使用されます。通常、chown コマンドは root ユーザーのみが使用します。

デフォルトのグループ所有権

各ユーザーは、多くのグループのメンバーになることができます (複数のグループの下の /etc/group ファイルにリストされています)。 1 つのグループのみがユーザーのプライマリ グループになります (/etc/password のユーザーのエントリに一覧表示されます)。ユーザーがファイルを作成すると、デフォルトでは、ファイルはユーザーのプライマリ グループによって所有されます。ファイルを他のグループのいずれかに所有させたい場合は、chgrp コマンドを使用してグループ メンバーシップを変更する必要があります。

これを実現するためのより便利な方法は、別のグループに一時的にログインして、そのグループを代わりのプライマリ グループにすることです。このように、作成した新しいファイルはすべて目的のグループによって自動的に所有されるため、グループ メンバーシップを手動で変更する必要はありません。以下の例を調べて、newgrp の使用に注意してください コマンド。

$ id
uid=1001(user) gid=1001(user) groups=1001(user),10(wheel)
$ touch file1
$ ls -l file1
-rw-rw-r--. 1 user user 0 Feb 16 14:17 file1
$ newgrp wheel
$ touch file2
$ ls -l file2
-rw-r--r--. 1 user wheel 0 Feb 16 14:22 file2

ファイルとディレクトリのアクセス許可

以下は、ls -l からの出力例です。各行の最初の文字から、foo と bar がディレクトリ (d で示される) であり、meta が通常のファイル (- で示される) であることがわかります。

$ ls -l
drwxr-xr-x 2 user user    6 Jan  7  2015 Desktop
-rw-rw-r-- 1 user user    0 Feb 16 14:17 file1
-rw-r--r-- 1 user wheel   0 Feb 16 14:22 file2

次の 9 文字は、以下に示すように、ユーザー、グループ、その他 (またはその他のすべてのユーザー) に対するファイルのアクセス許可を示しています。明確にするために括弧が追加されています。

-(rw-) (r--) (r--) 1 user wheel   0 Feb 16 14:22 file2

これで、所有者には読み取りと書き込みのアクセス許可 (rw-) が付与され、グループとその他のユーザーには読み取りアクセス許可のみ (r–) が付与されます。 r、w、x などの文字が権限を示すために使用されるため、これは記号表現と呼ばれます。アクセス許可は、数値で表すこともできます。r =4; w =2; x =1

各セクションを追加して、ファイル メタのアクセス許可 (上記の例から) が 664 になるようにします。この数に到達する方法を別の方法で見ると、次のようになります。

-(rw-)  (rw-)  (r--)
-(42-)  (42-)  (4--)
 6       6       4

各セクションに数字を追加すると、664 の権限になります。

ファイル許可の変更

chmod コマンドは、ファイルのパーミッションを変更するために使用されます。アクセス許可を象徴的に追加または削除するために使用できます。たとえば、実行するファイルの所有者に実行権限を追加するには:

$ chmod u+x file_name

または、ファイルを所有するグループに読み取りと書き込みのアクセス許可を追加するには、次のコマンドを実行します:

$ chmod g+rw file_name

アクセス許可を追加する代わりに、chmod のシンボリック構文を使用して、次の例に示すように絶対値を減算または設定することもできます:

$ chmod o-w file_name
$ chmod u=rwx,g=rx,o= file_name

chmod コマンドでは、数値表現を使用してアクセス許可を明示的に設定することもできます。たとえば、ファイルのパーミッションを rwxrwxr– に設定するには、次のコマンドを実行します:

$ chmod 774 file_name


Linux
  1. Linuxのルートでもファイルとディレクトリを削除できないようにする方法

  2. Linuxでユーザーパスワードの有効期限とエージングを管理する方法

  3. Linuxでファイルのパーミッションと所有権を別のファイルにコピーする方法

  1. Linuxファイル機能を管理する方法

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

  3. ファイルパーミッションにおけるユーザーとグループ所有者の優先順位?

  1. Linuxでユーザーをグループに追加する方法

  2. Linuxでユーザーグループを作成および削除する方法

  3. Linuxユーザーグループを管理する