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
文字の1つで構成することもできます。ugo
この場合、モードは、所有者(u
)、file
グループのメンバー()、g
または前のカテゴリのいずれにも属さないユーザーの許可()に現在許可されている許可に対応しますo
。
さまざまなビットのchmod
説明:
- アクセス制御(も参照
setfacl
)
rwx
—読み取り(r)、書き込み(w)、および実行/クロス(x)許可。
- 読み取り(r)は、ファイルを読み取ることができるか、またはディレクトリをリストできるかどうかに影響します。
- 書き込み(w)は、ファイルへの書き込みが可能かどうか、またはディレクトリの編集(ファイルの追加、削除、名前の変更)が可能かどうかに影響します。
- 実行(x)は、ファイルを実行できるかどうか、スクリプトの使用(を参照
#!
)、およびその他の実行可能ファイルに影響します。
- クロス(x)は、ディレクトリを横断できるかどうかに影響します。
s
およびt
—スティッキビット(t)、およびディレクトリのsetgid(s)
- スティッキービットはディレクトリにのみ影響します。ファイル所有者とルート以外のユーザーがディレクトリ内のファイルを削除できないようにします。
- ディレクトリのsetgidビットは、新しいファイルとディレクトリのグループを同じグループに設定し、新しいディレクトリのsetgidビットを設定します(setfaclのデフォルトも参照)。
s
—実行可能ファイルのsetuid、setgid。
- 何をしているのかわからない場合、これはセキュリティに悪影響を及ぼす可能性があります。
- 実行可能ファイルが実行されているときに、これらのビットのいずれかが設定されている場合、実行可能ファイルの有効なユーザー/グループはファイルの有効なユーザー/グループになります。したがって、プログラムはそのユーザーとして実行されます。
setcap
これを行うためのより現代的な方法を参照してください。
使用法:
chattr <operator><attribute> files...
operator
文字の一つである+-=
:* +
既存のものであることが選択した属性を追加してattributes
のfiles
* -
選択し削除しattributes
* =
ファイルが指定していた属性の現在のセットを上書きしますattributes
。
attribute
acdeijstuADST
属性に対応する文字の組み合わせです:
a
追加のみ
c
圧縮された
d
ダンプなし
e
エクステント形式
i
不変
j
データジャーナリング
s
安全な削除
t
テールマージなし
u
削除できない
A
ノーatime
アップデート
D
同期ディレクトリ更新
S
同期更新
T
ディレクトリ階層のトップ
使用法(属性を設定):
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
文字の1つugmo
(または以下に示すより長い形式):
u
、でusers
識別される名前付きユーザーの許可、省略時のparam
デフォルトはファイル所有者uid
g
、group
によって識別される名前付きグループの許可、省略された場合のparam
デフォルトは所有グループuid
m
、mask
実効権利マスク
o
、other
他の人の許可
perms
rwxX
許可に対応する文字の組み合わせです。
r
読んだ
w
書く
x
実行する
X
ファイルがディレクトリであるか、すでにユーザーの実行権限を持っている場合にのみ実行
または、許可のセットを示すperms
8進数(0
- 7
)にすることもできます。
使用法:
setcap <capability-clause> file
capability-clause
コンマ区切りのリストで構成されて機能オペレータフラグペアのリストが続く名前。
利用可能な演算子は=
、+
および-
です。使用可能なフラグはe
、i
およびです。p
これらは、Effective、Inheritable、およびPermittedの機能セットに対応しています。
=
オペレータは、指定された機能セットを高め、他の人をリセットします。=
オペレーターと一緒にフラグが指定されていない場合、すべての機能セットがリセットされます。+
そして-
、オペレータは、それぞれ一つ以上の指定された機能セットを上げたり下げます。
使用法:
chcon [-u <user>] [-r <role>] [-t <type>] files...
ユーザは等SELinuxのユーザであるuser_u
、system_u
またはroot
。
ロールはSELinuxロールです(常にobject_r
ファイル用)
typeはSELinuxサブジェクトタイプです
使用法:
chsmack -a <value> file
value
SMACK64
拡張ファイル属性に設定されるSMACKラベルです
richaclは、より高度なACLを追加する機能です。
現在進行中の作業なので、それらについてはあまり説明できません。私はそれらを使用していません。
この質問も参照してください。従来の「rwx」およびPOSIX ACLを超える、より高度なファイルシステムACLはありますか?
およびマニュアルページ
chmod