ACLは何である
ACLは、アクセス制御リスト(ACL)、ファイル/ディレクトリのアクセス制御リストの略です。それUGOパーミッション(所有者、グループで、など)に基づいて、ファイルシステム管理のための追加の、より柔軟な権利管理機構を提供します。これは、サプリメントUNIXファイルのパーミッション管理として設計されました。ACLは、一連のアクセスにユーザーの任意のユーザーまたはグループに任意のファイル/ディレクトリをことができます。
使用何ACL
、それはサプリメントUGO権管理であるため、例えば、能力を持っていることは不可能または非常に困難ACL自然UGO:
あなたは、特定のユーザーのアクセス許可を設定することができ
、特定のユーザーグループの権限を設定することができ
、親ディレクトリのアクセス権を継承サブファイル/ディレクトリ
ディレクトリやファイルを他の人に設定されている場合、主なものは、私たちの特権です---しかし、彼らは内部の内容を表示するようユーザに要求し、ファイルまたはディレクトリまたはユーザーグループでないユーザーの所有者が持っています彼はに属し
、他のユーザー、他のユーザーのファイルへの権利を持っていない、我々はACLを設定するために使用することができ、この時間。
まず、LinuxがACLサポートしているかどうかをチェック
ACLは、Linuxカーネルとファイルシステムで作業する必要がある、我々が見ることができる最新のLinuxディストリビューションは、デフォルトでサポートされています。しかし、最初にチェックすることが最善です。
-l sudoのは/ dev / sda1をのtune2fs | grepの「デフォルトマウントオプション:」
デフォルトのマウントオプション:user_xattrのACL
我々は(デフォルトマウントオプションをデフォルトで見ることができます:) ACLサポートが加わりました。
第二に、ACLを設定する方法を
、私たちはは、setfaclとgetfaclのを使用するか、ファイル/ディレクトリのアクセス権を設定するACLのコマンドを表示することができます。
使用法:
setfacl [パラメータ]ファイル/ディレクトリ名
パラメータ
-m:ACLの設定パラメータを使用するファイル/ディレクトリに戻って、-xと組み合わせることはできません。
-x:ACLの削除フォローアップのパラメータは、-mと組み合わせることはできません。
-b:すべてのACLの設定パラメータを削除し、
-k:シフト他のパラメータは、ACLをデフォルト;
-R&LT:再帰的に配置されたACL;
-d:設定「ACLのデフォルトパラメータ」、新しいディレクトリがデータにこのデフォルト値を参照されているディレクトリでのみ有効。
setfacl -mu:ユーザー名:アクセス権は、ファイル名を指定して設定したユーザの権限ACLに
は、setfacl -mg:ACLアクセス権を設定するユーザーグループにグループ名を:許可は、ファイル名を指定します
ファイル/ディレクトリを表示するには、ACLの権限
使用法:
getfaclのファイル/ディレクトリ名
第三には、いくつかの例を通じてACLパーミッションの基本的な使い方を示しましょう。
セットの権限へのユーザーのために
1、ユーザーは次のようにII権限があるファイルのPI1を作成することを前提としてい
-------------------------------------- ---------
[CentOS7ホーム@ルート]#LL II
-rw-R&LT ----- 14 1 PI1 PI1。他のユーザに7つの日付16の13時55 II#無権限
CentOS7ホーム@ [ルート]#
-----------------------------------------------
PI2を追加するユーザーのための2、読み取りおよび書き込み権限、他のユーザーに属するPI2ファイルII
--------------------------------- --------------
[PI1 @ CentOS7ホーム] $は、setfacl -mu:PI2:は、setfaclコマンドにより、権限を追加することができRW II #rootまたはファイルの所有者
-------- ---------------------------------------
図3は、再びII権限を表示します
-------------------------------------------- ---
[ルートCentOS7ホーム@]#LL II
-rw-RX --- + 1 PI1 PI1 14 7越16あなたは+よりも多く見ることができます夜01時55分II#権限セクション
#[CentOS7ホーム@ルート]
- ---------------------------------------------
4、ACLファイルパーミッションIIを参照してください
------------------------------------------ -----
[ルート@ CentOS7ホーム] getfaclのII#の
#ファイル:II#説明file
#所有者:PI1の#iiファイルがある
#グループを:グループは、PI1 #iiファイルの所有している
ユーザー:: rw-#ユーザリストをフィールドが空の場合、ファイルを表すことは許可あり
PI2:ユーザーRXへのアクセス許可のためのrw-#のPI2を、所有者の異なる
グループ:: r--の#rのファイルの所有者のグループのためにのみ設定された権限
のマスク:: rw-#このファイルは、デフォルト実効権(マスク)である
他:: ---#他の人が持っている権利
[CentOS7ホーム@ルート]#
------------------------------------------- ----
5、PI2ファイルを他のユーザーIIに属する、PI2を追加するユーザグループの権限を読み取りおよび書き込み
-------------------------------- ---------------
[CentOS7ホーム@ルート]#-mgは、setfacl:PI2:RW II
-------------------- ---------------------------
6、ACLファイルパーミッションIIを参照してください
------------------------------------------ -----
[CentOS7ホーム@ルート] getfaclのII#の
#ファイル:II
#所有者:PI1
#グループ:PI1
ユーザー:: rw-
ユーザ:PI2:rw-
グループ:: r--の
グループ:PI2:rw-#よりPI2権利のグループよりも
マスク:: rw-
他:: ---
[CentOS7ホーム@ルート]#
------------------------------------------- ----
第四に、最大実効権マスク
当社は、ユーザーまたはユーザーのグループにACL権限があなたに平均この何、権利、権限と権限が「位相」の後に使用可能な実ユーザー権限をマスク私たちに本当に利用できない設定と、それはときPI1ですユーザーセットの権限はRWX、実際に受け取ったIP1のユーザー権限でのみ、通常、デフォルトのマスクACLの権限は、あなたが同じ追加の権限があり、rはので許可r--のマスクがあるので、あなたは、ユーザーのアクセス権を設定したものそれはどのような権利を持っています。
例:アクセス権を変更するにはマスク
--------------------------------------------- -
#R IIマスクセットの権限のみR:は、setfacl -mm#[CentOS7ホーム@ルート]
[CentOS7ホーム@ルート] getfaclのII#の
#ファイル:II
#所有者:PI1
#グループ:PI1
ユーザー:: rw-
ユーザー:PI2 :rw- #effective:r--の#rに有効な許可促さ
グループ:: r--の
グループ:PI2:rw- #effective:r--の
マスク:: r--の
他:: ---
--- --------------------------------------------
第五に、再帰的にACL権限
再帰的にファイルのセット-Rオプションを追加することにより、ACLの権限は、すべてのサブディレクトリとサブフォルダは同じACL権限を持つことになります。
setfacl -mu:ユーザー名:アクセス権-Rファイル名
第六に、デフォルトACLのパーミッション
親ディレクトリがデフォルトACLのパーミッションに設定されている場合、すべての新しいサブフォルダの親ディレクトリは、親ディレクトリからACLアクセス権を継承します。
setfaclは-MD:U:ユーザー名:ファイル名へのアクセスを
七つの削除ACL権限
1、指定したユーザーのACL権限を削除
setfacl -xu:ユーザー名、ファイル名
図2に示すように、指定されたユーザグループのACL権限を削除
setfacl -Xg:グループ名filename
ファイルを削除する3、すべてのACLの許可
setfacl -bファイル名