外付けHDDのパーミッション

Linuxマシンに外付けハードディスクをUSBで接続し、認識させた。

[root@machine]~# dmesg
Bootdata ok (command line is ro root=/dev/VolGroup00/LogVol00)
Linux version 2.6.9-67.0.4.ELsmp (mockbuild@builder6.centos.org) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-9)) #1 SMP Sun Feb 3 07:06:14 EST 2008
......
usb 2-1: new low speed USB device using address 2
input: USB HID v1.00 Keyboard [0430:0005] on usb-0000:01:03.0-1
Initializing USB Mass Storage driver...
scsi2 : SCSI emulation for USB Mass Storage devices
Vendor: LOGITEC Model: LHD-EDU2 Rev: 6.11
Type: Direct-Access ANSI SCSI revision: 02
SCSI device sdc: 586072367 512-byte hdwr sectors (300069 MB)
sdc: assuming drive cache: write through
SCSI device sdc: 586072367 512-byte hdwr sectors (300069 MB)
sdc: assuming drive cache: write through
sdc: sdc1 < sdc5 >
.....

どうやらsdcとして認識されているみたいだ。
ちなみにここでデバイスのhdaやsdaは

hda, hdb, hdc ... : 内蔵HDDやCD-RWなど
sda, sdb, sdc ... : 外付けHDDなど
(a, b, cは認識順)

でいいのだろうか(?_?)
認識したHDDを/media/usbdiskにファイルタイプvfatでマウントしてみる

[root@oinari]/data# mkdir /media/usbdisk
[root@oinari]/# mount -t vfat /dev/sdc5 /media/usbdisk

各ユーザが外付けHDDに読み書きできるようにパーミッションを設定

[root@oinari]/# cd /media
[root@oinari]/media# chmod 777 usbdisk
[root@oinari]/media# ls -al
合計 48
drwxrwxrwx 3 root root 4096 3月 27 21:00 .
drwxr-xr-x 28 root root 4096 3月 27 20:59 ..
drwxr-xr-x 3 root root 32768 1月 1 1970 usbdisk

あれ(?o?)
パーミッションが変更されてないぞ?
どうゆうことだ?
もうこの際いろいろいじってみる(>_<)

[root@oinari]/media# chmod 766 usbdisk
[root@oinari]/media# ls -al
合計 48
drwxrwxrwx 3 root root 4096 3月 26 2007 .
drwxr-xr-x 28 root root 4096 3月 6 14:33 ..
drwxr-xr-x 3 root root 32768 3月 27 12:36 usbdisk
[root@oinari]/media# chmod 077 usbdisk
[root@oinari]/media# ls -al
合計 48
drwxrwxrwx 3 root root 4096 3月 26 2007 .
drwxr-xr-x 28 root root 4096 3月 6 14:33 ..
d---r-xr-x 3 root root 32768 3月 27 12:36 usbdisk
[root@oinari]/# chmod 666 data
合計 48
drwxrwxrwx 3 root root 4096 3月 26 2007 .
drwxr-xr-x 28 root root 4096 3月 6 14:33 ..
drwxr--r-- 3 root root 32768 3月 27 12:36 usbdisk

どうやら「グループ」と「その他」の書き込みのみ(読みの方はチェックしなかったわ。。。)が
変更できないようだ。なんでやねん(#-_-)
もうGoogle先生を使っていろいろ調べてみると、あった
http://search.luky.org/linux-users.5/msg04288.html
このサイトによるとvfatというファイルタイプにはそもそも
ユーザ毎の読み書きの許可という仕組みがないようだ。
だからchmodで「グループ」や「その他」のパーミッションを変更できないんだな(^o^)=3
でも待てよ、じゃあ各ユーザが書き込めるようにするにはどうしたらいいんだ。。。(ToT)
もう一度Google先生に訪ねてみると、あった
http://search.luky.org/linux-users.3/msg09364.html
どうやら-o umask=000オプションをつければいいみたいだ。
よしやってみよう。ついでにfstabファイルも

/dev/sdc5 /media/usbdisk vfat pamconsole,fscontext=system_u:object_r:remov
able_t,exec,noauto,managed, 0 0

から

/dev/sdc5 /media/usbdisk vfat pamconsole,fscontext=system_u:object_r:remov
able_t,exec,noauto,managed,umask=000, 0 0

と編集して、もう一度マウントしてみると

[root@oinari]~# mount -t vfat -o umask=000 /dev/sdc5 /media/usbdisk
[root@oinari]~# cd /media
[root@oinari]/media# ls -al
合計 48
drwxrwxrwx 3 root root 4096 3月 27 21:00 .
drwxr-xr-x 28 root root 4096 3月 27 20:59 ..
drwxrwxrwx 3 root root 32768 1月 1 1970 usbdisk

やった、成功(^o^)v