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

gnu/linuxでファイルパーミッションなどを設定するさまざまな方法は何ですか?

chmod :ファイル モード ビットを変更します

使用法 (8 進モード):

    chmod <octal-mode> files...

使用法 (シンボリック モード):

    chmod <references><operator><modes> files..

references 文字 ugoa の組み合わせです files へのどのユーザーのアクセス権を指定します 変更されます:

  • u 所有者
  • g file の他のユーザー さんのグループ
  • o ファイルのグループに属していない他のユーザー
  • a すべてのユーザー

    省略した場合、デフォルトですべてのユーザーに設定されますが、umask によって許可された権限のみが対象になります。

    operator 文字 +-= の 1 つです。 :

    • + 指定されたファイル モード ビットを各 file の既存のファイル モード ビットに追加します
    • - 指定されたファイル モード ビットを各 file の既存のファイル モード ビットから削除します
    • = setuid を除いて、指定されたビットを追加し、未指定のビットを削除します と setgid 明示的に指定されていない限り、ディレクトリに設定されるビット

    mode 文字 rwxXst の組み合わせで構成されています 、変更する許可ビットを指定します:

    • r 読む
    • w 書く
    • x 実行 (またはディレクトリを検索)
    • X ファイルがディレクトリであるか、一部のユーザーに対して既に実行ビットが設定されている場合にのみ実行/検索
    • s setuid または setgid (指定された references による) )
    • t 制限付き削除フラグまたはスティッキー ビット

    または、mode 文字 ugo のいずれかで構成できます この場合、モードは所有者に現在付与されている権限に対応します (u )、file のメンバー のグループ (g ) または上記のカテゴリのいずれにも属さないユーザーの権限 (o ).

chmod のさまざまなビット 説明:

  • アクセス制御 (setfacl も参照) )
    • rwx — 読み取り (r)、書き込み (w)、および実行/クロス (x) 権限。
      • 読み取り (r) は、ファイルを読み取ることができるかどうか、またはディレクトリを一覧表示できるかどうかに影響します。
      • 書き込み (w) は、ファイルに書き込みできるかどうか、またはディレクトリを編集できるかどうか (ファイルの追加、削除、名前変更) に影響します。
      • 実行 (x) は、ファイルを実行できるかどうかに影響します。スクリプトに使用します (#! を参照)。 )、およびその他の実行可能ファイル。
      • クロス (x) は、ディレクトリをトラバースできるかどうかに影響します。
    • st — スティッキー ビット (t)、およびディレクトリの setgid (s)
      • スティッキー ビットはディレクトリにのみ影響します。ファイルの所有者とルート以外がディレクトリ内のファイルを削除できないようにします。
      • ディレクトリの setgid ビットにより、新しいファイルとディレクトリのグループが同じグループに設定され、新しいディレクトリの setgid ビットが設定されます (setfacl のデフォルトも参照)。
    • s — 実行可能ファイルの setuid、setgid。
      • 何をしているのかわからないと、セキュリティに悪影響を与える可能性があります。
      • 実行可能ファイルの実行時に、これらのビットのいずれかが設定されている場合、実行可能ファイルの有効なユーザー/グループはファイルのものになります。したがって、プログラムはそのユーザーとして実行されます。 setcap を参照 これを行うためのより現代的な方法について。

chown chgrp :

chattr :ファイル属性を変更

使い方:

    chattr <operator><attribute> files...

operator 文字 +-= の 1 つです。 :* + 選択した属性を既存の attributes に追加します files の * - 選択した attributes を削除します * = ファイルが持つ現在の属性セットを、指定された attributes で上書きします .

attribute 文字 acdeijstuADST の組み合わせです 、属性に対応します:

  • a 追加のみ
  • c 圧縮
  • d ダンプなし
  • e 範囲形式
  • i 不変
  • j データジャーナリング
  • s 安全な削除
  • t テールマージなし
  • u 削除不可
  • A いいえ atime 更新
  • D 同期ディレクトリ更新
  • S 同期更新
  • T ディレクトリ階層の最上位

setfattr :拡張ファイル属性を変更します

使用法 (設定属性):

    setfattr -n <name> -v <value> files...

使用法 (削除):

    setfattr -x <name> files...

name 設定または削除する拡張属性の名前です

value 拡張属性の新しい値です

setfacl :ファイルのアクセス制御リストを変更

使い方:

    setfacl <option> [default:][<target>:][<param>][:<perms>] files...

option 次のいずれかを含める必要があります:

  • --set 以前の ACL を置き換えて、ファイルまたはディレクトリの ACL を設定します
  • -m |--modify ファイルまたはディレクトリの ACL を変更する
  • -x |--remove ファイルまたはディレクトリの ACL エントリを削除

    target 文字 ugmo の 1 つです。 (または以下に示す長い形式):

  • uusers param で識別される指定ユーザーの許可 、デフォルトはファイル所有者 uid 省略した場合

  • ggroup param で識別される名前付きグループの許可 、デフォルトで所有グループ uid 省略した場合
  • mmask 実効権利マスク
  • oother 他人の許可

    perms 文字 rwxX の組み合わせです 、権限に対応します:

  • r 読む

  • w 書く
  • x 実行
  • X ファイルがディレクトリであるか、すでに一部のユーザーの実行権限を持っている場合にのみ実行

    または、perms 8 進数 (0 -7 ) 権限のセットを示します。

setcap :ファイル機能の変更

使い方:

    setcap <capability-clause> file 

capability-clause 演算子とフラグのペアのリストが続く機能名のコンマ区切りリストで構成されます。

利用可能な演算子は = です 、 +- .利用可能なフラグは e です 、 ip Effective に対応する 、継承可能 および許可 機能セット。

= operator は、指定された機能セットを上げ、その他をリセットします。 = と組み合わせてフラグが指定されていない場合 オペレーターはすべての機能セットをリセットします。 +- オペレーターは、指定された 1 つ以上の機能セットをそれぞれ上げたり下げたりします。

chcon :ファイルの SELinux セキュリティ コンテキストを変更します

使い方:

    chcon [-u <user>] [-r <role>] [-t <type>] files...

ユーザー user_u などの SELinux ユーザーです。 、 system_u または root .

役割 SELinux ロールです (常に object_r ファイル用)

タイプ は SELinux サブジェクト タイプです

chsmack :SMACK 拡張属性を変更

使い方:

    chsmack -a <value> file

value SMACK64 に設定する SMACK ラベルです。 拡張ファイル属性

setrichacl:リッチ アクセス コントロール リストを変更します。

richacls は、より高度な ACL を追加する機能です。

現在進行中の作業なので、それらについて多くを語ることはできません。使用していません。

この質問も参照してください 従来の「rwx」および POSIX ACL を超える高度なファイルシステム ACL はありますか? および man ページ


Linux
  1. Linuxターミナルでファイルをコピーする

  2. Linuxターミナルでファイルを移動する

  3. Linuxターミナルを使用して、コンピューターにあるファイルを確認します

  1. Linuxでmoveコマンドを使用する5つの方法

  2. ファイルがアクセス許可を失う原因は何ですか?

  3. 7zip、Xz、Gzip、Tarなど—違いは何ですか?

  1. Linuxのシェルの種類は何ですか?

  2. Linux のスパース ファイルとは

  3. Linuxでの.bashrcファイルの目的は何ですか