«前の日記(2005年09月20日) 最新 次の日記(2005年09月22日)» 編集

だめだめ日記

ツッコミの内容は検索サイトからの検索やサイトのレーティングに影響します。そのため問題があるキーワードを含むと思われるツッコミについては、当方の判断で削除することがあります。予めご了承ください。 なお、コメントspamと判断されたツッコミは自動的に消去されます。ご容赦ください。
2002|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|05|06|09|10|11|12|
2013|01|02|02|03|08|09|
2014|01|
2015|09|10|11|
2016|01|04|

執筆、翻訳などに関わった書籍類


【改訂新版】Samba [実践]入門

Linux教科書
LPICレベル3 300試験

マスタリング Nginx

実践 パケット解析 第2版

改訂版 Sambaのすべて

アンドキュメンテッド
Microsoftネットワーク

その他の書籍は だめだめ日記のおみせ@本店でどうぞ。



2005年09月21日 [長年日記]

[Samba] Samba 3.0.20のwinbind nss infoパラメータ

検証した結果とか

このパラメータ(リリースノートにwinbindd nss infoとあるのはスペルミス)は、templatesfuという値をとります。デフォルトはtemplate

デフォルト値の場合、Winbind機構で作成されるユーザのシェルとホームディレクトリは、おのおのtemplate shelltemplate homedirパラメータの値で一律に指定されます。

winbind nss info = sfu の場合、これらの値は、対象ユーザの Active Directory 上の UNIX 属性から取得されます。したがって、Winbind機構で作成するユーザ毎に、シェルとホームディレクトリの値を設定することが可能になります。

なお、UNIX 属性は、もともと SFU (Services for UNIX) の NIS サーバ機能のためのもので、NIS サーバ機能をインストールすることによって、拡張されます。

設定を行うには、幾つかの手順を踏む必要があります。

  1. security = ads」の設定で、ドメインに追加
    LDAPデータベースである Active Directory に格納されている属性を参照するので、「domain」ではなく「ads」で参加させる必要があります。
  2. Winbind機構を動作させる
  3. Windows側のDCにSFUのNISモジュールをインストールして、スキーマを拡張する
    スキーマ拡張だけであれば、NISモジュールをインストールしなくても、sfusch.exe を実行すればOKっぽいです。ただし、その場合は管理GUIがインストールされないので、データの入力とかが若干面倒になりそう(未検証)。詳細は 企業ユーザーのためのSFU 3.5活用ガイダンス 第2回 NISサーバとパスワード同期機能(前編)とかをみてくださいませ。
  4. smb.confに以下の設定を行う
    [global]
      ...
      winbind nss info = sfu
    

設定がうまくできていると、以下のような感じで、ユーザ毎に別のシェルとホームディレクトリが指定されます。なお、UNIX 属性には、UID や GID などの属性もあるのですが、これらは反映されません。

$ getent passwd W2003AD2\\samba01
W2003AD2\samba01:x:20000:2000:Samba 01:/home/sv1/samba01:/bin/bash
$ getent passwd W2003AD2\\samba02
W2003AD2\samba02:x:20001:2000:Samba 02:/home/sv2/samba02:/bin/tcsh

なお、この設定を行っている場合でも、UNIX 属性が設定されていないユーザについては、従来どおり、template homedir/shellの設定が用いられます。

[Samba] Samba 3.0.20のusername map scriptパラメータ

これも、ちょっと検証した結果を

とりあえず、smb.conf には、username mapパラメータの代わりに

[global]
  ...
  username map script = /usr/local/samba/lib/mapusers.sh

とか指定します(スクリプト名は任意)。

ここで指定したスクリプトは、Windows側から渡されるユーザ名を引数にとり、Samba側にマッピングされるユーザ名を返却する必要があります。

たとえば、

root = Administrator
monyo = "TAKAHASHI Motonobu"

という Username Map ファイルとほぼ同等のスクリプトを以下に示します。

#!/bin/sh
 
if [ "$1" == "Administrator" ]; then
  echo root
elif [ "$1" == "TAKAHASHI Motonobu" ]; then
  echo monyo
fi

ただし、このスクリプトでは、Windows側のユーザ名の大文字小文字が区別されます。たとえば、上記のスクリプトの場合、Windows側で「administrator」というユーザでログオンしようとすると失敗します。

こういう大文字小文字同一視の処理は、スクリプト側で責任をもって実装する必要があります。なお、Username Map ファイルの場合、大文字小文字の差異は無視されます。

[Samba] Solaris の iconv_ja(5)

Solaris 8 の iconv_ja(5) をみてたんですが、これを見る限り、たとえば、EUC-JP と UTF-8 の間では、「ベンダ定義文字、ユーザ定義文字」の変換もできるといってるので、もしかしたら Samba で使えるかなと思ってみたり。

まぁ、要確認ですかね。

[Samba] Solaris の iconv_ja(5) - その後

確認してみましたが、だめでした

まず、Samba の configure では、IBM850 もしくは CP850 と UCS-2LE との文字コード変換が行えない iconv はだめだめと判断するようですが、Solaris ではこうしたコードセットがないので NG と*1

さらに Samba で利用する文字コードは、UCS-2LE との変換ができないといけませんが、Solaris では、ほとんどの文字コードが Unicode 系の文字コードとしては UTF-8 との変換しかサポートしてません。日本語はいうにおよばず、いわゆる 8859-n 系以外すべてがそうです。

ということで、結局だめということで orz

補足

Sunの人には伝え(伝わり)ました。

*1 IBM-850というのはあるので、configure を書き換えれば、ここはクリアできますが


Copyright (C) 2003-2017 TAKAHASHI, Motonobu
webmaster@monyo.com