本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 1 : ユーザーコマンド (A~M) > c

chmod(1)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

chmod ― ファイルモード アクセスパーミッションの変更

構文

/usr/bin/chmod [-A] [-R] symbolic_mode_list file ...

旧形式:

/usr/bin/chmod [-A] [-R] numeric_mode file ...

説明

chmod は、 symbolic_mode_list または numeric_mode の値に従って、 files のパーミッションを変更します。 ls -l コマンド ( ls(1) 参照) を使用して、 ファイルに対する現在のパーミッションを表示することができます。

シンボリック モードリスト

symbolic_mode_list は、次の形式の動作リストをそれぞれカンマで区切ったものです。 スペースでは区切らないでください。

  • [who]op[permission ][,...]

その解釈は以下の通りです (以下の 「例」 を参照)。

who 

以下のうちのいずれか、または複数の項目の組み合わせです。

u 

ユーザー (所有者) のパーミッションを変更します。

g 

グループのパーミッションを変更します。

o 

その他のユーザーのパーミッションを変更します。

a 

すべてのユーザーのパーミッションを変更します (a は、 ugo と等価です)。

op 

指定は必須で、以下のいずれかを取ります。

+ 

who の既存のファイル モードビットに permission を追加します。

- 

who の 既存のファイル モードビットから permission を削除します。

= 

who の既存モードビットを permission に置き換えます。

permission 

以下の英字の任意の組み合わせです。

r 

who に対して読み取りパーミッションを追加または削除します。

w 

who に対して書き込みパーミッションを追加または削除します。

x 

who に対して実行ファイル (検索ディレクトリ) パーミッションを追加または削除します。

s 

who に対してファイル実行時の所有者 ID 設定パーミッション、またはファイル実行時のグループ ID 設定パーミッションを追加または削除します。 u または gwho に 暗黙的または明示的に存在する場合のみ有効です。

t 

ファイル実行時のテキストイメージ保存 (スティッキービット) パーミッションを追加または削除します。 uwho に暗黙的または明示的に存在する場合のみ有効です。 chmod(2) を参照してください。

X 

以下のように、条件付きで実行または検索パーミッションを追加または削除します。

  • file がディレクトリの場合、 who に対する既存ファイルモードの検索パーミッションを追加または 削除します ( x と同じです)。

  • file がディレクトリではない場合で、 現在のファイルパーミッションに、 1 つ以上のユーザー、グループ、その他のユーザーに対する 実行パーミッション (ls -l により x または s が表示されます) があれば、 who に対する実行ファイルパーミッションを 追加または削除します。

  • file がディレクトリでない場合で、 現在のファイルモードに実行パーミッション が設定されていない場合は、 実行パーミッションは変更されません。

または、次のいずれか 1 つ。

u 

現在のユーザーパーミッションを who にコピーします。

g 

現在のグループパーミッションを who にコピーします。

o 

現在のその他のパーミッションを who にコピーします。

操作は、指定された順序で実行されます。 同じコマンド行の中で実行の優先順位を変更することができます。

who を省略すると、 現在のファイルモード作成マスクで 変更が認められている限り ( umask(1) 参照)、全ユーザーに対して r, w, x, および X のパーミッションが変更されます。 s および t のパーミッションは、 whoa が指定されている場合と同じように 変更されます。

permission は、 = と併用して、すべてのパーミッションを削除する場合に限り、 省略できます。

数値モード (旧形式)

絶対パーミッションは、以下のモードビットの論理和で構成した 8 進数 numeric_mode を指定して設定することができます。

各種モードビット:

4000  (= u=s)  ファイル実行時にユーザーIDをセット (ファイルのみ)
2000  (= g=s)  ファイル実行時にグループIDをセット
1000  (= u=t)  スティッキービットをセット。chmod(2)を参照

パーミッション モードビット:

0400  (= u=r)  所有者による読み取り
0200  (= u=w)  所有者による書き込み
0100  (= u=x)  所有者による実行 (ディレクトリの検索)
0040  (= g=r)  グループによる読み取り
0020  (= g=w)  グループによる書き込み
0010  (= g=x)  グループによる実行/検索
0004  (= o=r)  その他による読み取り
0002  (= o=w)  その他による書き込み
0001  (= o=x)  その他による実行/検索

オプション

-A 

ファイルに関連するオプションのアクセス制御リスト (ACL) エントリーを 保存します。 デフォルトでは、 IEEE 標準 POSIX 1003.1-1988 の仕様に基づいて、オプションの ACL エントリーが削除されます。 アクセス制御リストについては、 acl(5) を参照してください。

-R 

ファイル モードビットを再帰的に変更します。 chmod は、ディレクトリを指定している引き数 file ごとに、指定のディレクトリと階層的にそのディレクトリの下にある全ファイル、 サブディレクトリに関するファイル モードビットを変更します。

ファイルのモードを変更できるのは、 その所有者 (または適切な特権を有するユーザー) だけに限られます。

また、通常ファイルのスティッキービットをセット (以前にセットされている場合は保存) できるのは、 適切な特権を有するユーザーだけです。

グループ ID 設定ビットをセットするには、 ファイルのグループが現在のグループ ID に一致していなければなりません。

シンボリックリンクに対して chmod を使用すると、そのリンクで参照するファイルのモードが変更されます。

多言語化対応

環境変数

LC_MESSAGES は、メッセージの表示に使われる言語を指定します。

LC_MESSAGES が指定されていないかヌルの場合、 LANG の値がデフォルトです。 LANG が指定されていないかヌルの場合、 C がデフォルトです ( lang(5) を参照)。

国際化変数のどれかが無効な設定を含んでいれば、 C は全ての国際化変数のデフォルトになります。 environ(5) を参照してください。

サポートされるコードセット

シングルバイトおよびマルチバイトの文字コードセットがサポートされます。

戻り値

処理を終了すると、 chmod は以下の値のいずれかを戻します。

 0 

正常終了

>0 

エラー状態の発生

その他のユーザーに対する書き込みパーミッションを拒否する場合:

chmod o-w file

すべてのユーザーに対してファイルを実行可能にする場合:

chmod a+x file

すべての人に読み取りおよび実行パーミッションを与え、 ユーザー ID 設定ビットをセットする場合:

chmod a=rx,u+s file

ファイルの所有者に読み取りおよび書き込みパーミッションを与え、 その他のすべての人に読み取りパーミッションを与える場合:

chmod u=rw,go=r file

または旧形式:

chmod 644 file

ディレクトリサブツリーをたどって、 すべての通常ファイルをユーザーまたはグループのみに読み取り可能にし、 すべての実行可能ファイルおよびディレクトリを すべてのユーザーに対して実行可能 (検索可能) にする場合:

chmod -R ug+r,o-r,a+X pathname

umask の現在値が 020 の場合 (umask -S により u=rwx,g=rx,o=rwx と表示され、グループに対する書き込みパーミッションは 変更されない) で、ファイル mytest に対する現在のパーミッションが 444 (a=r) であれば ( ls -l により -r--r--r-- と表示される)、

chmod +w mytest 

コマンドにより、パーミッションが 646 (uo=rw,g=r) に設定 ( ls -l により -rw-r--rw- と表示) されます。

umask の現在値が 020 の場合 (umask -S により u=rwx,g=rx,o=rwx と表示され、グループに対する書き込みパーミッションは 変更されない) で、ファイル mytest に対する現在のパーミッションが 666 (a=rw) であれば ( ls -l により -rw-rw-rw- と表示される)、

chmod -w mytest 

コマンドにより、パーミッションが 464 (uo=r,g=rw) に設定 ( ls -l により -r--rw-r-- と表示) されます。

制約

-A オプションを使用すると、 ACL がサポートされていないファイルシステムでは chmod が異常終了します。

著者

chmod は、AT&T および HP によって開発されました。

参照

chacl(1), ls(1), umask(1), chmod(2), acl(5)

標準準拠

chmod: SVID2, SVID3, XPG2, XPG3, XPG4, POSIX.2

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.