samba2.0.7-ja-1.3 for Solaris 2.7 ( SPARC )


目的: Solaris 2.7 SPARCsambaをインストールと各種設定方法
(注)以下の設定は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プリンタサーバーへの印刷


01.ダウンロードしたアーカイブファイルの展開

%gunzip samba-2.0.7-ja-1.3.tar.gz
%tar xvf samba-2.0.7-ja-1.3.tar

[GO TO TOP]

02.コンパイル

samba-2.0.7-ja-1.3/sourceディレクトリに移動する。
%cd samba-2.0.7-ja-1.3
%cd source
configureの実行し、コンパイル、関数、ツール類のチェックを行う。
%./configure
コンパイルの実行
%make

[GO TO TOP]

03.インストール

sambaは/usr/local/sambaディレクトリ以下にインストールされるように設定されている。
%su
Password:
#make install

[GO TO TOP]

04.sambaの設定

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.conf

smb.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が起動し常駐します。

[GO TO TOP]

05.動作確認

#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マシン
が見えるようになる。

[GO TO TOP]

06.smbclientの使用方法

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を表示します 
	・!
	 シェルを実行します
	

[GO TO TOP]

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 印刷フィルタの設定

[GO TO TOP]