chmodコマンド 【change mode】

概要

chmodコマンド(change mode)とは、LinuxなどのUNIX系OSで標準的に用いられるコマンドの一つで、ファイルやディレクトリのアクセス権(パーミッション)を変更するためのもの。

基本的な書式は「chmod オプション パーミッション指定 対象のパス」で、パスで指定した対象(ファイルやディレクトリ)について、パーミッション文字列に基づいて特定のユーザーやグループの権限をセットする。

パーミッション指定は「u」(所有者)「g」(所有者と同じグループ)「o」(全ユーザー)の各クラスに対し、「r」(読み込み)「w」(書き込み)「x」(実行)などの権限の種類と、「+」(権限を付与)「-」(権限を削除)「=」(指定した権限に設定)という動作の指定を組み合わせた文字列を与える。例えば「chmod o+rwx example.txt」とすれば、ファイル「example.txt」へ全ユーザーが読み込み、書き込み、実行できる権限を追加する。

権限の指定は3桁あるいは4桁の8進数の値で行うこともできる。3桁の場合、左の数字が所有者、中央の数字が所有者と同じグループ、右の数字が全ユーザーの権限を意味する。それぞれの桁について、「4」が読み込み許可、「2」が書き込み許可、「1」が実行・ディレクトリ一覧許可を表し、これらを足し合わせた値で権限を指定する。例えば、「7」は 4+2+1 ですべての権限を許可された状態、「0」は何の権限もない状態を表す。

4桁の場合、先頭に一桁が追加され、特殊なアクセス権限の指定が行われる。「4」がsetuidビットをオン、「2」がsetgidビットをオン、「1」stickyビットをオンをそれぞれ意味しており、これらを足し合わせて権限の指定を行う。

(2022.8.22更新)

主なOSコマンド