Linux で「chmod 755 script.sh」を実行した場合、設定されるパーミッションとして正しいのはどれですか?
解説
chmod の数値指定は3桁の8進数で、左から順に所有者(owner)・グループ(group)・その他(others)のパーミッションを表します。各桁は読み取り(r=4)・書き込み(w=2)・実行(x=1)の合計値です。755 の場合、7=4+2+1 で所有者に rwx、5=4+0+1 でグループに r-x、5=4+0+1 でその他にも r-x が設定されます。選択肢Aはグループが「読み取り・書き込み」で 6(rw-)に相当するため不正解です。選択肢Cは所有者とグループの権限が逆転しています。選択肢Dはその他が「実行のみ」で 1(--x)に相当し、5 ではありません。数値はなぜ8進数なのかパーミッションは内部的に r・w・x の3ビットで管理されています。3ビットで表現できる値は 0〜7 の8通りなので、8進数と自然に対応します。ls -l で表示される rwxr-xr-x という文字列を2進数に置き換えると理解しやすくなります。rwx r-x r-x 111 101 101 (2進数) 7 5 5 (8進数)この対応関係を覚えておくと、数値を見た瞬間にどの権限が付いているか判断できます。よく使う組み合わせとして、4=読み取りのみ、5=読み取り+実行、6=読み取り+書き込み、7=全権限の4つを押さえておけば実務ではほぼ困りません。755 と 644 の使い分け実務で最も頻出するパーミッションは 755 と 644 の2つです。755(rwxr-xr-x): シェルスクリプトや実行ファイル、ディレクトリに使う。ディレクトリの場合、x 権限がないとそのディレクトリに cd できないため、読み取りを許可するなら x も必要です644(rw-r--r--): HTML・CSS・設定ファイルなど実行不要な通常ファイルに使う。所有者だけが編集でき、他のユーザーは読み取りのみchmod 777 を避けるべき理由トラブル時につい chmod 777 で全権限を開放しがちですが、これは誰でも書き込み・実行が可能になるため、悪意あるスクリプトの設置や設定ファイルの改ざんリスクが生まれます。Web サーバーの公開ディレクトリに 777 を設定すると、外部からファイルをアップロード・実行される攻撃経路になり得ます。パーミッションの問題を解決するときは、まず ls -la で現状を確認し、必要最小限の権限だけを付与するのが鉄則です。