Samba

 

Samba設定 2004/01/13更新
Sambaとは

LinuxマシーンをNetworkのサーバとするためのプログラム

   
Protocol NBT
   
Port 136/TCP〜139/TCP 136/UDP〜139/UDP
   
Program /usr/sbin/smbd  /usr/sbin/nmbd(rpmでインストールした場合)
   

ダウンロード先(RPM版)

http://www.samba.gr.jp/project/samba-ja/download_2.2.html
(tar.gz版)
http://www.samba.gr.jp/project/samba-ja/download_2.2.html
すべてのバージョン(English ver) http://us1.samba.org/samba/ftp/
Install rpm --install samba-3.0.x.rpm
tar.gzは、オプションが長いので下記で書く事にする。
実行方法 /etc/init.d/smb start又は /usr/local/samba/bin/smbd -D  ~/nmbd -D
   
備考

苦情・訂正など root@kmr.homeip.net
なんでもくれ・・いたずらは、あぼ〜ん
   
備考 2002/03/05に書いた物は、以下の倉庫に保管した。
以下にフォーマットも整ってなく、適当なことを書いていたのかよく判る。

そして今もあまり変わってないことに気付く(w
あふぉ振りを見たい方はどうぞ。samba 2.2.2.ja-10 の時に書いたもの。

もちろんリンクなんかもとっくに切れている。
http://kmr.homeip.net/~tomoyo/command/samba20020305.htm
   
Samba 2.2系 3.0系について
2004/0113日現在の最新バージョンは、以下のとおり。

Samba-2.2.8a-ja-1.1(Japanese version)
Samba-2.2.8a(English version)

Samba 3.0.1(日本語利用パッケージ集を利用することにより、日本語対応可能になる。)
日本のSambaユーザ会は、よくリンクが切れてて中々ダウンできないことが多い。

現在まで2.2.8aを使ってきたが、2.2.8aのファイル名を扱うところにバグがあり、2.2.8aそのものを利用してるのには問題ないが、2.2.8a-ja-1.1にしたり、3.0系にした場合に、以前の versionで書き込んだファイル名が扱えなくなる。

新規で入れる場合は、極力最新バージョンを入れることを薦める。
ウチの場合は、2.2.2から利用してるので、しかたないので2.2.8aで、運用を続けている。

 
インストール手順

$tar zxvf samba-2.2.8a.tar.gz
$cd samba-2.2.8a
$cd source
$ ./configure --with-sendfile-support --with-acl-support --with-i18n-swat \
--with-pam --with-pam_smbpass --with-ssl --with-smbwrapper \
--with-smbmount --with-automount --with-dce-dfs \
--with-sslinc --with-ssllib --with-utmp --with-msdfs \
--with-sendfile-support -with-winbind-auth-challenge

$make
$make install
 
各オプションの意味
 
--with-sendfile-support
--with-acl-support ACL機能をサポートする。POSIX準拠のACLをもとにSambaへWindows NT/2000のようなACLが使えるようにする機能
--with-i18n-swat SWAT の国際化を有効にする。
--with-pam Linux用ユーザ管理モジュール PAMモジュールを使うことにより、管理を専用モジュールに任せられるため、安定性、信頼性が上がる。
--with-pam_smbpass smbpass PAMモジュールの有効化
--with-ssl sslに対応させる。opensslが別途必要になる。
--with-smbwrapper smbmountに代わる smbsh機能を有効にする。smbshコマンドを使用する場合は指定
--with-smbmount 他のファイルシステムへsambaマウントする場合に必要。kernelでの指定でも必要になってくる。Network File Systems > SMB file system support にチェックを入れる。
--with-automount 自動マウント機能を使用する時に指定する。
--with-dce-dfs DCE(分散コンピューティング環境)のDFS(分散ファイルシステム)を使用するときに指定する。(Linuxでは特に使用することは無いとかいてあった)
--with-sslinc SSLライブラリのINCLUDEディレクトリを指定する。
(デフォルト /usr/local/ssl/include)
--with-ssllib SSLライブラリのLIBディレクトリを指定する。
(デフォルト /usr/local/ssl/lib)

設定終了・・接続試験してみる・・

とりあえず、何はともあれSWATを起動してみようと思いIEから、http://192.168.1.1:901と押す。
えい!・・・・・あれ表示されんな・・えいやぁ!!・・・むむむ・・

おかしいと思ったので、まず、/etc/xinetd.d/swat を見てみる。
案の定設定が、rpmが元々インストールされてた、swatを指してた

[/etc/xinetd.d/swatの中身]
service swat
{
  disable = no
  log_on_failure += USERID
  port = 901
  socket_type = stream
  protocol = tcp
  user = root
  server = /usr/local/samba/bin/swat <<注)ここが、/usr/sbin/swatになってた
  type = UNLISTED
  wait = no
  only_from = 192.168.1.0/29
}

とりあえず、これでswatは表示できるようになりました。さてインストールする前に、コピーしておいた、smbのシェルスクリプトを、/etc/init.d/にコピーして・・

/etc/init.d/smb start ・・・むむ何も表示されん。(以下、正常に動作したスクリプトを表示する)

[/etc/init.d/smbの中身]
# Check that smb.conf exists.
[ -f /usr/local/samba/lib/smb.conf ] || exit 0 <<注)ここが/etc/samba/smb.conf になっていた。

#See how we were called.
case "$1" in
start)
echo -n "Starting SMB services: "
/usr/local/samba/bin/smbd -D <<注)ここが、demon /usr/sbin/smbd -D になってた
/usr/local/samba/bin/nmbd -D <<注)同じくインストール先のパスが違ってた
echo
touch /var/lock/subsys/smb
;;
stop)
echo -n "Shutting down SMB services: "
killproc /usr/local/samba/bin/smbd
killproc /usr/local/samba/bin/nmbd
rm -f /var/lock/subsys/smb
echo ""
;;


ようは、SAMBAを make install したインストール先が、デフォで、/usr/local/samba/ だったわけで、
RPMでインストールする場合は/etc/samba にインストールされるようになってるらしい。統一してくれや・・(--;;

 

/usr/local/samba/bin/smb.confの中身を作りなおす。

[ smb.confの中身]
[global]
coding system = sjis         クライアント側から見るときにSJISコードに変換して表示
client code page = 932        知らん(汗
workgroup = SAKURA_NETWORK ワークグループ指定
netbios name = C036        windowsなどでネットワークを表示した時に出てくる名前
security = user            ユーザごとのセキュリティー
encrypt passwords = yes      暗号化パスワードを使うか?
[homes]
writeable = yes
browseable = no

 

色々はまった事

・パスワードが初期化された。
   コレは仕方ないので、smbpasswd -a ユーザ名  で全部作りなおした。

・設定ファイルが消えてた。
   smb.confの設定が当然のように消えてたので、/usr/local/samba/lib/smb.conf を書き換えた

・daemon /usr/local/samba/bin/smbd -D が動かなかった
   ォィォィ・・しょうがないので、いつものように俺的解釈で、daemon ってなんだよ;;これとっちゃえ・・で動いた(汗

・とりあえず動いたんで一服モード(終了



Enter