chmod
読み:チェンジモード
外語:chmod: CHange MODe

 UNIXでパーミッション(アクセス権)を変更するためのコマンド、およびUNIX API。コマンドはchmod(1)、APIはchmod(2)と呼び分けられる。
目次

概要

API書式
 APIは次のものが一般的に使われる。
 #include <sys/stat.h>
 int chmod(const char *path, mode_t mode);
 int fchmod(int fildes, mode_t mode);
 パーミッションはmode_t型であり、多くのシステムではunsigned long型からのtypedefである。

コマンド書式
 コマンドは多くの環境で、「/bin/chmod」にある。
 chmod [options] mode file...
 これは引数を解読し、UNIX APIを呼び出す処理を実現させるソフトウェアである。

特徴

表現
 現行のUNIXおよび互換環境では、アクセス権は内部的に16ビットの整数として管理されている。
 APIは、この数値のみを受け取る。コマンドは使いやすいように様々な構成を認めており、最終的には数値を作成してAPIに与えることになる。
 chmodコマンドに対し、アクセス権を数値で与える場合は内部表現に対応した8進数で指定する。
 chmodコマンドに対し、アクセス権をシンボルで与える場合、引数の一般的な書式は次のとおりとなる。
 [ugoa...][[+-=][rwxXstugo...]...][,...]
 数値の使用例としては、たとえばchmod 644 moe のようにすると、ファイルmoeは、"-rw-r--r--" となり、誰でも読めるが、書けるのは所有者だけとなる。
 シンボルでの使用例としては、chmod +x moe のようにすると、ファイルmoeに実行のパーミッションを付けることができる。

ビットの機能
 現在の実装では、下位12ビットが用いられている。以下に示す数値は8進数であり、指定する際はORまたは加算すればよい。

再検索