Linuxファイルの基本属性の知識ポイントのまとめ

Linuxファイルの基本属性の知識ポイントのまとめ

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

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

[root@www /]# ls -l
合計 64
dr-xr-xr-x 2 ルート ルート 4096 2012年12月14日 bin
dr-xr-xr-x 4 ルート ルート 4096 2012年4月19日 ブート
…

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

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

  • [d]の場合はディレクトリ
  • [-]の場合はファイルです。
  • [l]の場合はリンクファイルを意味します。
  • [b]の場合は、ストレージに使用できるデバイスファイル内のインターフェースデバイス(ランダムアクセスデバイス)を意味します。
  • [c] の場合は、キーボードやマウスなどのデバイス ファイル内のシリアル ポート デバイス (1 回限りの読み取りデバイス) を示します。
  • 次の文字は 3 つのグループにまとめられており、すべて「rwx」の 3 つのパラメータの組み合わせです。このうち、[r]は読み取り可能(read)、[w]は書き込み可能(write)、[x]は実行可能(execute)を表します。 これら 3 つの権限の位置は変更されないことに注意してください。権限がない場合は、代わりにマイナス記号 [-] が表示されます。

各ファイルのプロパティは、左側の最初の部分の 10 文字によって決まります (以下を参照)。

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

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

ビット 4 ~ 6 は、グループ (所有者と同じグループ内のユーザー) がファイルに対して持つ権限を決定し、ビット 7 ~ 9 は、他のユーザーがファイルに対して持つ権限を決定します。

このうち、1 番目、4 番目、7 番目のビットは読み取り権限を表します。これらが「r」文字で表されている場合は、読み取り権限が付与されます。これらが「-」文字で表されている場合は、読み取り権限が拒否されます。

2 番目、5 番目、および 8 番目のビットは書き込み権限を表します。これらが "w" 文字で表されている場合は、書き込み権限があります。これらが "-" 文字で表されている場合は、書き込み権限がありません。3 番目、6 番目、および 9 番目のビットは実行権限を表します。これらが "x" 文字で表されている場合は、実行権限があります。これらが "-" 文字で表されている場合は、実行権限がありません。

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

[root@www /]# ls -l
合計 64
drwxr-xr-x 2 ルート ルート 4096 2月15日 14:46 cron
drwxr-xr-x 3 mysql mysql 4096 2014年4月21日 mysql
…

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

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

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

そのため、Linux システムでは、ファイル所有者、ファイル所有者と同じグループのユーザー、その他のユーザーに応じて異なるファイル アクセス権限を定義します。

上記の例では、mysql ファイルはディレクトリ ファイルです。その所有者とグループは両方とも mysql です。所有者には読み取り、書き込み、および実行権限があります。所有者と同じグループの他のユーザーには読み取りおよび実行権限があります。他のユーザーにも読み取りおよび実行権限があります。

ルート ユーザーの場合、ファイル権限は通常は影響しません。

ファイル属性の変更

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

文法:

chgrp [-R] グループ名 ファイル名

パラメータオプション

-R: ファイル グループを再帰的に変更します。つまり、ディレクトリ内のファイルのグループを変更するときに、-R パラメータを追加すると、ディレクトリ内のすべてのファイルのグループが変更されます。

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

文法:

chown [–R] 所有者名 ファイル名
chown [-R] 所有者名:グループ名 ファイル名

/root ディレクトリ (~) に入り、install.log の所有者を bin アカウントに変更します。

[root@www ~] cd ~
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r-- 1 bin ユーザー 68495 6月25日 08:53 install.log

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

[root@www ~]# chown root:root インストール.log
[root@www ~]# ls -l
-rw-r--r-- 1 ルート ルート 68495 6月25日 08:53 install.log

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

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

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

先ほど述べたデータを見てみましょう。ファイルの権限文字は「-rwxrwxrwx」であり、これら 9 つの権限は 3 つずつのグループになっています。このうち、各権限は数字で表すことができ、各権限のスコア比較表は次のようになります。

r:4
w:2
x:1

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

所有者 = rwx = 4+2+1 = 7
グループ = rwx = 4+2+1 = 7
その他= --- = 0+0+0 = 0

したがって、後で権限の変更を設定すると、ファイルの権限番号は 770 になります。権限を変更する chmod コマンドの構文は次のとおりです。

chmod [-R] xyz ファイルまたはディレクトリ

オプションとパラメータ:

xyz: これは先ほど述べた数値の権限属性であり、rwx 属性値の合計です。

-R: 再帰的な変更を実行します。つまり、サブディレクトリ内のすべてのファイルが変更されます。

たとえば、.bashrc ファイルのすべての権限を有効にする場合、コマンドは次のようになります。

[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 ルート ルート 395 7月 4日 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 ルート ルート 395 7月 4日 11:45 .bashrc

権限を -rwxr-xr-- に変更したい場合はどうすればよいでしょうか?すると権威スコアは[4+2+1][4+0+1][4+0+0]=754になります。

ファイルの権限を変更する別の方法があります。前回の紹介から、基本的に 9 つの権限があることがわかります。

(1)ユーザー
(2)グループ
(3)その他

次に、u、g、o を使用して 3 つの ID の権限を表すことができます。

さらに、a は all を表し、すべての ID を意味します。読み取り権限と書き込み権限は r、w、x として記述でき、次の表を使用して表示できます。

ファイルの権限を -rwxr-xr-- に設定する必要がある場合は、chmod u=rwx,g=rx,o=r filename を使用して設定できます。

# touch test1 // test1 ファイルを作成# ls -al test1 // test1 のデフォルトの権限を表示 -rw-r--r-- 1 root root 0 Nov 15 10:32 test1
# chmod u=rwx,g=rx,o=r test1 // test1 の権限を変更します # ls -al test1
-rwxr-xr-- 1 ルート ルート 0 11月15日 10:32 test1

他の既存の権限を変更せずに権限を削除したい場合はどうすればよいでしょうか?たとえば、すべてのユーザーの実行権限を削除するには、次のようにします。

# chmod ax test1
# ls -al テスト1
-rw-r--r-- 1 ルート ルート 0 11月15日 10:32 test1

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Linux または Android でファイル システムを追加する属性インターフェイスを解析する方法
  • PythonはLinuxのファイル(フォルダ)の権限を変更します
  • Linux シェル - 識別によってファイル システム属性をテストする方法の例
  • Linux の crw、brw、lrw などのファイル属性は何ですか?
  • Linux でファイル属性を表示する詳細な例 (ls、lsattr、file、stat)
  • Linux rwxrwxrwt フォルダ属性についての簡単な説明

<<:  JSはアニメーションのレイアウト変換を実装します

>>:  MySQL は制限を使用してページング例メソッドを実装します

推薦する

MySQL 1130例外、リモートログインできない解決策

目次質問: 1. リモートログイン権限を有効にする: 2. MySQLの権限を更新します。 3. テ...

Mac MySQL のルートパスワードをリセットするチュートリアル

免責事項:このパスワード リセット方法は、Homebrew によってインストールされた MySQL ...

XHTML チュートリアル: Transitional と Strict の違い

実際、XHTML 1.0 は、Transitional DOCTYPE と Strict DOCTY...

MySQL で置換操作を使用したときにデータ損失が発生する問題の解決策

序文同社の開発者は、データの更新時に replace into ステートメントを使用していました。不...

CSSは固定比率のブロックレベルコンテナを簡単に実装できる

H5 レイアウトを設計する場合、通常はバナーに遭遇することになります。例えば、2:1 で表示したい場...

nginx で http でアクセスする Web サイトを https に変更する方法

目次1. 背景2. 前提条件https:証明書システム: 3. 操作プロセス3.1 証明書の生成3....

CSS の Flex レイアウトを使用してシンプルな縦棒グラフを作成する方法

以下は、Flex レイアウトを使用した棒グラフです。 HTML: <div class=&qu...

mysql8.0.19 の基本データ型の詳細な説明

MySQL 基本データ型一般的な MySQL データ型の概要 ![1036857-201708011...

RGBカラーテーブルコレクション

RGBカラーテーブル色英語名RGB 16色雪255 250 250 #FFFAFAゴーストホワイト2...

WIN10 での JDK インストールと環境変数の設定手順 (詳細版)

目次1. JDKをダウンロードする(例としてjdk1.8.0を使用する) 2. JDK をインストー...

Vue3 の動的コンポーネントはどのように機能しますか?

目次1. コンポーネントの登録1.1 グローバル登録1.2 グローバルコンポーネントの登録プロセス1...

CentOS7 で yum ソースをインストールし、コマンド rz と sz をアップロードおよびダウンロードする方法 (画像付き)

** CentOS7 で yum ソースをインストールし、rz および sz コマンドをアップロー...

Linuxでバージョン情報を表示する方法

Linux でバージョン情報を表示する方法。ビット数、バージョン情報、CPU コア情報、CPU 固有...

impress.js プレゼンテーション層フレームワーク (デモツール) - 初めての体験

半年もブログを書いていなかったので、少し恥ずかしいです... 正月休みは、Dota をプレイしたり ...

JS がビデオ弾幕効果を実現

これを実現するには、ES6 モジュール開発とオブザーバー モードを使用します。オブザーバー パターン...