ファイルのオーナーとパーミッション
ファイルのオーナー=新しくファイルを作成するとそのファイルのオーナーになる
ls -l の結果の見方
code:ls -l
$ls -l /bin/cat
-rwxr-xr-x. 1 root root 54160 Oct 30 2018 /bin/cat
root=ファイルの所有者 root=ファイルが所属するグループ
catコマンドは、rootユーザーがオーナーでrootグループに属している ということになる
グループとは、ユーザーをまとめた集まりのこと
ユーザーは同時にいくつかのグループに所属できる
ユーザーは最低一つのグループに所属する必要がある
自分のグループはgroupsコマンドで確認できる
パーミッションの見方
-rwxr-xr-x. 1文字目(-)=ファイルタイプ、2文字目以降(rwxr-xr-x.)=ファイルモード、つまりパーミッション
ファイルタイプ - 通常ファイル d ディレクトリ l シンボリックリンク
ファイルモード 3文字区切り オーナー グループ その他のユーザーの権限を表す
r 読み取り w 書き込み x 実行
ファイルタイプがdの場合のファイルモードの読み方
r 読み取り=ディレクトリに含まれるファイル一覧の取得
w 書き込み=ディレクトリの下にあるファイル・ディレクトリの作成・削除
x 実行=ディレクトリをカレントディレクトリにする
ディレクトリのパーミッションでwが設定されていると、ファイルのパーミッションでwが許可されていなくても削除されてしまうので注意!!!
一切他のユーザーが見れなくするようにするには、ディレクトリのパーミッションをrwx------とする
パーミッションの変更=chmodコマンド
シンボルモード chmod [ugoa][+-=][rwx] 例:$ chmod u+w file.txt
ugoa:誰に u オーナー g グループ o その他のユーザー a ugo全て
+-= :どうする + 権限追加 - 権限を禁止 = 指定した権限と等しくする
シンボルモードはパーミッションの一部だけを変更したい時に便利
数値モード chmod [8進数の数字] [ファイル名] 例:$ chmod 755 file.txt
読み取り=4 書き込み=2 実行=1 で足算した結果で権限を表す
755 = rwxr-xr-x 他のユーザーに見られてもいい実行ファイル
644 = rw-r--r-- オーナーは読み書き可能、その他は読み込みのみ
スーパーユーザー(=rootユーザー)
suコマンドを使って一時的にスーパーユーザーに切り替えてコマンドを実行できる
vagrant 環境だったらsuのPWはvagrantだった(メモ)
su - とするとスーパーユーザーの環境に初期化されてユーザーが切り替わる
exitで抜けるのを忘れないように(権限が強すぎる)
sudoコマンドは1つのコマンドだけスーパーユーザーで実行するためのコマンド