Linuxの権限周りについて調べたことをつらつらと並べていく。
ユーザー情報のファイル
/etc/passwd
に保存されている。
// ユーザー名:パスワード:ユーザーID:グループID:その他情報:ホームディレクトリ:シェル
root:*:0:0:System Administrator:/var/root:/bin/sh
グループ情報のファイル
`/etc/group'に保存されている。
//グループ名:パスワード:グループID:ユーザーリスト
operator:*:5:root
#と思っていたら
基本は上での方法で確認するのだが、
MacOSだとユーザーやグループについては主に別のファイルを見ているらしい。
(MacOS) ユーザー一覧とユーザー情報の表示
//一覧の表示
% dscl . list /Users
//ユーザー情報の表示
% dscl . read /Users/ユーザー名
(MacOS) グループ一覧とグループの表示
//一覧の表示
% dscl . list /Groups
//ユーザー情報の表示
% dscl . read /Groups/グループ名
現在のユーザーを確認する
現在のユーザーはwhoコマンドを利用して表示することができる。
% who -m //オプションをつけないと現在ログイン中のユーザー全員を表示する
Linuxの権限周り
ユーザーやグループの確認ができたので、いよいよファイルやディレクトリの権限について調べていきます。
現在のディレクトリのファイル、ディレクトリのパーミッション情報を表示する
% ls -l // llでもいいらしいが僕の環境には入ってなかった
total 163976
drwx------@ 5 koichi.ikeda staff 160 5 20 15:04 Applications
-rw-r--r-- 1 koichi.ikeda staff 752 10 30 13:40 derby.log
// 表示構成
// ファイルの種類とパーミッション属性 ハードリンク数 所有者 グループ ファイルサイズ タイムスタンプ ファイル名
* ハードリンク数は紐づいたファイル、ディレクトリ の数のことらしい。
ファイルの種類とパーミッション属性
順番 | 属性 | 詳細 |
---|---|---|
1文字目 | 種別 | 「-」...ファイル,「d」...ディレクトリ,「l」...シンボリックリンク |
2~4文字目 | 所有者の権限 | 「r」...読み取り,「w」...書き込み,「x」...実行 |
5~7文字目 | グループの権限 | 同上 |
8~10文字目 | その他の権限 | 同上 |
パーミッションの変更
パーミッションの変更にはchmodコマンドを利用する。
数値で指定する際は読み取り、書き込み、実行を以下の表に当てはめて数値を足す
文字 | 数値 |
---|---|
r | 4 |
w | 2 |
x | 1 |
ex.読み取り権限と書き込み権限の場合 ... 4 + 2 = 6
文字と数値の権限指定の変換
rw-rw-r-- => 664
rwxr----- => 740
chmodの利用
chmod 権限指定 対象ファイル
// ex chmod 600 test.txt
参考
[Mac OS Xのユーザとグループ]
(https://ksaito11.hatenablog.com/entry/20110508/1304756757)
Linuxの権限確認と変更(chmod)(超初心者向け)