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

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

Unixでは、ずっと前に、 chmodについて学びました。 :Unixでパーミッションを設定する従来の方法(およびsetuid、setgidを使用してプログラムが特権を取得できるようにする方法)。

最近、GNU / Linuxでいくつかの新しいコマンドを発見しました:

  • setfacl 従来のugo:rwxを拡張します ビットとt chmodのビット 。
  • setcap ug:sよりも多くのフィングレイン制御を提供します chmodのビット 。
  • chattr ファイルの他のいくつかのコントロール(少しの組み合わせ)を許可します。

他にありますか?

承認された回答:

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

使用法(8進数モード):

    chmod <octal-mode> files...

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

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

参照 ugoaの文字の組み合わせです 、ファイルへのユーザーのアクセスを指定します 変更されます:

  • u それを所有するユーザー
  • g ファイル内の他のユーザー のグループ
  • o ファイルのグループに属していない他のユーザー
  • a すべてのユーザー

    省略した場合、デフォルトですべてのユーザーに設定されますが、 umaskで許可されている権限のみが適用されます 変更されます。

    オペレーター +-=の文字の1つです :

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

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

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

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

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

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

chown chgrp

chattr :ファイル属性の変更

使用法:

    chattr <operator><attribute> files...

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

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

  • a 追加のみ
  • c 圧縮
  • d ダンプなし
  • e エクステントフォーマット
  • i 不変
  • j データジャーナル
  • s 安全な削除
  • t テールマージなし
  • u 削除不可
  • A atimeはありません 更新
  • D 同期ディレクトリ更新
  • S 同期更新
  • T ディレクトリ階層の最上位
関連:Ssh –「connect/tmp/.X11-unix/X0:No such file or directory」でX11転送の試行が失敗するのはなぜですか?

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

使用法(属性の設定):

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

使用法(削除):

    setfattr -x <name> files...

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

拡張属性の新しい値です

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

使用法:

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

オプション 次のいずれかを含める必要があります:

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

    ターゲット ugmoの文字の1つです (または以下に示す長い形式):

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

  • g group paramで識別される名前付きグループの権限 、デフォルトで所有グループ uid 省略した場合
  • m mask 有効な権利マスク
  • o other 他の人の許可

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

  • r 読む

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

    または、 perms 8進数の場合があります( 7 )権限のセットを示します。

setcap :ファイル機能の変更

使用法:

    setcap <capability-clause> file 

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

使用可能な演算子は=です。 、 + および- 。使用可能なフラグはeです。 、 i およびp 有効に対応します 、継承可能 および許可 機能セット。

= オペレーターは、指定された機能セットを上げ、他の機能セットをリセットします。 =に関連してフラグが指定されていない場合 オペレーターはすべての機能セットがリセットされます。 + および- オペレーターは、指定された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

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

setrichacl:リッチアクセス制御リストを変更します。

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

現在作業中ですので、お話できません。私はそれらを使用していません。


Linux
  1. Linux / etc/fstabファイルの紹介

  2. Linux –異なるLinux / UNIXカーネルは交換可能ですか?

  3. UNIX / Linux :シェルとは?異なるシェルとは何ですか?

  1. Linux で ext4 ファイルシステムのパフォーマンスを向上させるためのマウント オプションは何ですか

  2. Linux のメッセージ キューの短所は何ですか?

  3. Windows の Linux の File コマンドに相当するものは何ですか?

  1. Linux – Linux上のどのファイルシステムが作成時間を保存しますか?

  2. Linux –ファイルパーミッションビットの後のドットはどういう意味ですか?

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