Linuxファイルの読み書き実行権限、および対応する数値表現

3218 ワード

権限及び対応するデジタル表示法


まずlsコマンドの出力を見てください.
jenkins@sHan:~/jenkins$ ll
total 75800
drwxrwxr-x 2 jenkins jenkins     4096 Jun 26 14:58 ./
drwxr-xr-x 8 jenkins jenkins     4096 Jun 26 14:58 ../
-rw-rw-r-- 1 jenkins jenkins        6 Jun 26 14:58 jenkins_pid
-rwxrwxr-- 1 jenkins jenkins      125 Jun 26 14:55 restart.sh*

上図に示すように、先頭の-rw-rw-r-という文字列はファイル権限を識別します.
この文字列は10桁あり、4段に分けて解読できます.注意:r読み取り可能、w書き込み可能、x実行可能.第1セグメント(第1ビット)はディレクトリかファイルかを表し、-はファイルを表し、dはディレクトリを表す.2番目のセグメント(2~4桁、3文字列)は、ファイルが属するユーザーの権限を表します.第3セグメント(第5-7ビット、合計3文字列)は、ファイルが属するユーザグループのユーザの権限を表す.第4セグメント(第8〜10ビット、合計3文字列)は、他のユーザの権限を表す.
注意:私たちは3ビット8進数でファイルの権限を表して、rは4で識別して、wは2で識別して、xは1で識別します

chmodコマンド付与


コンセプト


文字設定法

chmod [who] [+ | - | =] [mode]    

コマンドの各オプションの意味は次のとおりです.
操作対象whoは、uは「ユーザ(user)」、すなわちファイルまたはディレクトリの所有者を表す.gは「グループユーザ」、すなわちファイル所有者と同じグループIDを持つすべてのユーザを表す.oは「その他(others)ユーザー」を表す.aは「すべての(all)ユーザ」を表す.システムのデフォルトです.
操作記号は、+権限を追加できます.-権限を取り消します.=指定された権限を付与し、他のすべての権限を取り消します(存在する場合).
modeが表す権限を設定するには、r読み取り可能なアルファベットの任意の組み合わせを使用します.w書ける.xは実行可能です.Xは、ターゲットファイルが一部のユーザに対して実行可能であるか、またはそのターゲットファイルがディレクトリである場合にのみx属性を追加する.sファイル実行時にプロセスの所有者またはグループIDをそのファイルのファイル所有者とする.方式「u+s」設定ファイルのユーザIDビット、「g+s」設定グループIDビット.tプログラムのテキストを交換装置に保存する.uファイル所有者と同様の権限を持つ.gは、ファイルが所有者と同じグループに属するユーザと同じ権限を有する.o他のユーザと同様の権限を持つ.
≪ファイル名|File Name|ldap≫:権限を変更するファイルのリストをスペースで区切り、ワイルドカードをサポートします.1つのコマンドラインには、カンマで区切られた複数の権限が与えられます.たとえば、chmod g+r,o+r exampleは、同じグループおよび他のユーザーにファイルexampleの読み取り権限を付与します.

ディジタルセットほう


まず、0は権限がないことを示し、1は実行可能権限を示し、2は書き込み可能権限を示し、4は読み取り可能権限を示し、それを加算する属性の意味を理解する必要があります.したがって、数値属性のフォーマットは、0から7までの3つの8進数であり、その順序は(u)(g)(o)であるべきである.
たとえば、あるファイルの所有者に「読み取り/書き込み」の2つの権限を持たせるには、4(読み取り可能)+2(書き込み可能)=6(読み取り/書き込み)が必要です.
デジタル設定法の一般的な形式は以下の通りである.
chmod [mode]    

二つの方法の違い


テキスト設定法では、既存の権限に影響を及ぼさずに単独で権限を追加できますが、既存の権限を変更するのは面倒です.デジタル設定法では単独で権限を追加することはできませんが、既存の権限を変更するのは非常に便利で、入力文字量は文字設定法より明らかに少ないです.

使用例

  • 現在のユーザおよびユーザグループにファイルexample.shの実行権限を追加する:
  • .
    #      
    chmod ug+x example.sh
    #            
    
  • 現在のユーザおよびユーザグループ設定ファイルexample.shへの読み書き実行の3つの権限:
  • #      
    chmod ug=rwx example.sh
    #      
    chmod 774 example.sh
    

    一般的には、数字が多いので、chmod ug+x fileが変な感じがしますが、chmod 774 fileが見ていて気持ちがいいです.