[README][SONY NEWSでコンパイルを通す][samba日本語対応について] [INSTALL][日本語INSTALL.TXT][COPYING][Makefile][戻る]
Contributor: Andrew Tridgell <samba-bugs@samba.anu.edu.au>
Date: Unknown
Status: Current
Updated: August 25, 1997
nroff -man smbd.8 | more残念ながら、manページはかなり古くなっていて、またかなりのメンテ ナンスが必要となっています。このほかの情報源はsambaのwebサイト http://samba.canberra.edu.au/pub/samba/ から探し出せます。
また、Makefileの一番最初の部分にある、インストール先も編集しなければ なりません。Sambaが実行中に必要となるものを探し出せるように、これはコンパイルの 前に行わなければなりません。(特にsmbrun)また、ログファイルをどこに置くかなどの設定もおこないます。 編集に間違いが無いかと、指定したディレクトリが存在するかの確認を行ってください。
“make”とタイプすればバイナリーが作成されます。
コンパイルが成功した後で“make install”によってバイナリーとマニュアルページをインストールします。 バイナリーとマニュアルを別々にインストールしたい場合には、“make installbin”または“make installman”を使用してください。
もしあなたがSambaの古いバージョンからアップグレードを行った場合には、古いバージョンのバイナリーは“.old”という拡張子をつけて保存されます。
この場合には“make revert”とする事によって古いバージョンに戻ることができます。このバージョンになにか問題が有った場合に行ってください。
以前にもsambaのインストールを行った事が有る場合には、このステップはとばしてください。
もっとも簡単で有用なコンフィギュレーションファイルはこんなかんじになります。
workgroup = MYGROUPこれはサーバーにアカウントを持っているひとであれば誰でもログインネームか“home”をサーバーネームとして使うことによって接続を許可します。[homes]
guest ok = no
read only = no
“make install”はsmb.confファイルをインストールしない事に注意してください。
あなたはsmb.confを作成しなければなりません。Makefileの中でログファイルなどのために設定したパス(たとえば/usr/local/samba)なども作成してください。
smb.confファイルをMakefileのなかで設定したのと同じ場所に置いたことを確認してください。
netbios-ssn 139/tcp同様に 137/udp に関しても以下のようにしてください。
netbios-ns 137/udp次に、/etc/inetd.confを編集して以下のような2行を追加してください。
netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd/etc/inetd.confの正確な文法はunixによってさまざまです。inetd.confの他のエントリーを参考としてください。
netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbd
注:いくつかのunixシステムではすでにnetbios_nsといったエントリーが/etc/servicesにあります。/etc/serviesか/etc/inetd.confのどちらかを編集してこれらが同一になるようにしてください。
注:いくつかのシステムではインターフェースのIPアドレスとnetmaskを指定するのにsmb.confで“interfaces”オプションを使用しなければなりません。 あなたのネットワークのブロードキャストが分からない場合にはrootでifconfigを実行してください。nmbdは実行時にブロードキャストを決定しようとしますが、いくつかのunixでは失敗してしまいます。 “nmbdのテスト”のセクションにあなたがこれを行わなければならないかの判定方法が有ります。
!!!警告!!! いくつかのunixではinetdのコマンドラインで5個のパラメータまでしか許可して居ません。
これは、オプションと引数の間にスペースを入れるべきではないと言うことです。または、スクリプトを使いinetdからはスクリプトを起動すべきで有ると言うことを意味しています。
inetdを再スターとします。たぶんHUPに送ればOKです。もし、古いバージョンのnmbdがインストールされている場合にはnmbdをkillしなければならないかもしれません。
#!/bin/sh /usr/local/samba/bin/smbd -Dそしてこのファイルを"chmod +x startsmb"で実行可能にします。
/usr/local/samba/bin/nmbd -D
これで、あなたはstartsmbを手で起動するか/etc/rc.localから起動するかできます。
Killするにはnmbdとsmbdに対してkillを行ってください。
注:SVR4 style initシステムを使用している場合には、スクリプトexamples/svr4-startupを見てsambaをシステムにフィットさせてください。
smbclient -L yourhostnameサーバー上の利用可能なsharesリストが入手出来ます。
もしユーザーレベルにセキュリティーを選んだ場合にはshareのリストを出力する前にsambaがパスワードを要求してきます。
詳細はsmbclient docsを見てください。(コマンドラインのオプションに-U%を加えることによってパスワードなしにshareのリストを得ることが出来ます。これはsamba以外のサーバーでは使えません。)
smbclient '\\yourhostname\aservice'通常"yourhostname"はあなたがsmbdをインストールしたホストの名前になります。
たとえば、unixホストはbambiでログインネームがfredの場合には
smbclient '\\bambi\fred'注:¥の数は使用しているshellによって変わります。shellによっては'\\\\bambi\\fred' と入力しなければなりません。
net use d: \\servername\service印刷:
net use lpt1: \\servername\spoolservice print filename激励、またはバグレポートを送ってください。
smbprint.sysvというSYSV 形式のスクリプトも全く同じ働きをします。このファイルにはインストラクションも含まれています。
Sambaはfcntl()unixシステムコールを使って "record locking"をサポートしています。 これはしばしばファイルシステムを所有しているrpc.lockedプロセスに対してrpcコールを使って行われます。 残念ながらたくさんのrpc.locked手法は非常にバッギーです。(バグバグです???)特に他のベンダーのバージョンと交信する場合には不安定です。 クラッシュに関してはrpcロックドではしばしばクラッシュが起こります。
PCクライアントが出した32ビットのロックリクエストをほとんどのunixがサポートする31ビットに変換する際にも問題が有ります。 困ったことにたくさんのPCアプリケーション(OLE2アプリケーションなど)がトップビットセットをセマフォセットとして使用しています。 Sambaはこれらのアプリケーションをサポート使用と試みていました。そして、変換は非常にうまくいっています。
SMBサーバーはファイル上のロックをファイルの読み書きごとにチェックしなければなりません。 しかしながら、 fcntl()の動作上、これはとてもスローでrpc.lockedに過剰にストレスをかけます。また、それはほとんどいつも必要ではないのです。 なぜならば、クライアントは必要で有れば独立にロッキングコールを行うことが出来るからです。 デフォルトではSambaはクライアントから要求されたときにのみロッキングコールを行います。 しかし、"strict locking = yes"と設定すればファイルの読み書き動作ごとにロッキングコールを行います。
また、"locking =no"とする事によってレンジロッキングも無効にする事が出来ます。 これはCD−ROMのようにロックを必要としない物に関して有効です。 このようなケースではSambaはクライアントに対して偽りのリターンコードを発生して、クライアントに正常であることを伝えます。
2つめのロックは"deny modes".です。これはアプリケーションによってファイルを開けるときにファイルオープン状態でどういった同時アクセスが許容されるかが決定されます。 クライアントはDENY_NONE, DENY_READ, DENY_WRITE ,DENY_ALLなどのリクエストを出します。また、 DENY_FCBやDENY_DOSといった特別互換モードも有ります。
"share modes = no"を使って共有モードを無効にすることも出来ます。これは負荷の重いサーバーで共有モードのコードが非常に遅い場合に有効です。 共有メモリーを使った高速共有モードに関してはMakefileのFAST_SHARE_MODESオプションを見てください。(ただしOSがサポートする場合のみ)