▲Zaurus Top | ↑Up(設定・システム) | ←Prev(telnet で Zaurus にログイン) | →Next(SSH で安全ログイン)
更新: automount 追加(2003/11/08)
(2003/06/25)
Samba は、Windows で使われるファイル共有プロトコルの Unix 上での実装。
ここでは zaurus に(標準で)インストールされている samba server を使って、 zaurus のファイルを、パソコンのエディタで編集しようということ。このページ も、出先では zaurus 上で、家では samba 接続して、PC 上で書いている。
そもそも、zaurus のパソコン連携は、samba を使って実現されている。標準では、 zaurus と PC は USB ケーブルで接続されるが、USB 上に TCP/IP のネットワーク を通し(usbdnetと呼ばれる)て、ファイルのやり取りを行っている。
Samba の設定ファイルである、smb.conf を編集する。
[global] # workgroup is either a domain name or a workgroup name workgroup = XXXX log file = /dev/null hosts allow = 192.168.1. # # encrypt passwords is required for Win98, NT and Windows 2000 # encrypt passwords = yes coding system = utf8 client code page = 932 force create mode = 0755 strict sync = yes sync always = yes # interface = usb0 interface = usb0 eth0 # wins support = yes [system] comment = System Folder path = /root/samba read only = no browseable = no guest ok = yes force user = root [home] comment = for User Data path = /home/samba short preserve case = no read only = no guest ok = yes force user = zaurus [root] comment = root dir path = / short preserve case = no read only = no guest ok = yes
ここまでの状態で、Windows から zaurus が、パスワードなしで ブラウズ/マウント可能になっている。ところが、母艦 Linux から マウントしようとしたら、パスワードなしではマウントできない模様。 セキュリティ向上も兼ねて smbpasswd でパスワードを設定する。
smbpasswd は http://gadget.mda.or.jp/zaurus/ から .ipk で入手可能。インストールしても、 /usr/bin/smbpasswd コマンドができるだけでアイコンは出てこない。
root の シェルから
smbpasswd -a zaurusで、パスワードを聞いてくるので2回入力。 samba ユーザとして zaurus が追加され(-a)、 パスワードが設定するされた。
smbpasswd のバイナリは、/usr/local/samba/ の中を 設定ファイルのために使うよう、ハードコーディングされているので、 他のツールと整合を取るためにシンボリックリンクが多い。 幸い、smbpasswd のインストーラが全部やってくれる。
/usr/lib/samba/codepages/ -> /usr/local/samba/lib/codepages/ /usr/lib/samba/smb.conf -> /usr/local/samba/lib/smb.conf /usr/local/samba/private/smbpasswd -> /etc/smbpasswd
ここまで設定した状態で root のシェルから
/etc/rc.d/init.d/samba startすれば、smbd が起動し、samba が利用できる。Linux からは次のように。 ただし、マウントしてるかどうか、残り容量などは、dfでは見えない。 df -a してみよう。
smbmount //zaurus/home/ /mnt/samba -o uid=zkon
Windows からは「ネットワークコンピュータ」からたどる。
毎回ターミナルを起動して、root になって、bash を起動して、 コマンド打って、ってのがめんどくさい場合は http://gadget.mda.or.jp/zaurus/の SambaContoller が使える。 .ipkg なのでインストールするだけ。ランチャアイコンを長押しして 「root で実行」にチェックしておけば、あとはGUI でsmbd が起動する。
アイコン突っつくのさえ面倒だという人には自動化する方法がある。 Unix なので、スクリプトベースで自由にできる(自己責任だけどね)
最初に思いつくのが、rc.local で起動してしまっておくというのだ。 ただし、リソースが厳しい zaurus では望ましくない。 よって、Wireless LAN で接続したときに、samba を起動することにしよう。 ただし、ホットスポットで街中無線LANしたときも samba が起動してしまうので、この設定を試す人は注意。
CFカードの wireless LAN が起動したときは、/etc/pcmcia/network start が実行 される。よって、次の箇所に samba を仕込む。 切られた時のnetwork stop 時にも対応しておこう。
〜省略〜 start_fn $DEVICE /usr/bin/ntpdate clock.nc.fukuoka-u.ac.jp /etc/rc.d/init.d/samba start ;; 'stop') stop_fn $DEVICE /etc/rc.d/init.d/samba stop 〜中略〜 #'suspend'|'resume') 'suspend') /etc/rc.d/init.d/samba stop ;; 'resume') /etc/rc.d/init.d/samba start ;; 〜省略〜
標準の /etc/rc.d/init.d/samba はパスが通っておらず使いづらいので、 /usr/sbin にもパスを通しておく。
〜省略〜 hostname `cat /etc/HOSTNAME` # add by KONDOU 2003/06/30 PATH=$PATH:/usr/sbin echo "Starting smbd..." smbd -D -l /dev/null 〜省略〜
最近の Unix システムは automount が装備されている。すると、次のことが簡単 にできる。
ではやってみよう。母艦の /etc/auto.master が次のように適切に設定されている、 とする。これは、/etc/auto.misc の設定を、/misc に適用するということだ。
# $Id: auto.master,v 1.2 1997/10/06 21:52:03 hpa Exp $ # Sample auto.master file # Format of this file: # mountpoint map options # For details of the format look at autofs(8). /misc /etc/auto.misc --timeout=60
/misc に対する、automount 設定ファイル、/etc/auto.misc を次のように設定す る。//zaurus/home の部分は、zaurus 上の /usr/local/samba/lib/smb.conf の [home] セクションをマウントしたい、ということを意味している。
# $Id: auto.misc,v 1.2 1997/10/06 21:52:04 hpa Exp $ # This is an automounter map and it has the following format # key [ -mount-options-separated-by-comma ] location # Details may be found in the autofs(5) manpage kernel -ro,soft,intr ftp.kernel.org:/pub/linux cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom # the following entries are samples to pique your imagination floppy -fstype=auto :/dev/fd0 zaurus -fstype=smbfs ://zaurus/home
あとは、母艦の automount を再起動して、/misc/zaurus にアクセスすればよい。 そこには、zaurus のディスクが見えているはずだ。
豆知識: samba でマウントされているパスは、df では見えない。samba のディス クがマウントされているかどうかは、df -a か、mount コマンドを使うのだ。
どの Wireless LAN につながったかは、/sbin/iw* コマンドや、 /etc/pcmcia/wireless, wlan-ng で情報が得られるので、 お家 Wireless につながった時のみ、 samba を起動するようにできたらいいな。
しかし、今のところ、使いやすい街中無線LAN(HotSpot)が無いので、 外には無線LANカードを持っていっていないのだ。 外で無線LANが実用的に使えるようになったら考えてみることにしよう。
▲Zaurus Top | ↑Up(設定・システム) | ←Prev(telnet で Zaurus にログイン) | →Next(SSH で安全ログイン)