Available in

(1) (2) (3) (1)/cs (1)/de (2)/de (1)/es (2)/es (1)/fi (1)/fr (2)/fr (1)/hu (1)/it (1)/ja (2)/ja (1)/ko (2)/ko (1)/nl (2)/nl (1)/pl (2)/pl (1)/pt (1)/ru (2)/ru (1)/tr (1)/zh_cn (1)/zh_tw

Contents

名 前

chmod − フ ァ イ ル の ア ク セ ス 権 を 変 更 す る

書 式

chmod [options] mode file...

POSIX オ プ シ ョ ン : [−R]

GNU オ プ シ ョ ン (簡 略 形 式 ): [−cfvR] [−−reference=file] [−−help] [−−version] [−−]

説 明

chmod コ マ ン ド は 指 定 し た そ れ ぞ れ の file の ア ク セ ス 権 を mode に よ り 変 更 す る 。 変 更 方 法 を シ ン ボ ル で 表 現 す る か 、 も し く は 変 更 後 の ア ク セ ス 権 を 表 す ビ ッ ト パ タ ー ン を 8 進 数 で 表 現 し た も の の い ず れ か を 使 う こ と が で き る 。 シ ン ボ ル モ ー ド で ア ク セ ス 権 を 変 更 す る 場 合 の 引 数 の 書 式 は
‘[ugoa...][[+-=][rwxXstugo...]...][,...]’ で あ る 。 シ ン ボ ル モ ー ド で 引 数 に ア ク セ ス 権 の 変 更 を 複 数 指 定 す る 場 合 に は コ ン マ で 区 切 る 。 シ ン ボ ル モ ー ド で ア ク セ ス 権 を 変 更 す る そ れ ぞ れ の 表 現 は 0 個 も し く は 複 数 の 文 字 ‘ugoa’ で 始 ま る ; こ れ ら が フ ァ イ ル に 対 す る ど の ユ ー ザ ー の ア ク セ ス 権 を 変 更 す る か を 決 め る : フ ァ イ ル の 所 有 者 (u)、 フ ァ イ ル と 同 じ グ ル ー プ に 属 し て い る が 所 有 者 で は な い (訳 注 : 以 後 グ ル ー プ と 表 記 ) (g)、 所 有 者 で も な く 、 そ の フ ァ イ ル と 同 じ グ ル ー プ に も 属 し て い な い (訳 注 : 以 後 そ の 他 と 表 記 ) (o)、 も し く は 全 ユ ー ザ ー (a) を 表 し て い る 。 つ ま り ‘a’ は ‘ugo’ と 同 じ で あ る 。 も し こ れ ら の い ず れ も 指 定 さ れ な い 場 合 、 ‘a’ が 指 定 さ れ た の と 同 じ 結 果 と な る が 、 umask に 設 定 さ れ た ビ ッ ト 位 置 は 変 化 し な い 。

‘+’ 演 算 子 は 各 々 の フ ァ イ ル の 現 状 の ア ク セ ス 権 に 、 選 択 し た ア ク セ ス 権 を 加 え る ; ‘-’ は 削 除 す る ; そ し て ‘=’ は 指 定 し た ア ク セ ス 権 だ け が そ の フ ァ イ ル の ア ク セ ス 権 と な る 。 文 字 ‘rwxXstugo’ は 影 響 を 与 え る ユ ー ザ ー に 対 す る 新 し い ア ク セ ス 権 を 選 択 す る : 読 取 り (r)、 書 き 込 み (w)、 実 行 (ま た は デ ィ レ ク ト リ に 対 す る ア ク セ ス ) (x)、 フ ァ イ ル が デ ィ レ ク ト リ か も し く は あ る ユ ー ザ ー に 対 し て す で に 実 行 ア ク セ ス 権 が 設 定 さ れ て い る 場 合 の み 実 行 (X)、 実 行 時 に ユ ー ザ ー も し く は グ ル ー プ IDを 設 定 す る (s)、 sticky bit (t)、 そ の フ ァ イ ル の 所 有 者 で の 現 在 の ア ク セ ス 権 は (u)、 そ の フ ァ イ ル の グ ル ー プ で の 現 在 の ア ク セ ス 権 は (g)、 そ の フ ァ イ ル の そ の 他 の ユ ー ザ ー で の 現 在 の ア ク セ ス 権 は (o) で 表 さ れ る 。 (従 っ て 、 ‘chmod g-s file’ は set-group-ID (sgid) ビ ッ ト を 削 除 す る 。 ‘chmod ug+s file’ は suid そ し て sgid ビ ッ ト の 両 方 を 設 定 す る が 、 ‘chmod o+s file’ は 何 も し な い 。 )

POSIX で は ‘sticky bit’ に つ い て 記 述 し て い な い 。 そ の 名 前 は 本 来 の 意 味 か ら 来 て い る : プ ロ グ ラ ム コ ー ド を ス ワ ッ プ 上 に 維 持 す る 。 最 近 は 、 デ ィ レ ク ト リ に 設 定 さ れ て い る 場 合 、 フ ァ イ ル の 所 有 者 と デ ィ レ ク ト リ の 所 有 者 だ け が そ の デ ィ レ ク ト リ か ら フ ァ イ ル を 削 除 で き る こ と を 意 味 す る 。 (全 ユ ー ザ ー が 書 き 込 み ア ク セ ス 権 を 持 つ /tmp の よ う な デ ィ レ ク ト リ で こ れ は ご く 普 通 に 使 わ れ て い る 。 )

chmod コ マ ン ド が シ ン ボ リ ッ ク リ ン ク の ア ク セ ス 権 を 変 更 す る こ と は 決 し て な い 。 な ぜ な ら 、 chmod シ ス テ ム コ ー ル は シ ン ボ リ ッ ク リ ン ク の ア ク セ ス 権 を 変 更 す る こ と が で き な い か ら で あ る 。 シ ン ボ リ ッ ク リ ン ク の ア ク セ ス 権 は 決 し て 使 わ れ る こ と が な い た め 、 こ の こ と は 問 題 で は な い 。 し か し 、 chmod コ マ ン ド は 引 数 に シ ン ボ リ ッ ク リ ン ク が 指 定 さ れ た 場 合 、 各 々 に つ い て そ れ が 指 し て い る フ ァ イ ル の ア ク セ ス 権 を 変 更 す る 。 そ れ に 対 し て 、 chmod コ マ ン ド は 再 帰 的 に デ ィ レ ク ト リ を 移 動 し な が ら 処 理 し て い る 時 に 見 つ け た シ ン ボ リ ッ ク リ ン ク は 無 視 す る 。

POSIX オ プ シ ョ ン

−R デ ィ レ ク ト リ や そ こ に 含 ま れ る も の の ア ク セ ス 権 を 再 帰 的 に 変 更 す る 。

GNU オ プ シ ョ ン

−c, −−changes 実 際 に ア ク セ ス 権 の 変 更 が あ っ た file そ れ ぞ れ に つ い て の 動 作 を 詳 細 に 表 示 す る 。
−f, −−silent, −−quiet
ア ク セ ス 権 を 変 更 で き な か っ た フ ァ イ ル に つ い て の エ ラ ー メ ッ セ ー ジ を 出 力 し な い 。
-v, −−verbose
全 て の file に つ い て 変 更 し た 、 も し く は し な か っ た と い う 動 作 を 詳 細 に 表 示 す る 。
−R, −−recursive
デ ィ レ ク ト リ や そ こ に 含 ま れ る も の の ア ク セ ス 権 を 再 帰 的 に 変 更 す る 。
−−reference=
file 明 示 的 に mode を 指 示 す る 代 わ り に 、 参 照 用 に 指 定 し た file の グ ル ー プ を 使 う 。

GNU 標 準 オ プ シ ョ ン

−−help 標 準 出 力 に 使 用 方 法 の メ ッ セ ー ジ を 出 力 し て 正 常 終 了 す る 。

−−version 標 準 出 力 に バ ー ジ ョ ン 情 報 を 出 力 し て 正 常 終 了 す る 。

−− オ プ シ ョ ン リ ス ト を 終 了 す る 。

数 値 モ ー ド

フ ァ イ ル の ア ク セ ス 権 は 内 部 的 に 16 ビ ッ ト の 整 数 で 保 持 さ れ て い る 。 シ ン ボ ル で ア ク セ ス 権 を 指 定 す る 代 わ り に 、 こ れ か ら 変 更 す る ア ク セ ス 権 の 内 部 表 現 に 対 応 し た 8 進 数 (基 数 8) を 使 っ て 指 定 す る こ と が で き る 。 こ の 数 値 は 常 に 8 進 数 と し て 扱 わ れ る ; C 言 語 の よ う に 数 値 の 先 頭 に 0 を 付 加 す る 必 要 は な い 。 mode に 0055 と 指 定 す る の と 55 と 指 定 す る の は 同 じ で あ る 。 数 値 モ ー ド に よ る 指 定 は 、 シ ン ボ ル モ ー ド で 指 定 す る よ り 大 抵 の 場 合 短 く す む が 、 ア ク セ ス 権 を 絶 対 値 で 指 定 す る 。 mode の 各 数 字 に よ り 、 以 下 で 示 す よ う な ア ク セ ス 権 の グ ル ー プ を 選 択 す る 。 左 側 の 省 略 さ れ た 数 値 は 0 と し て 扱 わ れ る 。 ア ク セ ス 権 を 組 み 合 わ せ る に は 、 各 数 字 の OR を と る か 各 数 字 を 合 計 す れ ば よ い 。 特 別 な ア ク セ ス 権

1000 プ ロ グ ラ ム コ ー ド を ス ワ ッ プ に 維 持
2000 実 行 時 に グ ル ー プ ID を 設 定
4000 実 行 時 に ユ ー ザ ー ID を 設 定 同 じ

UID の ユ ー ザ ー (u+)

100 実 行
200 書 き 込 み
400 読 み 込 み 同 じ グ ル ー プ

(g+)

10 実 行
20 書 き 込 み
40 読 み 込 み そ の 他 の ユ ー ザ ー

(o+)

1 実 行
2 書 き 込 み
4 読 み 込 み

環 境 変 数

変 数 LANG, LC_ALL, LC_CTYPE, LC_MESSAGES が 通 常 の 意 味 を 持 つ 。

準 拠

POSIX 1003.2 で は −R オ プ シ ョ ン の み が 必 須 で あ る 。 そ の 他 の オ プ シ ョ ン を 使 用 す る と 互 換 性 が な い か も し れ な い 。 こ の 標 準 で は ’t’ の 許 可 ビ ッ ト に つ い て 説 明 し て い な い 。 こ の 標 準 で は chmod が suid や sgid ビ ッ ト の ク リ ア も し く は 設 定 の 拒 絶 で の 一 貫 性 を 維 持 す る べ き か ど う か に つ い て を と り 決 め て い な い 。 た と え ば 、 す べ て の 実 行 ビ ッ ト が ク リ ア さ れ る 場 合 に chmod が ‘s’ ビ ッ ト を ど う す る か ま っ た く と り 決 め て い な い 。

非 標 準 モ ー ド

こ こ ま で の と こ ろ で デ ィ レ ク ト リ に 対 す る ‘t’ ビ ッ ト の 使 い 方 を 説 明 し た 。 い ろ い ろ な シ ス テ ム で は 、 他 の 意 味 の な い モ ー ド ビ ッ ト の 組 合 せ に 特 別 な 意 味 を 与 え て い る 。 特 に 、 Linux は System V 系 (System V Interface Definition (SVID) Version 3 を 参 照 ) に 倣 っ て 、 グ ル ー プ 実 行 許 可 を 持 た な い フ ァ イ ル の sgid ビ ッ ト に 、 そ の フ ァ イ ル が 強 制 ロ ッ ク (mandatory locking) の 対 象 で あ る こ と を 示 さ せ て い る 。 詳 細 に つ い て は /usr/src/linux/Documentation/mandatory.txt フ ァ イ ル を 参 照 。

注 意

こ の ペ ー ジ で は fileutils-4.1 パ ッ ケ ー ジ で の chmod コ マ ン ド に つ い て 説 明 し て い る 。 そ の 他 の バ ー ジ ョ ン で は 少 し 違 い が あ る か も し れ な い 。 修 正 や 追 加 は aeb [AT] cwi.nl, aw [AT] mail1.fi, ragnar [AT] ragnar-hojland.com 宛 て に メ ー ル で 連 絡 し て ほ し い 。 プ ロ グ ラ ム の バ グ に つ い て は bug-fileutils [AT] gnu.org へ 報 告 し て ほ し い 。

COMMENTS

blog comments powered by Disqus