パーミッションとは
ファイルやディレクトリを「誰がどのように操作できるか」を定めた権限のこと
ファイルのオーナーとグループ
ファイルには全てのオーナー(所有者)とグループ(所有グループ)が設定されており、権限管理されている
- 詳細
-
前提:
Liunxではユーザーごとにアカウントを発行する -
オーナー:
ファイルの所有者 -
グループ:
ファイルの所有グループ - ユーザーをグループに所属させ、グループに権限を与えることで複数ユーザーの権限を一括管理することができる
# 具体例
$ ls -l /bin/less
# 出力結果
-rwxr-xr-x 1 root root 158240 11月 18 2021 /bin/less
出力結果の概要
-
-: ファイルタイプ -
rwx: オーナーのパーミッション -
r-x: グループのパーミッション -
r-x: その他ユーザーのパーミッション -
1: ハードリンク数 -
root: オーナー名 -
root: グループ名 -
158240: バイトサイズ -
11月 18 2021: タイムスタンプ -
/bin/less: ファイル名
パーミッションの記号
| 記号 | 内容 |
|---|---|
| r | read(読み込み) |
| w | write(書き込み) |
| x | execute(実行) |
rwxr-xr-xの場合の権限
| 対象 | 読み込み | 書き込み | 実行 |
|---|---|---|---|
| オーナー | ○ | ○ | ○ |
| グループに属するユーザー | ○ | × | ○ |
| その他ユーザー | ○ | × | ○ |
chmod
ファイルやディレクトリのパーミッションを設定するコマンド
記号での指定(相対指定)
| 記号 | 内容 | 記号 | 内容 |
|---|---|---|---|
| u | 所有者の権限 | + | 権限の追加 |
| g | グループの権限 | - | 権限の削除 |
| o | その他ユーザーの権限 | = | 記述した権限にする |
| a | 全ユーザーの権限 |
# 構文
$ chmod [ugoa] [+-=] [rwx] <ファイル名> # [ ]内は、どれか一文字を指定
# 所有者に対して読み取り権限を追加する場合
$ chmod u+r <ファイル名>
数値での指定(絶対指定)
記号を数値に置き換えて指定することも可能
| パーミッション | 数値 | オーナー | グループ | その他 |
|---|---|---|---|---|
| r(読み取り) | 4 | rwx | r-x | r-x |
| w(書き込み) | 2 | 4 + 2 + 1 | 4 + 1 | 4 + 1 |
| x(実行) | 1 | 7 | 5 | 5 |
# 構文
$ chmod <8進数の数値> <ファイル名>
# オーナー以外書き込みができないよう指定する場合
$ chmod 755 <ファイル名>
sudo(スドゥー)
管理者権限を持つ特別なユーザーとしてコマンドを実行できるコマンド 語源 : switch user and do
- 背景
- システムの根幹に関わる作業が誰にもできると危険
- そのため、システムの根幹に関わる作業は**スーパーユーザー(root)**だけができるようにする
# 構文
$ sudo <コマンド>
# / の直下にstorageディレクトリを作成する場合(ルートディレクトリ直下の作成は、通常はエラーになる)
$ sudo mkdir/storage
yum
パッケージのインストールするときに使用するコマンド
パッケージのインストールは、管理者権限がないと実行できない
# 構文
$ yum install <パッケージ名>
# パッケージ(git)をインストールする場合
$ sudo yum install git
# パッケージ(git)をアンインストールする場合
$ sudo yum remove git
参考教材