gabuLog

趣味と考え事をつらつらと

パーミッション

概要

ファイルやディレクトリのアクセス制御を行う。

グループ

ユーザは、必ず一つ以上のグループに所属しなければならない。

グループには1次グループ2次グループがあり、ユーザは必ず1次グループに所属しなければならない。2次グループは任意。

1次グループはログインした直後に割り当てられているグループ。

id

ユーザとグループには識別するためにユーザID(uid)とグループID(gid)が割当らてる。

groupsコマンド

groups [ユーザ名]

groupsコマンドの実行例

groupsコマンドの実行例

idコマンド

id [オプション] [ユーザ名]

idコマンドの実行例

idコマンドの実行例

パーミッション

「誰に」、「どの操作」を許可するのかを設定すること。

パーミッションを調べるにはls -lコマンドで確認できる。

パーミッションの表示例

パーミッションの表示例

パミッションなどの項目説明図

パミッションなどの項目説明図
ファイルの種類
種類 説明
- 通常ファイル
d ディレクト
l シンボリックリンク

 

パーミッションはアクセス権限でそのファイルやディレクトリに対して、操作権限を管理している。

アクセス権限の種類
アクセス権 説明
r 読み込み可能
w 書き込み可能
x 実行可能
- 権限なし

chmodコマンド

chmod [オプション] [モード] [ファイル名]

既存のファイルやディレクトリに設定されているパーミッションをchmodコマンドで変更できる。

モードにはシンボリックモードとオクタルモードの2種類がある。

シンボリックモード

文字や記号を用いてパーミッションを変更する。

chmod ユーザ名① 操作② パーミッション③ ファイル名

u 所有者
g グループ
o その他
a 全てのユーザ
+ 権限の追加
- 権限の削除
= 権限をそれのみの設定
r 読み取り
w 書き込み
x 実行

chmodコマンドの実行例

chmodコマンドのシンボリックモード実行例

オクタルモード

8進数の数値を組み合わせて権限の変更する。

オクタルモードで使用する数値
数値 パーミッション
4 書き込み
2 読み込み
1 実行
0 権限なし

書き込みと読み込みを同時に2つ権限を付与したい場合は4+2で6を指定すると、2つの権限が付与される。

chmodコマンドのオクタルモード実行例

chmodコマンドのオクタルモード実行例

umask値

ファイルやディレクトリを新規作成した時にデフォルトでパーミッションに設定される。

それを決定しているのはシェルに設定されたumask値。

割り当てたくないパーミッションを指定している。

umaskコマンド

umask [値]


現在設定されているumask値を確認したり、変更したりする。

umaskコマンドの実行例

umaskコマンドの実行例

chownコマンド

chown [オプション] [ユーザ名[.グループ名]] [ファイル名|ディレクトリ]

指定されたファイルやディレクトリの所有者を変更できる。

ルートユーザのみがこのコマンドを使用できる。

chownコマンドの実行例

chownコマンドの実行例

chgrpコマンド

chgrp [オプション] [グループ名] [ファイル名|ディレクトリ]

グループのみの変更を行う。

chgrpコマンドの実行例

chgrpコマンドの実行例

sudoコマンド

root [オプション] [ユーザ名] [コマンド]

管理者権限を持たないユーザが管理者権限が必要な特定のコマンドを実行するために一時的に管理者権限を付与する。(※管理者であるが一部は制限される。)

sudoコマンドは/etc/sudoersを参照してユーザがコマンドの実行権限を持っているかどうかを判定する。特定のコマンドを特定にユーザに使用許可・拒否させたい場合も/etc/sudoersを編集する。

 

まとめ

操作させても良いユーザやグループを正しく把握・設定する必要が有ります。