8.5.2 chmodコマンド(ファイルの読み取り専用属性の有効・無効を切り替える)
形式
chmod [-fhR] モード パス名
このコマンドはサンプルスクリプトファイルscript_chmod1を基に作成します。作成手順については「(2) スクリプト形式のUNIX互換コマンドを使うための準備【Windows限定】」を参照してください。
機能
ファイルの読み取り専用属性の有効・無効を切り替えます。
このコマンドは,ファイルの更新を抑止したい場合などに使用します。
引数
- -f
指定を無視します。
- -h
指定を無視します。
- -R
指定を無視します。
- モード
モードをシンボルまたは数値で指定して,読み取り専用属性の有効・無効を切り替えます。指定方法を次に示します。これ以外のモードが指定された場合,標準エラー出力へ「chmod: invalid file mode: モード」を出力し,アクセス許可は変更しません。
指定内容
シンボルでの指定
数値での指定
読み取り専用属性を無効にし,書き込みを可能にする場合
(adshscripttool -fmode -s wコマンドの実行結果がAAAまたはRRRの場合に相当)
+wを指定
u,g,oの書き込み権限のモードビットがすべてONになるよう指定(777,666,333,222,733など)
読み取り専用属性を有効にし,書き込みを禁止にする場合
(adshscripttool -fmode -s wコマンドの実行結果がDDDの場合に相当)
-wを指定
u,g,oの書き込み権限のモードビットがすべてOFFになるよう指定(555,444,111,000,511など)
- パス名
対象とするファイルを指定します。複数指定することもできます。フォルダは指定できません。
終了コード
終了コード |
意味 |
---|---|
0 |
正常終了 |
1以上 |
エラー終了 |
注意事項
ファイルの属性の変更権限がない場合,attribコマンドが標準エラー出力にメッセージ「アクセスは拒否されました - パス名」を出力してattribコマンドがエラーとなり,権限を変更できません。実行ユーザーに属性の変更権限を付与して使用してください。
パス名にフォルダを指定した場合,メッセージ「chmod: cannot access [パス名]: change for the directory is not supported」を出力し,フォルダの読み取り専用属性は変更されないで,終了コード1で終了します。
-
引数パス名にシンボリックリンクを指定した場合,リンク先のファイルが変更の対象となります。シンボリックリンク自身を変更の対象とする場合はOSが提供するコマンドを使用してください。
使用例
ジョブ定義スクリプトの定義例を次に示します。サンプルスクリプトファイルscript_chmod1を基にchmodコマンドが作成されていることを前提とします。
シンボル指定でファイルへの書き込みを禁止します。
chmod -w test.txt
シンボル指定でファイルへの書き込みを許可します。
chmod +w test.txt
数値指定でファイルへの書き込みを禁止します。
chmod 444 test.txt
指定が許可されていないモードを指定します。
chmod -r test.txt
この場合,標準エラー出力には次のように出力されます。
chmod: invalid file mode: -r