FreeBSD初心者運用日記 このページをアンテナに追加

 | 

2008-07-17

[][]chmodコマンドについて 00:39 chmodコマンドについて - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - chmodコマンドについて - FreeBSD初心者運用日記 chmodコマンドについて - FreeBSD初心者運用日記 のブックマークコメント

  • chmodコマンドは、ファイルの許可属性を変更するコマンドである。このコマンドを使ってファイルやディレクトリの許可属性を変更することができる。
  • シンボリックリンクについてはchmodで許可属性を変更できない。但し、シンボリックリンクの許可属性が使われることは無いため、その必要はない。
  • chmodコマンドのパラメタに、シンボリックリンクが指定された場合は、それが指し示している実体ファイルの許可属性が更新される。

[][][]umaskコマンドについて 01:06 umaskコマンドについて - FreeBSD初心者運用日記 を含むブックマーク はてなブックマーク - umaskコマンドについて - FreeBSD初心者運用日記 umaskコマンドについて - FreeBSD初心者運用日記 のブックマークコメント

  • ファイルやディレクトリ、シンボリックリンクを作成した場合の許可属性(rxwなやつ)のデフォルトはumaskによって決まっている。
  • umaskは親プロセスから引き継がれる。
  • umaskはファイルモード作成マスク、とも呼ばれる。
  • ~/.loginとか~/.bash_profileとか~/.bashrcにumaskの値を設定することが多いようだ。
  • umask=0022の場合
black:~/tmp/hoge$ umask
0022
black:~/tmp/hoge$ touch file_aaa
black:~/tmp/hoge$ mkdir dir_bbb
black:~/tmp/hoge$ ls -l
total 2
drwxr-xr-x  2 vitamin  wheel  512 Jul 18 10:12 dir_bbb
-rw-r--r--  1 vitamin  wheel    0 Jul 18 10:12 file_aaa

ファイルfile_aaaの許可属性は644となっている。これは666からumaskの22を引いた値の、644がデフォルトのファイル作成時の許可属性となっているため。

ディレクトリdir_bbbの許可属性は755となっている。これは777からumaskの22を引いた値の755がデフォルトのディレクトリ作成時の許可属性となっているため。

  • umaskの値を変更して実験してみます(umask=0000の場合)
black:~/tmp/hoge$ umask 0
black:~/tmp/hoge$ umask
0000
black:~/tmp/hoge$ touch file_ccc
black:~/tmp/hoge$ mkdir dir_ddd
black:~/tmp/hoge$ ls -l
total 4
drwxr-xr-x  2 vitamin  wheel  512 Jul 18 10:12 dir_bbb
drwxrwxrwx  2 vitamin  wheel  512 Jul 18 10:17 dir_ddd
-rw-r--r--  1 vitamin  wheel    0 Jul 18 10:12 file_aaa
-rw-rw-rw-  1 vitamin  wheel    0 Jul 18 10:16 file_ccc

umaskが0なので、ファイルfile_cccの許可属性が666となっており、ディレクトリdir_dddの許可属性が777となっています

ToDo:ネットでいろいろしらべてみたら、"umask 22"と設定するよりは"umask 022"のように3桁で設定するのがデフォルトみたい、でも表示は4桁なんだよなぁ。。一番左の桁はなんだろう?

ToDo:umaskのデフォルトって何によって決まるんだろうか?

CressCress2008/07/19 16:26試しに1022とか入れるとこんなの出ますね。
-bash: umask: 1022: octal number out of range
八進数であることを明示的に示しているだけのようです。

py4s-tnkpy4s-tnk2008/07/22 22:45>八進数であることを明示的に示しているだけのようです。
なるほど。。さすがCressさんです!
ありがとうございました。m(_ _)m

 |