root - みる会図書館


検索対象: UNIX MAGAZINE 2004年6月号
26件見つかりました。

1. UNIX MAGAZINE 2004年6月号

連載 /Red Hat Linux のツールたち 図 7 作成した DVD-RW メティアのマウント /dev/scdl は書き込み禁止です、読込み専用でマウントします [root@valhalla て 00t ] # mount —t iS09660 /dev/scdl /mnt/cdrom mount: プロックテ / ヾイス [root@valhalla て 00t ] # df Fi1esystem /dev/hdal /dev/hdbl /dev/scdl [root@valhalla root] # 1s /mnt/cdrom X11R6 dict games bin include etC [root@valhalla root] # umount /mnt/cdrom [root@valhalla root] # lk—blocks 3984672 4127076 47128 1560384 Used Avai1ab1e Use% Mounted on 1915344 1673612 0 1560384 1866912 2243820 47128 0 kerberos libexec man lib 10Ca1 rr_moved 51 % / 43 % sbin 100 % /mnt/cdrom 0 % /dev/shm /ext share tmp 図 8 DVD-RVV メディアの消去 [root@valhalla root] # dvdrecord —v dev=l , 0 , 0 blank=fast dvdrtools v0 . 1 . 3 TOC Type : 1 CD—ROM s c s idev : ' 1 , 0 0 ) scsibus: 1 target: 0 lun: 0 Linux sg driver version: 3 . 1 . 22 Using libscg versxon ' schiIy—O. 5 ' atapi : 1 Device type Version Response Format : Capabi1ities Vendor_info ldentifikation Revision Removab1e CD—ROM 2 2 ) PIONEER ' ) DVD—RW DVR-105 ) ' 1 .33 ' Device seems tO be : Generic mmc2 DVD . Supported modes : PACKET SAO SWABAUD 10 BURNFREE Driver flags Using generic SCSI-3/mmc DVD—R(W) driver (mmc-mdvd) . Drive buf 1605632 Current Secsize : 2048 ATIP start of lead in: Disk type : unknown Manuf . index: 1568 KB ー 150 ( 00 : 00 / 00 ) Manufacturer: unknown (not in table) Starting to write CD/DVD at speed 2 in write mode for single session. Last chance tO quit , starting rea1 write in 0 seconds . Operation starts . Performing OPC. B1anking PMA , TOC , pregap B1anking time : 48.776S Croot@vaIhaIIa root] # ロ イプ DVR-105 では、 DVD-RW メディアへの書込み速 度は 2 物虫が - ヒ限です ) を指定しました。さきほども書い たように、 DVR-105 では dvdrecord のデフォルトであ る Track At Once モードではエラーとなるため、—dao オプションも付けています。 UNIX MAGAZ 工 NE 2004.6 書込みカ院了したら、作成した DVD-RW メディアを マウントしてみましよう。フォーマットは IS09660 なの で、通常の CD-ROM と同様に mount コマンドを実行す ればアクセスできます ( 図 7 ) 。 DVD-RW の内容を消去するには、 cdrecord と同じく、 、、 blank=fast" を指定して実行します ( 図 8 ) 。 181

2. UNIX MAGAZINE 2004年6月号

連載 /Red Hat Linux のツールたち 図 9 X-CD-Roast 最新版のインストール [ て 00t9Va1 alla tmp] # rpm -Uvh xcdroast—0.98a1Pha15ー1. i386 . rpm [root@valhalla tmp] # rpm -Uvh cdrt001s—cdrecord—2.00.3 ー 1 . i386. rpm [root@valhalla tmp] # rpm —Uvh cdrt001s—cdda2wav-2.00.3 ー 1 . i386. rpm Croot@va1ha11a tmp] # rpm -Uvh cdrt001s—mkisofs—2.00.3 ー 1 . i386. て pm [root@valhalla tmp] # ロ 1 :xcdroast Preparing ・ 1 : cdrtools—cdrecord Preparing ・ 1 : cdrt001s—cdda2wav Preparing ・ 1 : cdrtools—mkisofs Preparing ・ [ 100 幻 [ 100 幻 [ 100 幻 [ 100 幻 [ 100 % ] [ 100 % ] [ 100 幻 [ 100 幻 X-CD-Roast & cdrecord-ProDVD Red Hat Linux 7.3 には、 GUI べースのツールとし て X-CD-Roast のパッケージが含まれていますが、残念 ながらこのバージョンでは DVD-R が作れません。とり あえずは dvdrecord を使えばいいのですが、簡単に導入 できる GUI のツールを探していたところ、最新版の X- CD-Roast と cdrecord-ProDVD というツールを組 み合わせれば実現できることが分かりました。以下に、そ の使い方を紹介します。 ツールの入手とインストール cdrecord-ProDVD は、 cdrecord の作者である J. Schilling が開発したツールで、最新版は DVD-R/RW だ けでなく、 DVD 十 R/RW にも対応しているようです。た だし、配布はバイナリ形式のみで、教育・研究目的または個 人が非営利目的で使う場合にかぎり、無償で利用できます ( あとで述べるように、肩効期限付きのキーを入力する必要 があります ) 。 cdrecord-ProDVD の配布サイトは、 ・ http://ftp.berlios.de/pub/cdrecord/ProDVD/ です。執筆時の最新版は 2.01a27 で、 Linux と Solaris 8 用の実行ファイルが公開されていますにれよりもす こし旧いバージョンであれば、 FreeBSD や AIX など の実行ファイルもあります ) 。 Linux 用の実行ファイル は cdrecord-prodvd-2.01a27-i686-pc-linux-gnu です。 これと README ファイルを入手しましよう。 X-CD-Roast の最新版は 0.98aIpha15 で、 Linux の 182 各種ディストリビューション用のパッケージは ・ http://xcdroast.sourceforge.net/RPMS/a15/ から入手できます。 Red Hat Linux 7.3 の場合は、 http: //xcdroast. sourceforge. net/RPMS/a15/redhat-73/ から、以下の 4 つのパッケージ・ファイルをダウンロード します。 ・ cdrtools-cdda2wav-2.00.3-1. i386. rpm ・ cdrtools-mkisofs-2.00.3ー1. i386. rpm ・ cdrtools-cdrecord-2.00.3ー1. i386. rpm ・ xcdroast-O. 98a1Pha15-1. i386. rpm Red Hat Linux 7.3 に付属のパッケージを導入してい る場合は、これらをインストールする前に、 rpm コマンド を以下のように実行して旧い X-CD-Roast と cdrtools のパッケージを削除します。 [root@valhalla root] # rpm [root@valhalla て 00t ] # rpm [root@valhalla て 00t ] # rpm [root@valhalla て 00t ] # rpm [root@valhalla root] # ロ —e xcdroast —e cdda2wav —e cdrecord —e mkisofs 入手したパッケージを適当なディレクトリに置き、図 9 のようにしてインストールします。 次に、 cdrecord-ProDVD の実行ファイルを X-CD- Roast のドキュメント 3 に書かれているディレクトリにコ ーミッションを適切に設定します ( 図 10 ) 。 うしておくと、メディアの容量が IGB を超えた場合、 cd- record の代わりに自動的に cdrecord. prodvd コマンド カ剛乎び出されます。 3 /usr/share/doc/xcdroast-(). 98alpha15/README. ProDVD UNIX MAGAZINE 2004.6

3. UNIX MAGAZINE 2004年6月号

連載 /Red Hat Linux のツールたち 図 1 ディスク窈吏用兄 [root@valhalla root] # df FiIesystem /dev/hdal /dev/hdbl none lk—blocks 3984672 4127076 47128 Used Avai1ab1e Use% Mounted on 1903684 111700 0 1878572 3805732 47128 [root@valhalla root] # cd /usr [root@valhalla usr] # du —s 1679960 [root@valhalla usr] # ls X11R6 dict games bin include etc [root@valhalla usr] # 図 2 mkisofs によるイメージファイルの作成 [root@valhalla usr]# mkisofs —v —J kerberos lib libexec 10Ca1 man sbin share 51 % / 3 % /ext 0 % /dev/shm tmp ー 0 /ext/tmp/usr . iso mkisofs 1 .14 (i686-pc—1inux—gnu) Scanning Scanning . /bin Scanning ・ /lib Scanning . /lib/locale Scanning . /1ib/10ca1e/ja—JP. eucjp [root@valhalla usr] # ロ 780192 extents written ( 1523 Mb) Max brk space used 31db000 path table size(bytes) : 92640 Tota1 directory bytes : 23257088 T0ta1 rockridge attributes bytes : 9407410 Tota1 translation table size : 0 3.20 % done , estimate finish Wed Apr 5 19 : 43 : 39 2004 2 . 56 % done , estimate finish Wed Apr 5 19 : 41 : 03 2004 Using KRB—AOOO. GZ; 1 for . /kerberos/man/man3/krb-afs10g—uid.3. gz (krb—afslog. 3. gz) Using LIBGSOOO. 2; 1 for . /kerberos/1ib/1ibgssapi-krb5. so. 2 (libgssapi-krb5. so. 2.2 ) Using LIBKAOOO. 0; 1 for . /kerberos/1ib/1ibkadm5srv. SO. 5.0 (libkadm5c1nt. SO. 5.0 ) 合計 1561912 [root@valhalla tmp] # [ root@val alla usr] # cd /ext/tmp 図 3 イメージファイルのオ鈺正 [root@valhalla tmp] # mount —t iS09660 ー 0 100P usr. iSO /mnt/cdrom root 1597833216 4 月 5 19 : 49 usr . iso ls ー 1 1 root [root@valhalla tmp] # Fi1esystem /dev/hdal /dev/hdbl Ⅱ 0 豆 e /ext/tmp/usr. iso [root@valhalla tmp] # ls /mnt/cdrom X11R6 dict games include bin etc [root@valhalla tmp] # umount /mnt/cdrom [root@valhalla tmp] # df lk—blocks 3984672 4127076 47128 1560384 1905364 1673612 0 1560384 Used Avai1ab1e Use% Mounted on 51 % / 43 % /ext 0 % /dev/shm 100 % /mnt/cdrom sbin src share tmp dvdrecord コマンドを実行する前に、 mkisofs コマンド でイメージファイルを作成します ( 図 2 ) 。図 2 の出力から も分かるように、イメージファイルのサイズは約 1 , 523MB 1876892 2243820 47128 0 kerberos libexec man 1ib rr_moved 10Ca1 例として、 / usr ディレクトリ以下のファイルを DVD ー RW メディアに書き込んでみましよう。実行時のディスク 容量と / usr ディレクトリ以下の容量は図 1 のとおりです。 178 UNIX MAGAZINE 2004.6

4. UNIX MAGAZINE 2004年6月号

連載 /Red Hat Linux のツールたち 図 6 dvdrecord による書込み [root@valhalla root] # dvdrecord —v dev=l , 0 , 0 speed=2 —dao /ext/tmp/usr. iSO Linux sg driver version: 3.1.22 scsibus: 1 target: 0 lun: 0 scs idev : ' 1 , 0 , 0 ) TOC Type : 1 = CD-ROM dvdrtools v0 . 1 . 3 Using libscg version 'schi1y-0.5 ' Revision ldentifikation Vendor_info Capabi1ities Response Format : 2 Version Device type atapi: 1 ) 1 .33 ' ) DVD—RW DVR-105 ' , PIONEER ) 2 Removab1e CD—ROM Using generic SCSl-3/mmc DVD¯R (W) driver (mmc-mdvd) . Device seems tO be : Generic mmc2 DVD . 2048 780192 sectors 1750 MB ( 173 : 24 / 42 ) 780192 sectors 1750 MB ( 173 : 22.56 ) 1523 MB : 4194304 = 4096 KB 1568 KB 1605632 SWABAUD 工 0 BURNFREE Current Secsize : Lout start : Tota1 size : Track 01 : data FIFO size Drive buf size Supported modes : PACKET SAO Driver flags Manufacturer : unknown ( 取 Ot in table) Manuf . index : unknown Disk type : ATIP start of lead in: ー 150 ( 00 : 00 / 00 ) input buffer ready . Waiting fO て reader process t0 fill input buffer Last chance tO quit, starting real write in 0 seconds . Operation starts . Starting tO write CD/DVD at speed 2 in write mode for single session. B10cks total: 2298496 B10cks current : 2298496 B10cks remaining: 1518304 trackno=0 BURN—Free is ON . Performing OPC. Sending CUE sheet . dvdrecord: WARNING: Drive returns て 0 Ⅱ g startsec ( 0 ) using Starting new track at sector : 0 ー 150 Track 01 : Track 01 : 0 of 1523 MB written . 1 of 1523 MB written (fifo 98 % ) . Track 01 : 1523 of 1523 MB written (fifo 100 % ) . dvdrecord: fifo was 0 times empty and 14387 times full , min fill was 89 %. dvdrecord: fif0 had 25168 puts and 25168 gets . Fixating time: 48. 115S Fixating ・ 602 . 038S Writing time : Track 01 : Tota1 bytes read/written: 1597833216 / 1597833216 ( 780192 sectors) . Croot@vaIhaIIa root] # ロ を SCSI 工ミュレーション機能で SCSI デバイスにみせか けているので、これが 1 番目の SCSI バス (scsibus0) に 接続されており、 USB 接続の DVD-R ドライプは 2 番目 の SCSI バス (scsibusl) につながっているようにみえま す。このため、 dvdrecord で DVD-R ドライプを利用す るには、、、 dev=" オプションの引数に SCSI バス番号も指 180 定する必要があります。 -checkdrive オプションを付けて 実行すると、図 5 のように DVD-R ドライプの情報カ俵 示されます。 DVD-R ドライプカしく認識されていれば、図 6 のよ うにして書き込みます。今回は DVD-RW メディアを使 用したため、書込み速度として、、 2 " ( 今回使っているドラ UNIX MAGAZINE 2004.6

5. UNIX MAGAZINE 2004年6月号

ワークステーションのおとーー 0 図 1 /etc/rc. sysinit の下線部の 2 行お助ロ ) action $"Mounting proc filesystem: mount ーⅡ—t proc /proc /proc action $"Mounting sysfs filesystem: mount ーⅡ—t sysfs /sys /sys # Enter root , /proc and (potentially) /proc/bus/usb and devfs into mtab . mount -f / mount —f /proc mount -f /sys 図 2 USB キーポードやマウスを使うための言更 (/etc/rc. d/rc ・ sysinit) needusbstorage= if [ $usb = " 1 " ] ; then if [ —e /sys/bus ] ; then # 2 . 6 .4 Kerne1 needusbstorage= ' LC—ALL=C grep —e " 工 . * C1s = 08 ” /sys/bus/usb/devices 2>/dev/nu11' action $"lnitializing USB HID interface: " modprobe hid 2 > /dev/null action $"lnitializing USB keyboard: " modprobe usbkbd 2 > /dev/null action $"lnitializing USB mouse : ー modprobe usbmouse 2 > /dev/null else # 2 . 4 Kerne1 needusbstorage= ( LC-ALL=C grep -e 工 . * C1s = 08 " /proc/bus/usb/devices 2>/dev/nu11' LC—ALL=C grep 'hid' /proc/bus/usb/drivers Ⅱ action $"lnitializing USB HID interface : modprobe hid 2 > /dev/null action $ " lnitializing USB keyboard : " modprobe keybdev 2 > /dev/null action $"lnitializing USB mouse : modprobe mousedev 2 > /dev/null ( 誌面の都合上、で折り返しています。以ード同 USB 機器を使う場合は、さらに以下の作業をおこない ます。 1. /etc/modprobe. conf に以下を追加 ・ lntel 製 USB コントローラを使っている場合 alias usb—controller uhci—hcd alias usb—controllerl ehci—hcd それ以外の USB コントローラを使っている場合 alias usb—controller ohci_hcd alias usb—controllerl ehci_hcd 2. /etc/rc. d/rc. sysinit を編集 USB キーポードやマウスを使う場合には、 needusbstorage= if [ $usb " 1 " ] ; then となっているあたりを、図 2 のように変更します。 3. usbkbd と usbmouse ドライバの作成 UNIX MAGAZINE 2004.6 make menuconfig などを実行し、 usbkbd と usb- mouse ドライバを作ります。これは、 Device Drivers → USB support → USB HID Boot Proto col drivers とたどっていったところにあります。具体的には次の 2 つです。 USB HIDBP Keyboard (simple Boot) support USB HIDBP Mouse (simple Boot) support これらは、図 2 に示したとおり、 rc. sysinit の内部で modprobe を使って読み込むように変更したため、組 み込む必要はなく、モジュールとして導入すればよいで しよう。 さらに、 /etc/rc. d/rc. sysinit を編集して起動時にモジ ュールカ毓み込まれるようにします。、、 /proc/ksyms" と あるあたりを、 /proc/kallsyms も参照するように変更し 149

6. UNIX MAGAZINE 2004年6月号

連載 /Red Hat Linux のツールたち 図 4 SCSI デバイスび )i 砡忍 [root@valhalla root]# dvdrecord dvdrtools v0. 1 . 3 Portions (c) 2002 Red Hat , lnc . Based 0 取 : —scanbus Cdrecord 1 .11a15 (i386-redhat—1inux—gnu) Copyright Linux sg driver version: 3.1.22 Using libscg verslon ' sc 五 ily ー 0.5 ' scsibusO: scsibusl : 1 , 7 , 0 1 , 6 , 0 1 , 5 , 0 1 , 4 , 0 1 , 3 , 0 1 , 2 , 0 1 , 1 , 0 1 , 0 , 0 0 , 7 , 0 0 , 6 , 0 0 , 5 , 0 0 , 4 , 0 0 , 3 , 0 0 , 2 , 0 0 , 1 , 0 0 , 0 , 0 0 ) 1 ) 2 ) 3 ) 4 ) 5 ) 6 ) 7 ) 100 ) 101 ) 102 ) 103 ) 104 ) 105 ) 106 ) 107 ) ' NECVMWar ' ' P 工 ONEER ' ' VMware IDE CDRIO ' ' DVD-RW DVR-105 ' (C) 1995 ー 2001 Jorg Schi11ing ' 1 . 00 ' Removab1e CD-ROM ' 1 . 33 ' Removab1e CD-ROM [root@valhalla root] # ロ 図 5 DVD-R ドライブ C)E 忍 Using libscg version ' schi1y—0.5) Linux sg driver version: 3 . 1 . 22 scsibus: 1 target: 0 lun: 0 scsidev: ) 1 0 0 ' dvdrtools v0. 1 . 3 [root@valhalla て 00t ] # dvdrecord dev=l , 0 , 0 —checkdrive Device type Version Removab1e CD—ROM 2 Response Format : 2 CapabiIities Vendor_info 'PIONEER ' ldentifikation 'DVD-RW DVR-105 ' Revision ' 1 .33 ' Device seems tO be: Generic mmc2 DVD . Using generic SCSI—3/mmc DVD—R(W) driver (mmc-mdvd) . Driver flags SWABAUD 10 BURNFREE Supported modes : PACKET SAO [root@valhalla root] # ■ ですから CD-R には収まりません。 イメージファイルを作ったら、 loop デバイスを使って マウントし、正しくアクセスできるカ寉認しておきましょ う ( 図 3 ) 。 CD-R の容量 ( 650 ~ 800MB ) を超えていま すが、ファイルシステムは IS09660 なので、通常の CD- UNIX MAGAZINE 2004.6 ROM と同様にマウントできます。 あとは dvdrecord を使って書き込むだけです。まず、 -scanbus オプションを指定し、 SCSI インターフェイス に接続されているデバイスを確認します ( 図 4 ) 。私の環境 では、 VMware のイ反想 CD-ROM ドライプ (IDE 接続 ) 179

7. UNIX MAGAZINE 2004年6月号

ワークステーションのおとーー 0 できあがったカーネルは、次のようにして / boot ディレ クトリにコピーします。 # cp arch/i386/boot/bzImage /b00t/bzImage-2.6.4 # cp System. map /b00t/System. map-2.6.4 # 1 Ⅱ -sf /b00t/System. map-2.6.4 /b00t/System. map # make modules_install ・ kerneI-2.4.20ーi686ーSmP. config Hyper Threading に対応した CPU であれば kernel- 2.4.20- i686 ー smp. config を、そうでなければ kernel-2.4. 20- i686. config を使えばいいでしよう。ただ、今回 ( 2.4. x から 2.6. x へ ) はとくに問題なくできましたが、構成ファ イルの形式が違う可能性もあるので、いつでも確実にうま くいくとはかぎりません。 最後に /boot/grub/grub. conf を編集して、カーネル 構成ファイルが決まったら、それを /usr/src/linux/ 2.6.4 を選んで起動できるようにします。具体的には以下 . config にコピーし、 make menuconfig (X が使えるの のような行を追加します。 なら makexconfig でもいいでしよう ) を実行します。画 title Red Hat Linux ( 2 . 6 . 4 ) 面が開いたら、必要なドライバを確認して選んでいきます。 root (hdO,0) kernel /b00t/bzImage—2.6.4 ro 残念ながら、どれをモジュールとし、どれを組み込むのか はハードウェアごとに違うので、一概にこうすればよいと 頁のエントリにしておくと、しばらく経っと自動的に こは、皆さんにがんばっていただく必要 はいえません。 カーネル 2.6.4 で走師力します。今回の例では / bo 。 t を独立 があります したパーティションに置いていないので、 私は、と : のドライ , 、を選ぶかはやや、 0 、や、かなり面倒 kernel /b00t/bzImage—2.6.4 ro だったのと、このあたりの知識はあまりないので、とりあ のようになっています。 えずデフォルトの状態でコンパイルし、とりあえずインス もうすこし言又疋 トールして、とりあえず起動してみます。うまくいかなけ れば、カーネル 2.4. x で起動しなおして、エラーメッセー さて、これでカーネル 2.6.4 になり大丈夫というわけに ジを見ながら必要なドライバを入れていくことにしました。 はいきません。いくつかのドライバなどが自動的にロード カーネル 2.4. x の . con 升 g をもとにした場合は、 make されないため、次のように設定します。 menuconfig を終了すると、 2.4. x になく 2.6.4 にあるド /sys (sysfs) の内容を参照して組み込むドライバを判断 ライバを組み込むかどうかと訊かれます。かなりたくさん するようなので、まずはこれを使えるようにします。 ありますが、あとで変更することもできるので、最初はす 1. /sys ディレクトリを作成 べてデフォルトを選んでおけばよいでしよう。 # mkdir /sys コン / ヾイルとインストール 2. /etc/rc. sysinit を編集 ( 図 1 ) やっとコンパイルです。 3. /etc/fstab を編集 # make bzlmage 以下のエントリを追加します。 # make modules none /sys sysfs defaults 0 0 4. /etc/init. d/halt を編集 halt-get-remaining のあたりの、 ~ た \ / $ F\/proc lA\/dev/{next} awk ' $ 2 を、 awk ' $ 2 に変更します。 コンパイル時間はマシン性能によってかなり違います。 たとえば、 Pentium 4 ( 2.40C GHz) の Windows XP マシンにインストールした VirtualPC 上では 1 時間単位 の時間が必要でした。一方、 CPU が Xeon の 2.66GHz 、 IGB メモリ、 36GB の SCSI ドライプという構成のマシ ンでは 15 分ほどで終りました。 ~ た \ / $ l*\/proc l*\/sys l*\/dev/{next} UNIX MAGAZ 工 NE 2004.6 148

8. UNIX MAGAZINE 2004年6月号

ー② 連載 /Services for UNIX 表 1 . maphosts ファイルのエントリ 工ントリ形式言月 ホスト ホストー 十 ューザー名マッピング・サーバーにアクセス可 能なホストの指定 ユーザー名マッピング・サーバーへのアクセス を拒否するホストの指定 べてのホストからのアクセスを拒否する このエントリより上に書かれたホスト以外のす べてのホストからのアクセスを許可する このエントリより上に書かれたホスト以外のす 、ホスト " は IP (IPv4) アドレスもしくはホスト名 トリの順番はきわめて重要です。 ・ maphosts の使い方としては、アクセスできる少数のホ ストを登録し、それ以外のホストからのアクセスを拒否す る方法と、逆にアクセスを拒否する少数のホストを登録し、 それ以外のホストからのアクセスを許可する方法がありま す。 UNIX 系のシステムでたとえると、 /etc/hosts. allow を中心に設疋するか、 /etc/hosts. deny を中心に設疋する かの違いのようなものと考えることもできます。 以下に小すのは、 hosta. windows. root. local と hostb. windows. root. local の 2 つのホストだけにアクセスを許 可する例です。 hosta . windows . root .10Ca1 hostb . windows . root .10Ca1 逆に、 hosta. windows. root. local と hostb. windows. root. local の 2 つを除くすべてのホストにアクセスを許可 十 hostb . windows . root .10Ca1 hosta . windows . root .10Ca1 する場合は次のようになります。 UN 工 X MAGAZ 工 NE 2004.6 てアクセスの可否を制限することができます。 サーバーは、前回に説明したクライアント・グループを使っ 能なクライアントを制限するようにします。 SFU の NFS 管理も必要です。また、 NFS サーバー自体もアクセス可 サーバーを使用している場合は、 NIS サーバーのアクセス なわれた場合は防ぎようがありません。したがって、 NIS マッピング・サーバーを導入され、勝手にマッピングをおこ へのアクセスを制限しても、ローカルマシンにユーザー名 要です。ただし、いくらユーザー名マッピング・サーノヾー まずューザー名マッピング・サーバーのアクセス制御が必 このように NFS コンポーネントでのアクセス管理には、 図 1 Active Directory の管理画面に追加された、 UNIX UNIX Mag i " e のプ 0 バティ 属性 " タブ 111 もインストール直後はサービスが起動していません。まず とに戻せないので注意してください。なお、 NIS サーバー をインストールします。スキーマ拡張は一度おこなうとも ン・コントローラに変更が ( 番されたあと、 NIS サーバー を実行することでおこなえます。そして、すべてのドメイ ます。これは、 SFU のパッケージ内の *Nis*Sfusch. exe ン・コントローラ上でスキーマ拡張をおこなう必要があり る場合は、 NIS サーバーをインストールする前に各ドメイ 的におこなわれますが、ドメイン・コントローラカ夏数あ tive Directory のスキーマ拡張はインストーラにより自動 ル " を選び、さらに、、 NIS サーバー " を選択します。 Ac- SFU をインストールする際に、、、カスタム・インストー NIS サーバーの導入は、ドメイン・コントローラ上で ます。 2003 のドメイン・コントローラにのみインストールでき いるので、 Windows 2000 Server や Windows Server Active Directory の機能を拡張するかたちで実装されて を拡張しています。このように、 SFU の NIS サーバーは Directory 内に NIS マップを格納できるようにスキーマ 能が用意されています。 SFU の NIS サーノヾーは、 Active 段として、 SFU には Windows 上での NIS サーバー機 UNIX と Windows でアカウント管理を一元化する手 SFU の NIS サーバー OK 1 ト僞ドメイン 韶十〕芹翁する名よぎりセスを有効にするには、このユサーが所属する IJND< 属性 リモート制御ーターミナルサービスのプロファイルー + 全般ー住所ーアカウントープロファイルー話 組一所属するグ非ープーダイヤルイン一環境ーセッション

9. UNIX MAGAZINE 2004年6月号

図 4 passwd コマンドと /etc/shadow ファイルのアクセス権帋卸ヒット $ ls ー 1 /usr/bin/passwd 1 root # ls ー 1 /etc/shadow 1 root root 15448 9 月 17 2003 /usr/bin/passwd 715 3 月 26 20 : 27 /etc/shadow 実行される。だからこそ、一般ユーザーには変更できない はずの /etc/shadow ファイルにアクセスし、その内容を 書き換えることができるのである。 このように、 SetUID と SetGID は便利な機能ではある が、プログラムが任意のファイルにアクセスしたり、子プ ロセスを起動できる脆弱性をもっていると、セキュリティ 上たいへん危険である。そのため、最近は極力これらの機 能を使わないことカ雛奨されている。 なお、一時的に変更された UID と GID を、それぞれ 、、実効 UID" 、、実効 GID" と呼ぶのに対し、本来の UID と GID を、、実 UID" 、、実 GID" と呼ぶ。じつは、プロセ スごとにこれらのすべてカ第点管理されているのである。 ただし、アクセス権の制御に使われるのは実効 UID/GID だけである。 ネットワーク環境における UID こまで、 UNIX におけるユーザー識別の方法と、それ にもとづくアクセス権制御の仕組みについて説明してきた。 ポイントは、 UID も GID もわずか 16 ビットというきわ めてシンプルな数値であり、ネットワーク上の機器やドメ インを区別する仕組みがない、すなわち UID/GID はホ ストに固有という点である。たとえば、マシン升 ne とマシ ン rain に同じ hiro というアカウントがあっても、それか 同一人物とはかぎらないし、それ以前にユーザー hiro が同 ーの UID/GID をもっている保証もない。もちろん、パ スワードが異なる可能性もある。 ネットワーク環境においてこのような状況が好ましくな いのは明らかだが、アクセス制御の仕組みの変更は容易で はない。そこで、 UNIX では、、関連しあうマシン ( ドメイ ン ) において、アカウント名やグループ名と UID/GID を ( 手作業で ) 統一する " という原始的な方法で対処する。す なわち、マシン fine におけるユーザー hiro の UID が 10001 であるなら、同じドメインのマシン rain でもユー ザー hiro の UID が 10001 になるように設疋するのであ る。アクセス権制御の見からみると、 UID 10001 はつ ねにアカウント名が hiro のユーザーを指す、と仮定するこ 90 とになる。マシン fine において 10001 の UID で動くプ ロセスは、マシン rain においても 10001 の UID をもつ プロセスやサービスを起動し、 rain の資源にアクセスする ことができる。 ドメインに数多くのマシンやユーザーが属する場合、 の統一を手作業で完璧におこなうのはほば不可能である。 そのため、ドメイン内でのユーザー情報を統一して管理す ることを目的として、 NIS (Network lnformation Ser- vice) や LDAP (Lightweight Directory Access Pro- tocol) などの、、ネームサービス " が使われている。前者 は、 /etc/passwd や /etc/group などのファイルをドメ イン内のマシン間で共有するためのメカニズムで、後者は それをより汎用的なディレクトリ・サービスとして実現す る機構である。 ネームサービスを導入すれば、アカウント名と UID/ GID の不統一という問題は回避できる。これらはひろく 普及しているが、利用する場合には、いまだに次のような 問題カっていることを認識し、得失を十分に考えて慎重 に運用していただきたい。 ・システム・アカウントの不統一 root アカウントは明らかにシステムに固有であるため、 ネームサービスでパスワードを共有してはいけない。ま た、 sys や nobody などのシステム・アカウントはプ ラットホームごとに UID / GID がまちまちで、異機種 混在ま竟では共有できない。 ・数値範囲 多くのシステムでは、 UID として 0 ( root ) ~ 65 , 535 の 整数値が使われる。しかし、 Solaris などの 64 ビット OS では 2 , 147 , 483 , 647 ( 4 バイトの正の整数 ) までの 数値カ駛えるように拡張されている。可能なら、 100 未 満はシステム用の予約アカウントという慣例に従って、 100 ~ 32 , 766 までの整数を使うべきであろう。より多 くの UID/GID を使いたい場合は、相互運用性のテス トを十分におこなったうえで利用する。 潜在的なセキュリティ・リスク UNIX MAGAZINE 2004.6

10. UNIX MAGAZINE 2004年6月号

連載 /UNIX Communication Notes 言又疋ファイルの変更 ・ mysql. so ・ libphp4. so 192 次に、 php. ini と httpd.conf を編集し、必要なモジュ ールが起動されるようにする。 php ・ ini あり、その時点でモジュールリストがいったんリセットさ httpd.conf のなかに ClearModuleList という言当が "/usr/pkg/1ibexec/mod-php4. so " LoadM0du1e php4-modu1e - 以下同様 ) 。 で指定すればよい ( 誌面の都合上、で折り返しています。 更した場合は、この行の最後の引数を次のように絶対パス ィレクトリにインストールしていたり、モジュール名を変 のようにしてモジュール名を指定する。標準とは異なるデ LoadM0du1e php4-modu1e 1ibexec/1ibphp4. so ロードも指定する。通常は、 httpd.conf では、 PHP の起動に必要なモジュールの おくとイ財リである。 と言当し、 index. php を自動的に読み込むように設疋して DirectoryIndex index. html index. php このほかに、 DirectoryIndex というディレクテイプに 正しく扱われるようになる。 という 1 行を加えれば、 PHP スクリプトのファイル型が AddType application/x-httpd—php ・ php の適当なところに、 おこなう。 1 つは、 MIME 型の指定である。 httpd.conf httpd.conf では、 PHP スクリプトを使うための設疋を httpd.conf extension=mysql . SO 分に次の 1 行を追加する。 が必要なので、 php. ini の extension をロードしている部 が定義されている。今回は mysql.so を読み込ませる設疋 ル亠 . php. ini では、 PHP の動作を規定するいくつかの変数 62 れている場合は、 AddM0du1e mod—php4. c という行も追加する必要がある。 データベースの準備 MySQL のインストールが終ったら、管理用コマンドの mysqladmin を使って XOOPS で使うユーザーとデータ べースを作成する。 この作業は、次の手川頁でおこなう。 1. ユーザーとパスワードの設疋 MySQL のユーザーは UNIX システムのユーザーとは まったく無関係である。最初は root ユーザーだけが登 録されているが、パスワードは設疋されていないので、 まずはこれを設定する。これは、 % mysqladmin —u root —p password ノヾスワード とすればよい。 セキュリティ対策の面からも、 MySQL を導入してサーバー デーモンを走明」したら、ただちにパスワードを言定すべきである。 2. XOOPS 用のユーザーの作成 この MySQL サーバーを XOOPS 専用とするのなら、 とくに新たにユーザーを作らすに、 MySQL のスーパー ューザーである root をそのまま使ってもあまり問題は ない。 一方、多くのユーザーでデータベースを共有するのなら、 XOOPS 用のユーザーを作成し、ほかのテーカレを壊さ ずに処理できるようにすべきである。 新たなユーザーを登録するには、ユーザー root の権限 で mysql コマンドを実行し、 GRANT ステートメント を使って MySQL のユーザー・データベースに追加す る。詳細は、 MySQL のマニュアルを参照してもらいた い。 MySQL 公式サイトには、日本語マニュアルも用意 されている。 ・ http://dev.mysql.com/doc/mysql/ja/ Adding-users. html このページには、ユーザーの追加方法カ叮寧に説明され ているので、よく分からなけれは読しよう。 注意 2 よく分からないからといって、ユーザーにやたらと権限を与 えるのは間違いである。ユーザーの権限のうち、とくにネットワー UNIX MAGAZ 工 NE 2004.6