chmod 777とは何ですか?これを読んだ後、あなたは完全に理解するでしょう!

0X00まえがき

おそらくLinux初心者にとって、非常に不可解なことの1つは
、ファイルxxxにアクセスするときに常に権限の問題が発生することですが、オンラインで確認すると、大物は直接言います
。chmod777xxxは
完了です!
当時の気分はこんな感じだと思います。
ここに画像の説明を挿入
私は魔法のよう
で、許可が下りたらひょうたん絵のchmod777をフォローします。これもいいことです。
しかし、キャセロールを壊すプログラマーとして、彼はどうやってchmod 777を知ることができますか?
もちろん、chmodに関しては、最初にLinuxのユーザー管理を明確にする必要があります

0X01Linuxユーザーおよびグループ

1.ユーザー

Linuxにはスーパーユーザーrootがあり、これはLinuxシステム全体を完全に制御します。rootがそれを実行したい限り、それを実行できないrootはありません。
したがって、セキュリティやその他の考慮事項のために、Linux設計者は通常のユーザーを設計しました。たとえば、Linuxをインストールしたばかりの場合、ユーザーは通常のユーザーとして作成されます(jと呼ばれる場合)。もちろん、adduserコマンドを使用できます。新しいユーザーを追加するには(もちろん、スーパー権限が必要です):

sudo adduser rjs

現時点では、Linuxにはroot、j、rjzの3人のユーザーがいます。そのうち、rootはスーパーユーザー、jとrjsは通常のユーザーです。

2.グループ

多くのユーザーがいる今、グループ概念があります。あなたはより多くの人々を知っているので、あなたは自然にグループ化されます。ある人は家族、ある人は友達、ある人はクラスメートなどです。家族、友人、クラスメートはグループです:
ここに画像の説明を挿入
ユーザーとグループの概念で、権限について話すことができます

0X01Linuxファイルのパーミッション

1.許可の説明

ユーザーがいるため、ユーザーが作成したファイル(jなど)は通常、他のユーザー(rjsなど)によって改ざんされることはありません。つまり、もちろん他のユーザーに(w)書き込むことはできません(r )大丈夫です、それほどけちではありませんか?23333
したがって、Linuxの同じファイルの場合、異なるユーザーは異なるアクセス許可を持ちます。アクセス許可は次のとおりです。読み取り(r)、書き込み(w)、実行(x)
ここに画像の説明を挿入
使用できますファイルのアクセス許可を表示するためのls-lコマンド:

ls	-l

次の情報
ここに画像の説明を挿入
が表示されます。このディレクトリにフォルダがあることがわかります:Tencent Files、ドキュメント:wget-log、
各ファイル(フォルダ)の前に次の説明があります:
drwxr-xr-x
-rwx ---- ---

これはユーザーに対するファイルの権限です!
これは何を意味するのでしょうか?そして見下ろす

2.ファイルのアクセス許可

上記の説明には合計10桁の数字があり、最初の数字はファイルの属性を示します
。d:フォルダで
あることを示します。l:リンクであることを示します。-:
通常のファイルであることを示します。
注:これは最初であり、次は同じではありません

以下は、今日の私たちの主人公、つまり権威の説明です。
一連の読み取り(r)、書き込み(w)、および実行(x)で構成されていることがわかりますが、なぜこれほど多くのr、w、およびxが連続して繰り返されているのでしょうか。
これは、アクセス許可がユーザーごとに分割されているためです
ここに画像の説明を挿入
つまり、2桁目から、3桁ごとにファイル所有者、グループユーザー、およびその他のユーザーのアクセス許可が表されます。
例:
drwxr-xr-x
はフォルダーTencentFilesを表します。所有者jの場合、読み取り可能、書き込み可能、​​実行可能(rwx)であり、同じグループ内のユーザーの場合、書き込み可能、​​読み取り不可能、実行可能(rx)であり、他のユーザー(rx)の書き込み可能、​​読み取り不可能、実行可能(rx)でもあります。 )
これで、今日の主人公-chmodついにデビューします!

0X10 chmodコマンド:ファイルアクセス許可を変更します

chmodは、ファイルのアクセス許可とアクセス許可を変更するために使用されます。そうです、上記の権限です!
777とは何ですか?
心配しないで、見下ろしてください

1.番号を使用して権限を割り当てます:chmodの絶対的な使用法

実際、Linuxシステムは、各権限(r、w、およびx)に対応する番号を割り当てます。

権限 デジタル
r 4
w 2
バツ 1

したがって、これらの権限をマージする場合は、単純な追加を行う必要があります対応する番号を追加します

読み取りと書き込みのアクセス許可を割り当てる場合は、4 + 2を使用する必要があります。これは6に相当します。数字の6は、読み取りと書き込みのアクセス許可があること意味します。

可能な組み合わせは次のとおりです。

権限 デジタル 計算
0 0 + 0 + 0
r– 4 4 + 0 + 0
-w- 2 0 + 2 + 0
-バツ 1 0 + 0 + 1
rw- 6 4 + 2 + 0
-wx 3 0 + 2 + 1
処方箋 5 4 + 0 + 1
rwx 7 4 + 2 + 1

したがって、アクセス許可の3つのグループ(所有者のアクセス許可、グループユーザーのアクセス許可、およびその他のユーザーのアクセス許可)については、それらを個別に追加してから、3つの合計を接続するだけで済みます。

たとえば、640は次のことを意味します。

  • ファイルの所有者には読み取りおよび書き込み権限があります。
  • ファイルが配置されているグループ内の他のユーザーには、読み取り権限があります。
  • 他のユーザーには権限がありません。

したがって、付与できる最も広い権限は777です。所有者、グループユーザー、およびその他のユーザーには、読み取り、書き込み、および実行の権限があります。このようにして、誰もがこのファイルを使って「やりたいことを何でもする」ことができます。

逆に、権限が000の場合、このファイルでは誰も何もできません。もちろん、rootはroot以外のことは何でもできます。
今見ると突然の悟りの感覚があります:
ここに画像の説明を挿入
しかし私がこれを見た今、見下ろし続ける方が良いです

2.文字を使用して権限を割り当てます:chmodの相対的な使用法

文字を使用して権限を割り当てることもできます。原則は似ていますが、3つの権限セットすべてを書き出す必要はありません。柔軟性が高い場合もあります。
まず、さまざまな文字の意味を見てみましょう

  • u:userの略で、所有者を意味します。

  • g:groupの略語。これは、グループユーザーを意味します。

  • o:otherの略語。これは、他のユーザーを意味します。

  • a:allの略語で、すべてのユーザーを意味します。

    これらの文字に一致するいくつかの記号があります。

  • +:プラス記号は、許可を追加することを意味します。

  • -:権限の削除を示すマイナス記号。

  • =:等号。これは配布権限を意味します。

例えば

#文件 file.txt 的所有者增加读和运行的权限。
chmod u+rx file.txt

#文件 file.txt 的群组其他用户增加读的权限。
chmod g+r file.txt 

#文件 file.txt 的其他用户移除读的权限。
chmod o-r file.txt 

#文件 file.txt 的群组其他用户增加读的权限,其他用户移除读的权限。
chmod g+r o-r file.txt 

#文件 file.txt 的群组其他用户和其他用户均移除读的权限。
chmod go-r file.txt 

#文件 file.txt 的所有用户增加运行的权限。
chmod +x file.txt 

#文件 file.txt 的所有者分配读,写和执行的权限;
#群组其他用户分配读的权限,不能写或执行;
#其他用户没有任何权限。
chmod u=rwx,g=r,o=- file.txt

あとがき

この時点で、chmodの意味は誰もが十分に理解していると思います〜読んでから見つけていただければ幸いです。<^^>
ps:今日は授業で話したことがありますが、残念です!だから、学生たち、クラスに耳を傾けてください!

———————————————————————————————————————————————
参照:Linuxコマンドラインおよびシェルスクリプトプログラミング百科事典/ 15グループ管理およびファイル権限管理

おすすめ

転載: blog.csdn.net/rjszz1314/article/details/104399333