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 コ マ ン ド は 再 帰 的 に デ ィ レ ク ト リ を 移 動 し な が ら 処 理 し て い る 時 に 見 つ け た シ ン ボ リ ッ ク リ ン ク は 無 視 す る 。
|
−R デ ィ レ ク ト リ や そ こ に 含 ま れ る も の の ア ク セ ス 権 を 再 帰 的 に 変 更 す る 。 |
−c,
−−changes 実 際 に
ア ク セ ス 権 の
変 更 が あ っ た
file そ れ ぞ れ に
つ い て の 動 作
を 詳 細 に 表 示
す る 。
−f, −−silent, −−quiet
ア ク セ ス 権 を
変 更 で き な か
っ た フ ァ イ ル
に つ い て の エ
ラ ー メ ッ セ ー
ジ を 出 力 し な
い 。
-v, −−verbose 全 て の
file に つ い て 変
更 し た 、 も し
く は し な か っ
た と い う 動 作
を 詳 細 に 表 示
す る 。
−R, −−recursive デ ィ
レ ク ト リ や そ
こ に 含 ま れ る
も の の ア ク セ
ス 権 を 再 帰 的
に 変 更 す る 。
−−reference=file 明 示
的 に mode を 指 示
す る 代 わ り に
、 参 照 用 に 指
定 し た file の グ
ル ー プ を 使 う
。
|
−−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 へ 報 告 し て ほ し い 。