サーバー触ってたら「とりあえず chmod 755 しとけ」って言われたんやけど
755 って何の数字なんや
【初心者】Linuxの「chmod 755」の数字、なんなん?【LPIC】
まず ls -l で見てみ-rwxr-xr-x 1 user staff 120 Jan 5 10:00 script.sh
みたいに出るやろ
>>2
出た
呪文にしか見えん
>>3
分解するで
先頭の1文字は種類。- はふつうのファイル、d はディレクトリ、l はシンボリックリンク
残り9文字を3文字ずつに分けて、所有者・グループ・その他の人の権限やrwx / r-x / r-x
r は読む、w は書く、x は実行、やな
>>5
せや。で、数字はこれを足し算しただけ
r = 4、w = 2、x = 1
rwx = 4+2+1 = 7
r-x = 4+0+1 = 5
だから rwxr-xr-x は 755
>>6
え、それだけ?
>>7
それだけや
よく出るのは 755(実行ファイルやディレクトリ)と 644(rw-r--r--、ふつうのファイル)
600(rw-------)は自分だけが読み書きできる。秘密鍵とかに使う
数字じゃなくて文字でも指定できるよな
>>9chmod u+x file で所有者に実行権を足すchmod go-w file でグループとその他から書き込みを外す
u は所有者、g はグループ、o はその他、a は全員
ディレクトリの r と x の違いがいまだに分からん
>>11
ディレクトリは意味が変わる
r は中のファイル名の一覧を見られる
x は中に入れる(cd できる、中のファイルにたどり着ける)
w は中にファイルを作ったり消したりできる(x もないと実際は使えん)
ファイルを消せるかどうかって、そのファイルの w で決まるんやないの?
>>13
ちゃう。そこが引っかけポイント
消せるかどうかは、ファイルが入ってる「ディレクトリ」の w と x で決まる(スティッキービット付きの /tmp などは例外)
ファイル自体が読み取り専用でも、ディレクトリに書き込めれば消せる
新しく作ったファイルが最初から 644 になるのはなんでや
>>15
umask のせい
ファイルは 666、ディレクトリは 777 を出発点にして、umask のビットを落とす
umask が 022 なら、ファイルは 644、ディレクトリは 755
新規ファイルに最初から x が付かんのも、出発点が 666 やからか
>>17
そういうこと
たまに rwsr-xr-x みたいに s が混ざってるやつあるよな
>>19
特殊なビットや。さわりだけ言うと
SUID(4000)は、実行した人やなくてファイルの所有者の権限で動く。/usr/bin/passwd が有名
スティッキービット(1000)は /tmp に付いてて、他人のファイルは消せんようになる。表示は最後が t
755 が足し算って分かっただけで、だいぶ怖くなくなったわ
>>21
LPICでも、数字と記号の変換とディレクトリの権限は定番や
まずはそこを固めとけ
管理人のひとこと
- パーミッションは、所有者・グループ・その他の3組に、読む(r=4)・書く(w=2)・実行(x=1)の足し算で表す。755 は rwxr-xr-x。
- ディレクトリでは、r は一覧、x は中に入る、w はファイルの作成と削除の権限になる。
- ファイルを消せるかどうかは、ファイルではなく入っているディレクトリの権限で決まる。
- 新しく作るファイルの権限は、666(ディレクトリは777)から、umask で指定したビットを落としたもの。