Linux ファイルの基本プロパティ


Linux システムは典型的なマルチユーザー システムであり、異なるユーザーが異なる立場にあり、異なる権限を持っています。システムのセキュリティを保護するために、Linux システムでは、異なるユーザーが同じファイル (ディレクトリ ファイルを含む) にアクセスする権限について、異なる規制が設けられています。

Linux では、ll または ls -l コマンドを使用して、次のようなファイルの属性、ファイルが属するユーザーとグループを表示できます:

[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
……

この例では、bin ファイルの最初の属性は「d」で表されます。 Linux の「d」は、ファイルがディレクトリ ファイルであることを意味します。

Linux では、最初の文字は、ファイルがディレクトリ、ファイル、リンク ファイルなどであるかどうかを示します。

  • [ d]の場合はディレクトリです

  • [ -]の場合はファイルです

  • [ l]の場合はリンクファイル

  • [ b ] の場合、デバイスファイルに保存できるインターフェイスデバイス (ランダムアクセスデバイス) を表します。デバイス ファイル内のシリアル ポートを表します。キーボード、マウス (使い捨て読み取りデバイス) などのデバイス。

  • 次の文字は 3 つのグループにグループ化されており、それらはすべて「rwx」の 3 つのパラメーターの組み合わせです。このうち、[ r ]は読み取り可能(read)、[ w ]は書き込み可能(write)、[ x ]は実行可能(execute)を表します。 なお、これら 3 つの権限の位置は変わりません。権限がない場合は、マイナス記号「-」が表示されます。 各ファイルの属性は、左側の最初の部分の 10 文字によって決まります (以下を参照)。

左から右に0〜9の数字で表されます。

ビット 0 はファイルの種類を決定し、数字 1 ~ 3 はファイルの権限を持つ所有者 (ファイルの所有者) を決定します。

4 ~ 6 桁目は、グループ (所有者と同じグループ内のユーザー) がファイルのアクセス許可を持っていることを決定し、7 ~ 9 桁目は、他のユーザーがファイルのアクセス許可を持っていることを決定します。

1039.png

このうち、1桁目、4桁目、7桁目は、「r」文字で表されている場合は読み取り許可を示し、「-」文字で表されている場合は読み取り許可を持っていません。読み取り許可; 2 番目、5 番目、8 番目のビットは、「w」文字で表される場合は書き込み許可を表し、「-」文字で表される場合は書き込み許可がないことを意味します。 3、6、9 桁目は「x」文字で表される場合は実行権限を持ち、「-」文字で表される場合は実行権限を持ちません。

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

[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
……

ファイルには、ファイルの所有権を持つユーザーである特定の所有者が存在します。

同時に、Linux システムでは、ユーザーはグループによって分類され、ユーザーは 1 つ以上のグループに属します。

ファイル所有者以外のユーザーは、ファイル所有者と同じグループ内のユーザーとそれ以外のユーザーに分けることができます。

そのため、Linux システムでは、ファイル所有者、ファイル所有者の同じグループ内のユーザー、およびその他のユーザーに応じて、異なるファイル アクセス権限が規定されています。

上記の例では、bin ファイルはディレクトリ ファイルです。所有者は、読み取り可能、書き込み可能、​​および実行可能権限を持ち、同じグループ内の他のユーザーは、読み取り可能権限と実行可能権限を持ちます。他のユーザーも読み取りおよび実行可能な権限を持っています。

ファイル属性の変更

1. chgrp: ファイルグループを変更します

構文:

chgrp [-R] 属组名文件名

パラメータオプション

  • -R: ファイルグループを再帰的に変更します。つまり、ディレクトリファイルのグループを変更する場合、 -R パラメータを使用すると、ディレクトリ内のすべてのファイルのグループ所有権が変更されます。

2. chown: ファイルの所有者を変更します。同時にファイル グループも変更できます

構文:

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

/root ディレクトリ (~) を入力し、install.log の所有者を bin に変更します。 account:

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r--  1 bin  users 68495 Jun 25 08:53 install.log

install.log の所有者とグループを root に戻します:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

3. chmod: ファイルの 9 つの属性を変更します

Linux ファイル属性を設定するには 2 つの方法があります。1 つは数値で、もう 1 つはシンボル。

Linux ファイルには 9 つの基本的な権限があり、所有者/グループ/その他の 3 つの ID にはそれぞれ独自の読み取り/書き込み/実行権限があります。

まず、上記のデータを確認してください。ファイルのパーミッション文字は「-rwxrwxrwx」です。これら 9 つのパーミッションは 3 つのグループに分かれています。このうち、各権限のスコア比較表は次のようになります。

  • w:2

  • x:1

  • (所有者/グループ/その他の 3 つの権限 (r/w/x) スコア) たとえば、権限が [-rwxrwx---] の場合、スコアは次のようになります。

owner = rwx = 4+2+ 1 = 7

  • group = rwx = 4+2+1 = 7

  • others= --- = 0+0+0 = 0

  • だから、ちょっと待ってください権限の変更を設定しました。このファイルの権限番号は 770 です。権限を変更する chmod コマンドの構文は次のとおりです。

     chmod [-R] xyz 文件或目录
  • オプションとパラメーター:

xyz: これは、先ほど述べた数値タイプの権限属性であり、rwx 属性値を追加したものです。

  • -R: 再帰的かつ継続的な変更を実行します。つまり、サブディレクトリ内のすべてのファイルが変更されます。たとえば、.bashrc ファイルのすべてのアクセス許可を有効にしたい場合、コマンドは次のようになります。

    [root@www ~]# ls -al .bashrc
    -rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
    [root@www ~]# chmod 777 .bashrc
    [root@www ~]# ls -al .bashrc
    -rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc
  • 権限を
  • -rwxr-xr--

    に変更したい場合はどうすればよいですか?この場合、許可スコアは [4+2+1][4+0+1][4+0+0]=754 になります。

  • シンボルの種類でファイルのパーミッションが変わります

パーミッションを変更する方法もあります!前の説明から、基本的に (1) ユーザー (2) グループ (3) その他、という 9 つの権限があることがわかります。 次に、u、g、o を使用して 3 つの ID の権限を表すことができます。

さらに、aはすべて、つまりすべてのアイデンティティを表します!次に、読み取りおよび書き込み権限を r、w、x と書くことができます。つまり、次のメソッドを使用してそれを確認できます:

chmodu
g
o
a
+(追加)
-(削除)
=(設定)
r
w
x
ファイルまたはディレクトリ

私たちならあなたファイルのアクセス許可を -rwxr-xr-- に設定する必要があります。chmod u=rwx,g=rx,o=r ファイル名 を使用して次のように設定できます:

[root@www ~]# ls -al .bashrc
-rwxr-xr-x  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod  a+w  .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

そして、他の変更を加えずにアクセス許可を削除したい場合は、既存の権限についてはどうですか?たとえば、全員の実行権限を削除する場合は、次のようにします:

[root@www ~]# chmod  a-x  .bashrc
[root@www ~]# ls -al .bashrc
-rw-rw-rw-  1 root root 395 Jul  4 11:45 .bashrc