ファイルの属性
属性の種類
ls
-lコマンドでの表示を見ると,ファイルには下記のようにいろいろな属性が付加されていることがわかる。
タ
イ
プ |
モ
ー
ド |
リ
ン
ク
数 |
所
有
者 |
グ
ル
ー
プ |
サ
イ
ズ |
更
新
日
時 |
フ
ァ
イ
ル
名 |
|
d
|
rwxr-xr-x
|
3
|
toshim
|
users
|
1024
|
May 1 21:27 |
work
|
各属性は次のような意味を持つ。
| タイプ |
ファイルの種類を表す。
- 通常のファイル
d ディレクトリ
l シンボリックリンク |
| モード |
ファイルのアクセス権限を表す。
最初の3文字は所有者に許可される操作。
次の3文字はファイルが帰属するグループのユーザに許可される操作。
最後の3文字はそれ以外のユーザに許可される操作。
r 読込み許可
w 書込み許可
x 実行許可,あるいはディレクトリ参照許可
- 許可なし
(例) 'rwxr-x---'
所有者は読書き実行許可,グループは読込みと実行許可,その他は許可なし。 |
| リンク数 |
そのファイルの実体を参照しているハードリンクの数。
ファイルの実体(iノード)に対してディレクトリエントリがいくつ作られているのかを表している。 |
| 所有者 |
そのファイルの所有者 |
| グループ |
そのファイルが帰属するグループ |
| サイズ |
バイト単位のサイズ |
| 更新日時 |
最後に内容が変更された日時 |
| ファイル名 |
ファイルの名前 |
ファイルの属性変更
chownコマンド
chown [options] [user][:.][group] file...
fileの所有者をuserにする。
':'または'.'で区切ったあとgroupを指定するとグループも変更する。
なお,chownはCHange OWNerの文字をとってコマンド名にしたもの。
スーパーユーザは他人が所有するファイルの所有者を変更できるが,一般ユーザは自分が所有するファイルしか変更できない。
実行例
[root@gw2000 ~/work]# ls -l test1
-rw-r--r-- 1 toshim users 584 Apr 30 19:30 test1
[root@gw2000 ~/work]# chown ftp:daemon test1
[root@gw2000 ~/work]# ls -l test1
-rw-r--r-- 1 ftp daemon 584 Apr 30 19:30 test1
[root@gw2000 ~/work]# chown nobody.nobody test1
[root@gw2000 ~/work]# ls -l test1
-rw-r--r-- 1 nobody nobody 584 Apr 30 19:30 test1
|
chownの主なオプション
| -c |
所有者が変更された場合に変更結果を表示する。 |
| -R |
サブディレクトリ以下の全部に適用する。 |
| -v |
変更結果を表示 |
chgrpコマンド
chgrp [options] group file...
fileが帰属するグループをgroupにする。
なお,chgrpはCHange
GRouPの文字をとってコマンド名にしたもの。
スーパーユーザは他人が所有するファイルの所有者を変更できるが,一般ユーザは自分が所有するファイルしか変更できない。
実行例
[root@gw2000 ~/work]# ls -l test1
-rw-r--r-- 1 toshim users 6 May 2 20:24 test1
[root@gw2000 ~/work]# chgrp nobody test1
[root@gw2000 ~/work]# ls -l test1
-rw-r--r-- 1 toshim nobody 6 May 2 20:24 test1
|
chgrpの主なオプション
| -c |
所有者が変更された場合に変更結果を表示する。 |
| -R |
サブディレクトリ以下の全部に適用する。 |
| -v |
変更結果を表示 |
chmodコマンド
chmod [options] mode file...
fileのモードをmodeの値に変更する。
スーパーユーザは他人が所有するファイルの所有者を変更できるが,一般ユーザは自分が所有するファイルしか変更できない。
modeの設定方法は744というように数字で指定するニューメリックモードと+r,+wというようにシンボルで指定するシンボリックモードの二つがある。
ニューメリックモードでの設定方法は次のとおり。
'rw-r--r--'といったモードの値をビットに対応させ,それを3ビットずつまとめて8進数を使って表す。
たとえば,'rw-r--r--'は644(110
100 100)となり,'rwxr-xr-x'は755(111
101 101)となる。
シンボリックモードせの設定方法は次のとおり。
モードを<ユーザの分類><オペレータ><パーミッションの種類>という形式で表す。
たとえば,'u+x'であれば所有者に実行許可を付加し,'o-r'であればその他ユーザの読込み許可を取り消す。
モード設定の詳細はこちらを参照。
実行例
[root@gw2000 ~/work]# ls -l test1
-rw-r--r-- 1 toshim users 6 May 2 20:24 test1
[root@gw2000 ~/work]# chmod 775 test1
[root@gw2000 ~/work]# ls -l test1
-rwxrwxr-x 1 toshim users 6 May 2 20:24 test1
[root@gw2000 ~/work]# chmod ug-w test1
[root@gw2000 ~/work]# ls -l test1
-r-xr-xr-x 1 toshim users 6 May 2 20:24 test1
|
chmodの主なオプション
| -c |
所有者が変更された場合に変更結果を表示する。 |
| -R |
サブディレクトリ以下の全部に適用する。 |
| -v |
変更結果を表示 |
fileコマンド
file [options] file ...
fileのタイプを表示する。
実行例
[root@gw2000 ~/work]# ls -l
total 3
drwxr-xr-x 2 toshim users 1024 May 1 21:07 test
-rw-r--r-- 1 toshim users 6 May 2 20:24 test1
-rwxr-xr-x 1 root root 10276 May 2 20:54 test2
[root@gw2000 ~/work]# file test
test: directory
[root@gw2000 ~/work]# file test1
test1: ASCII text
[root@gw2000 ~/work]# file test2
test2: ELF 32-bit LSB executable, Intel 80386, version 1, dynamically linked, stripped
|
umask
ファイルを作成するときのモードを決めるときに使う値。
ファイルを作成するとき,通常のファイルは'rw-rw-rw-',ディレクトリであれば'rwxrwxrwx'というモード値を取るが,これにumaskの値がマスクされる。
つまり,umaskをビットで表し,モードをニューメリックモードで表したときに,umaskの値が1の個所のモードの値が0になる。
umaskが0の個所はそのまま。
たとえば,umaskの値が022(000 010 010)の場合,通常のファイルのモードは'rw-r--r--',ディレクトリは'rwxr-xr-x'となる。
umaskはbashの組み込みコマンドumaskを使って参照したり変更できる。
[root@gw2000 ~/work]# umask
022
[root@gw2000 ~/work]# umask 077
[root@gw2000 ~/work]# umask
077
|
|