自己リスクでhackしてnfs-serverを動かせることが必要条件。
Bic cameraにI-O DATAのHDL-GT 1.6T を見に行ったら Baffalo の TS-H2.0TGL/R5 の方が安かった。I-O DATA の1.6T よりも Baffaloの2.0Tが安くポイントも18%だという。販売員はBaffaloの拡販トークを炸裂。困った。な〜んて事を書いたら某氏に怒られてしまう(笑)
/etc/init.d/rc.local の最後に /usr/sbin/telnetd と1行追加する (デーモンの起動) /etc/securetty に pts/0 と1行追加する (rootログインの許可)HDLのWeb管理画面のファームウェの更新機能を使ってこの2つを仕込む。
#!/bin/sh # # landisk-update.sh # PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin mount -o remount,rw,noatime / echo "/usr/sbin/telnetd" >> /etc/init.d/rc.local echo "pts/0" >> /etc/securettyファイル名 for_HDL-GT_series
1.22この2つだけが入った update.tgz を作る。作った→hdl-telnetd.zip
$ telnet 192.168.7.**** Trying 192.168.7.****... Connected to 192.168.7.**** Escape character is '^]'. Using fallback suid method landisk login: root Linux landisk 2.6.12.6-arm1 #2 Mon Jun 18 17:29:41 JST 2007 armv5tejl GNU/Linux The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. landisk:~# uname -r 2.6.12.6-arm1
1) root ユーザはパスワード無し 2) NASのユーザは unixユーザとして登録しているが、シェルが /bin/false を指定していてログインできないという設計のようだ。
# cat /etc/fstab proc /proc proc defaults,nosuid,noexec 0 0 /dev/md1 /boot ext2 defaults,rw 0 0 /dev/md2 / ext3 defaults,rw 1 1 /dev/sda3 swap swap defaults 0 0 /dev/sdb3 swap swap defaults 0 0 /dev/sdc3 swap swap defaults 0 0 /dev/sdd3 swap swap defaults 0 0 /dev/sde3 swap swap defaults 0 0 /dev/sdf3 swap swap defaults 0 0 /dev/md5 /mnt/hda5 ext3 defaults,rw,sync 0 0
# df -h Filesystem サイズ 使用 残り 使用% マウント位置 rootfs 388M 244M 141M 64% / /dev/root 388M 244M 141M 64% / /dev/shm 62M 3.6M 59M 6% /mnt/ram0 tmpfs 62M 0 62M 0% /dev/shm /dev/md1 198M 99M 97M 51% /boot /dev/md5 506M 9.3M 471M 2% /mnt/hda5 /dev/md13 1.4T 688K 1.4T 1% /mnt/sataraid1この2つだけ貼っておけば十分だろう。
landisk:~# cat /etc/samba/smb.conf [global] winbind separator = @ template shell = /bin/false dos filetimes = yes winbind uid = 20000-30000 server string = HDL-GT series msdfs root = no dns proxy = No private dir = /var/log map to guest = Bad User winbind cache time = 30 socket options = TCP_NODELAY SO_RCVBUF=32768 SO_SNDBUF=32768 smb passwd file = /etc/samba/smbpasswd panic action = /usr/share/samba/panic-action %d guest only = no netbios name = LANDISK printing = cups dos charset = CP932 passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n winbind gid = 20000-30000 workgroup = KOUBOU null passwords = yes unix password sync = yes security = user max log size = 50 passwd program = /usr/bin/passwd %u unix charset = UTF-8 password server = guest account = nobody passdb backend = tdbsam winbind enum groups = yes host msdfs = no printcap name = cups wins support = no os level = 0 realm = guest ok = yes client schannel = No lock directory = /var/lock load printers = yes encrypt passwords = yes use sendFile = yes log file = /var/log/samba/log.%m winbind enum users = yes wins server = display charset = UTF-8
/位置で作業(怖いけど) # cd / Read/Writeにする # mount -o remount,rw / portmapを落として展開 # wget http://ftp.debian.org/debian/pool/main/p/portmap/portmap_5-9_arm.deb # ar x portmap_5-9_arm.deb # tar xzvf data.tar.gz # update-rc.d portmap start 43 S . start 32 0 6 . start 18 2 3 4 5 . stop 81 1 . nfs-user-serverを落として展開 # wget http://ftp.debian.org/debian/pool/main/n/nfs-user-server/nfs-user-server_2.2beta47-20sarge2_arm.deb # ar x nfs-user-server_2.2beta47-20sarge2_arm.deb # tar xzvf data.tar.gz # update-rc.d nfs-user-server defaults 25 不要ファイルを消す # rm portmap_5-9_arm.deb # rm nfs-user-server_2.2beta47-20sarge2_arm.deb # rm debian-binary # rm control.tar.gz # rm data.tar.gz エクスポートファイルを作る # cat > /etc/exports 適当な exports ファイル ctrl+d ReadOnlyにする # mount -o remount,ro / デーモンの起動 # /etc/init.d/portmap start # /etc/init.d/nfs-user-server startやりたかったことが完成した。ただし NASの設計者は portmap デーモンが動いている前提でシステムを作っていないはずなので、システムのバックアップ時などに portmapを止めたりはしてくれないだろうからバックアップシステムなどに支障をきたす恐れがある。その辺は自己責任で。