開発と運用

Linux・シェルツール

シェルとパーミッションに関する疑問は小さいのに、急いでいるとつい間違えます。chmodの値が本当に意図した権限を与えているか、新規ファイルに想定外の権限が付く理由、特殊文字を含む引数がシェルへ解釈されてしまわないか。このページは権限計算、シェル引数のエスケープ、Capability値の展開、POSIXコマンドラインの解析をまとめています。

chmod計算機はrwx記法と8進数のモードを相互変換しsetuidやstickyの特殊ビットも説明し、umask計算は指定したumaskが新規ファイルとディレクトリの既定パーミッションをどう変えるかを並べて示します。シェルエスケープはPOSIX・Bash・PowerShellに合わせて引数を正しく引用します。すべて入力値のみで処理されます。

5個のツール

Linux & Shellツールに関するFAQ

umaskは新規ファイルのパーミッションに実際どう影響しますか。

umaskはプロセスの既定パーミッションから権限ビットを差し引くもので、umask 022は新規に作成されるファイルとディレクトリのグループとその他から書き込み権限を取り除きます。umask計算は指定したumaskによる結果のファイルとディレクトリの権限を並べて比較でき、8進数の引き算で考えるより分かりやすくなります。

スペースや特殊文字を含むファイル名をシェルコマンドに安全に渡すにはどうすればいいですか。

引用のルールはPOSIXシェル・Bash・PowerShellで異なり、間違えるとプログラムに届く前にシェルが引数を分割したり再解釈したりします。シェルエスケープは対象のシェルに合わせて指定した引数を正しくエスケープし、1つの文字どおりの文字列として届くようにします。

chmod 755とchmod 644の違いは何ですか。

755は所有者に読み書き実行を与え、グループとその他は読み取りと実行のみで、ディレクトリや実行可能スクリプトに典型的です。644は所有者に読み書きを、グループとその他には読み取りのみを与え、通常のデータファイルでよく使われます。chmod計算機はどちらも記号表記と8進数を並べて示します。