samba2.0.7-ja-1.3 for Solaris 2.7 ( SPARC )
目的: | Solaris 2.7 SPARCに
sambaをインストールと各種設定方法 (注)以下の設定はsamba2.0以降の設定です。 |
資源: | samba-2.0.7-ja-1.3.tar.gz |
得元: | ftp.samba.gr.jp/pub/samba-ja/samba-2.0.7-ja |
01.ダウンロードしたアーカイブファイルの展開
02.コンパイル
03.インストール
04.sambaの設定
05.動作確認
06.smbclientの使用方法
07.SolarisからWindowsプリンタサーバーへの印刷
%gunzip samba-2.0.7-ja-1.3.tar.gz
%tar xvf samba-2.0.7-ja-1.3.tar
samba-2.0.7-ja-1.3/sourceディレクトリに移動する。
%cd samba-2.0.7-ja-1.3
%cd source
configureの実行し、コンパイル、関数、ツール類のチェックを行う。
%./configure
コンパイルの実行
%make
sambaは/usr/local/sambaディレクトリ以下にインストールされるように設定されている。
%su
Password:
#make install
sambaの設定はsmb.confファイルで行う。
smb.confは、samba-2.0.7-ja-1.3ディレクトリのexamplesディレクトリにある
smb.conf.defaultファイルを/usr/local/samba/libディレクトリにコピーする。
%cp smb.conf.defalut /usr/local/samba/lib/smb.confsmb.confの基本設定 [global]セクション ワークグループ名の指定 「workgroup = MYGROUP」 MYGROUPを実際のワークグループ名(Windowsドメイン名)に変更する。 Sambaの認証モードの指定(パスワード暗号化に対応している場合) (1)ユーザー認証をSambaサーバー(Solaris)で行う場合 「security = user」 以下の2行を追加する。 「encrypt passwords = yes」 「smb passwd file = /usr/local/samba/private/smbpasswd」 encrypt passwords = yesとした場合、Samba側のユーザー認証はUNIXの認証方法を用いず、 WindowsNTと同じ方法で行います。 Samba専用のパスワードファイルを用意する。 UNIXのパスワードファイルから、Samba用のパスワードファイルを作成するスクリプト (samba-2.0.7-ja-1.3/source/scriptディレクトリにあるmksmbpasswd.shを使って行う。) %su #cat /etc/passwd | sh mksmbpasswd.sh > /usr/local/samba/private/smbpasswd デフォルトではSambaに接続ができないので、ユーザーがSambaを使用できるようにするには、 smbpasswdコマンドの"-e”オプションを使って設定する必要がある。 #/usr/local/samba/bin/smbpasswd -e ユーザー名 New SMB Password: <パスワードの入力> Repeat New SMB Password: <パスワードの再入力> smbpasswdファイルをrootユーザー以外からアクセスできないようにする。 #chown -R root /usr/local/samba/private #chmod 500 /usr/local/samba/private #chmod 600 /usr/local/samba/private/smbpasswd (2)WindowsNTにユーザー認証をしてもらう場合 (T)「security = server」の場合 「security = server」 「password server = プライマリ・ドメイン・サーバー名」 (U)「security = domain」の場合 「security = domain」 「password server = プライマリ・ドメイン・サーバー名」 「encrypt passwords = yes」 WindowsNTの設定として、WindowsNTのサーバー・マネージャー(SRVMGR.EXE)を起動し、 Sambaマシンをドメインに追加します。メニューの「コンピュータ」−「ドメインに追加」をクリックし、 「WindowsNTワークステーションまたはサーバ」で追加します。 Sambaサーバ上で以下を実行し、NTドメインのメンバーに追加します。(UNIXのrootユーザで行います) #/usr/local/samba/bin/smbpasswd -j NTドメイン名 -r プライマリ・ドメイン・サーバー名 (注)WindowsNTでユーザー認証を行う場合には、WindowsNTの設定のTCP/IPを有効にしておく。 「コントロールパネル」−「ネットワーク」−「バインド」をクリックし、 サーバーのWINSクライアント(TCP/IP)で右クリックを押し、有効に設定しておく。
smb.confの文法チェック /usr/local/samba/bin/ディレクトリにあるtestparmを用いる。 %/usr/local/samba/bin/testparm SambaをSolaris起動時に自動で起動させる設定(デーモンとして常駐させる) samba-2.0.7-ja-1.3/examples/svr4-startupディレクトリにあるsamba.serverファイルを使います。 このファイルを/etc/rc3.d/以下にS87sambaというファイル名でコピーします。 #cp samba.server /etc/rc3.d/S87samba また、/etc/rc[0,1,2].d/以下にK02sambaという名前でリンクをはる。 #/etc/rc3.d/S87samba start とするとsambaが起動し常駐します。
#ps -e | grep smbd
#ps -e | grep nmbd
を実行しデーモンが起動しているか確認する。
/usr/local/samba/bin/ディレクトリにあるsmbclientを使い動作確認を行います。
%smbclient -L localhost
と入力すると以下のように表示される。added interface ip=aaa.bbb.ccc.ddd bcast=eee.fff.ggg.hhh nmask=255.255.255.0 Password: Domain=[NTドメイン名] OS=[Unix] Server=[Samba 2.0.7-ja-1.3] Sharename Type Comment --------- ---- ------- IPC$ IPC IPC Service (Solaris) プリンタ名 Printer mgmt0 Printer ユーザー名 Disk Home Directories Server Comment --------- ------- Samba Server Solaris サーバー名 Workgroup Master --------- ------- NTドメイン名 サーバー名出力が得られたなら、Windowsの「ネットワークコンピュータ」からsambaを載せたSolarisマシン
が見えるようになる。
smbclientを使用するとFTPコマンドのようなインタファースでWindowsのファイルにアクセスできます。
使用方法
smbclient service -オプション
引数とその意味:
-p port ポート番号を指定します -N パスワードの問い合わせを抑止します -P プリンタに接続する時に指定します -L host 利用可能な共用資源一覧を表示します -I dest IP 接続先のIPアドレスを指定します -U username 接続時のユーザー名を指定します -W workgroup 接続時のワークグループ名を指定します -t terminal code 漢字コードを{sjis|euc|jis7|jis8|junet|hex}で指定します -D directory 初期ディレクトリを指定します
使用例1
%smbclient ¥¥¥¥マシン名¥¥共有名
接続に成功すると
smb:¥>
プリンタに接続する場合
%smbclient ¥¥¥¥マシン名¥¥プリンタ名 -P
というプロンプトが現れます。ここからは以下のコマンドが利用できます。
・lsとdir リモートのファイル一覧を表示 ・lcd ローカルのディレクトリ変更 ・cd リモートのディレクトリ変更 ・pwd リモートのカレントディレクトリを表示 ・get リモートからローカルへファイルを1つ転送 ・mget リモートからローカルへファイルを複数転送 ・put ローカルからリモートへファイルを1つ転送 ・mput ローカルからリモートへファイルを複数転送 ・rename リモートのファイル名を変更 ・more リモートのファイル内容を表示 ・mask ファイルマスクを指定します ・delとrm リモートのファイルを削除 ・mkdirとmd リモートにディレクトリを作成 ・rmdirとrd リモートのディレクトリを削除 ・prompt mputとmgetでプロンプトが出ません ・recurse mputとmgetでサブディレクトリを転送します ・translate 印刷時、テキストモードに変更します ・lowercase get時にファイル名を小文字に変換します ・print ローカルファイルを印刷します ・mode 印刷モードをテキストとグラフィックスに切り替えます ・queue リモートプリンタのキューを表示します ・qinfo リモートプリンタのキュー情報を表示します ・cancel リモートプリンタのキューを削除します ・quitとqとexit 終了します ・newer mget時、新しいファイルだけを持ってきます ・tar tarを実行します ・tarmode tarのモードをから指定します ・setmode ファイルのモードを指定します ・helpと ? helpを表示します ・! シェルを実行します
07.SolarisからWindowsプリンタサーバーへの印刷(英文テキストファイル)
Sambaの配布物に付属するsmbprintシェルスクリプトを使用すると、SolarisからWindowsの
プリンタサービスで印刷を実行できるように、lpを設定することができます。
また、smbprintは、samba-2.0.7-ja-1.3/examples/printingディレクトリにあります。
これを/usr/local/samba/binディレクトリにコピーします。
%cp smbprint /usr/local/samba/bin/smbprint
設定WindowsNT側の設定として、「コントロールパネル」−「ネットワーク」−「サービス」でTCP/IP印刷を追加します。 次に、「コントロールパネル」−「サービス」でTCP/IP print serverを開始します。 Solaris側の設定としては、 (1)/etc/printcapの設定 プリンタ名:lp=/dev/null:\ :sd=/var/spool/lpd/プリンタ名: \ :lf=/var/spool/lpd/プリンタ名:\ :af=/var/spool/lpd/プリンタ名/acct:\ :if=/usr/local/samba/bin/smbprint: \ :sh:sf:\ :mx#0: lpパラメータ:プリントデバイスを使用します。 sdパラメータ:SMBプリンタサービスにデータを転送する前に、スプールするのに使われます。 afパラメータ:プリンタのアカウントファイルを指定しています。この引数にはディレクトリではなく、 ファイルを指定しなけらばならない。 ifパラメータ:印刷フィルタを指定します。ここでは、smbprintのある場所の絶対パスを指定しています。 (2)/usr/local/spool/プリンタ名/.configの設定 .configファイルに以下の設定をします。 server=PC_SERVER service=PRINTNAME password=PASSWORD user=USERNAME (3)smbprintファイルの設定 最後の行の ) | /usr/local/samba/bin/smbclient "\\\\$server\\$service" $password -U $server -N -P >> $logfile -U $serverを -U $userに直します。 ) | /usr/local/samba/bin/smbclient "¥¥¥¥$server¥¥$service" $password -U $user -N -P >> $logfile (4)プリンタ設定 スーパーユーザーになり、admintoolを起動します。 %su #admintool & 「ブラウザ」−「プリンタ」−「編集」で「追加」−「プリンタへのアクセス」を選んで設定します。 次に、以下のコマンドを入力します。 #lpadmin -p プリンタ名 i /usr/local/samba/bin/smbprint プリンタの状態を表示させるため、「lpstat -p」と入力します。 %lpstat -p printer プリンタ名 unknown state. enabled since 10月 24 11:45 2000. available. 以上の設定で英文のテキストファイルが印刷できるようになります。印刷関係の主なコマンド一覧
lp 印刷リクエストの発行 lpstat 印刷待ちジョブなどプリンタの状態の表示 cancel 印刷リクエストの取り消し lpadmin 印刷関係の各種設定 lpfilter 印刷フィルタの設定