Novell(クラウドコンピューティングのセキュリティ・仮想化ソリューションを実現)

 

SUSE LinuxでのSambaのトラブルシューティング

This document (7001492) is provided subject to the disclaimer at the end of this document.

環境

Novell SUSE Linux Enterprise Server 10サポートパック1
Novell SUSE Linux Enterprise Server 10サポートパック2
Novell SUSE Linux Enterprise Desktop 10
Novell Open Enterprise Server 2 (OES 2)
Samba

問題の状況

このドキュメント(TID)は作成中で、今後内容および詳細が追加されます。更新内容を定期的に確認してください。

注:すべてのインストールおよびセットアップの問題と同様、サーバに最新のコードのパッチを適用してください。ソフトウェアには常に改良がなされています。たとえば、このTIDでの問題およびエラーの一部は、OES 2 SP1では解決されています。(このTIDは当初、サポートパックのリリース前にOES 2中に作成されたものです)


解決策

目次

  1. iManagerでSambaを管理しようとしたときのエラー
  2. 存在しない、または正しくない共有、および正しくないドメイン/ワークグループ名
  3. サーバにパッチを適用した後のさまざまな障害およびエラー
  4. NSS上でSambaにクラスタを有効にした場合のヒント

iManagerでユーザにSambaを有効にしようとしたときのエラー

 
エラー: グループ<ServerName>-W-SambaUserGroupのユーザに対してSambaを有効にできませんでした。無効なグループUID番号です。考えられる原因についてはヘルプを参照してください。
修正:ここで参照されるUIDはeDirectoryのグループのGUIDを処理していない可能性があります。その代り、ドメイン/ローカルSIDを参照しています。「net getlocalsid」または「net getdomainsid」のSIDのリストを試してください。リストにない場合は、手動で「net setlocalsid S-1-5-21-50262416-1819788181-674066204」に設定してください。左側のSIDは一例です。環境にWindowsドメインコントローラがある場合は、そのSIDを見つけ、Windowsで指定される値に設定します。SIDが設定されない場合、Sambaパッケージが破損している可能性があります。Sambaパッケージを削除して再インストール(再インストール後にSambaの再構成が必要となることがあります)するか、またはパッケージを強制的にアップデートします。SIDのリストをもう一度試します。これで動作するようになります。ローカルSIDとドメインSIDがあることに注意してください。環境に応じて適切な方を使用します。netの詳細はマニュアルページ(man net)を参照してください。
 
 
エラー:<UserName>:グループ<ServerName>-W-SambaUserGroupのユーザに対してSambaを有効にできませんでした。ユニバーサルパスワードの確認中にエラーが発生しました。エラー:ユーザにユニバーサルパスワードがないため、続行できません。
修正:マニュアルに従って、ユーザにSamba準拠のパスワードポリシーを割り当て、Sambaを有効にする前にユニバーサルパスワードを設定する必要があります。

 

エラー:<UserName>:グループ<ServerName>-W-SambaUserGroupのユーザに対してSambaを有効にできませんでした。グループ<ServerName>-W-SambaUserGroupのユーザに対してLinuxを有効にできませんでした。エラー:プライマリLUMグループIDを取得できませんでした。
修正:ユーザがLUM(Linux User Management)が有効になっていないグループに属している場合、ユーザにSambaを有効にしようとするとこのエラーが表示されます。Linuxが有効ではないグループをユーザグループメンバシップから削除するか、またはユーザが属する各グループにLUMを有効にする必要があります。



エラー:
<UserName>:グループ<ServerName>-W-SambaUserGroupのユーザに対してSambaを有効にできませんでした。グループ<ServerName>-W-SambaUserGroupのユーザに対してLinuxを有効にできませんでした。エラー:(エラー-609)作成されているオブジェクトの1つ以上の必須プロパティがありません。
修正:古いeDirectoryツリーの一部に、必須属性の一部が不足しているユーザオブジェクトがあります。特に、uniqueID属性がユーザオブジェクトにない可能性があります。uniqueIDにはusernameと同一の値があります。たとえば、usernameがnovell123の場合、uniqueIDには同じnovell123の値が設定されます。これは、ConsoleOneやiManagerなどの、さまざまなユーティリティで追加できます。属性はユーザオブジェクトの[other(その他)]タブで設定されます。この特定のエラーについては、uniqueID属性がユーザオブジェクトに存在し、属性値が正しいことを確認します。
注:多数のユーザを修正する必要がある管理者は、ICEインポート/エクスポートウィザードを検討してください。ユーザをファイルにエクスポートしたり、ファイルの修正や再インポートによってユーザの修正を行えます。詳細はeDirectoryのマニュアルを参照してください。

 

エラー:デフォルトのSambaグループ<ServerName>-W-SambaUserGroupを取得できなかったため、続行できません。詳細はsambaユーザマニュアルを参照してください。
エラー:オブジェクトクラス違反(/var/log/samba/novell-samba-config.logより)
修正:uamPosixPAMServiceExcludeList属性がuamPosixGroupおよびuamPosixUserクラスに割り当てられていません。この属性をこれら2つのクラスに追加して、OES Sambaインストールを再実行し、<ServerName>-W-SambaUserGroup が作成されたか再確認します。また、/var/log/samba/novell-samba-config.logファイルに「オブジェクトクラス違反」エラーがないか、再確認します(先にログをクリアして、以前に失敗したインストールと混在しないようにします)。

uamPosixPAMServiceExcludeList属性をuamPosixGroupuamPosixUserクラスに追加する、2つの方法があります。1つはConsoleOneで、もう1つはiManagerです。どちらも有効な方法です。

1. ConsoleOne:

ツリーをハイライトして、[TOOLS(ツール)]>[SCHEMA MANAGER(スキーママネージャ)]を選択して、uamPosixUser/Groupクラスを参照します。各クラスの[INFO(情報)]を押して、ポップアップウィンドウで[ADD(追加)]をクリックします。uamPosixPAMServiceExcludeListを参照して追加します。

2. iManager:

正しいプラグインがインストールされていることを前提として、左メニューから[SCHEMA(スキーマ)]を選択して、[CLASS INFORMATION(クラス情報)]を選択してuamPosixUser/Groupクラスを参照します。それぞれの[VIEW(表示)]ボタンを押して[ADD A NEW ATTRIBUTE(新しい属性の追加)]をクリックし、uamPosixPAMServiceExcludeListを参照して追加します。

 

説明:LUMが有効ではないグループに属するユーザにSambaを有効にするとき、次のエラーが発生します。
エラー: <UserName>:グループ<Default Samba Group Name>のユーザに対してSambaを有効にできませんでした。
<UserName>:グループ<Default Samba Group Name>のユーザに対してSambaを有効にできませんでした。{2}考えられる原因についてはヘルプを参照してください。
対応策:ユーザが属する各グループにLUMを有効にするか、またはユーザをLUMが有効ではないグループから削除します。
修正:この問題はOES 2 SP1で解決されています(この文書の作成時点で、OES 2のSP1はまだ公開ベータ版です)。
 
 
 
 
目次
 
 
 
ユーザ、グループ、およびグループユーザに同時にLUMを有効にしようとしたときのエラー/失敗
 
説明:グループにLUMを有効にしようとするとき、グループに属するすべてのユーザにLUMを有効にするボックスを選択すると、エラーが発生し、グループにLUMは有効になりません。
エラー:(エラー-609)作成されているオブジェクトの1つ以上の必須プロパティがありません。
対応策:グループに属するすべてのユーザにLUMを有効にするボックスを選択せずに、グループにLUMを有効にします。追加手順でユーザにLUMを有効にします。
説明:ユーザ1名にLUMを有効にしようとするときにも、上記のエラーが発生し、ユーザにLUMは有効になりません。
修正:古いeDirectoryツリーの一部に、必須属性の一部が不足しているユーザオブジェクトがあります。特に、uniqueID属性がユーザオブジェクトにない可能性があります。uniqueIDにはusernameと同一の値があります。たとえば、usernameがnovell123の場合、uniqueIDには同じnovell123の値が設定されます。これは、ConsoleOneやiManagerなどの、さまざまなユーティリティで追加できます。属性はユーザオブジェクトの[other(その他)]タブで設定されます。属性がない場合は追加し、ユーザにLUMを再度有効にします。
注:多数のユーザを修正する必要がある管理者は、ICEインポート/エクスポートウィザードを検討してください。ユーザをファイルにエクスポートしたり、ファイルの修正や再インポートによってユーザの修正を行えます。詳細はeDirectoryのマニュアルを参照してください。


 
目次
 
 

iManagerでSambaを管理しようとしたときのエラー

エラー:このサーバでCIMエージェントに接続できません。CIMがインストールされていないか、実行されていません。
修正:Sambaが実行されているか、またはクラスタ対応リソースの場合は、リソースがオンラインでSambaサービスが開始していることを確認します。

 

エラー:SambaUserArrayのインスタンスを作成できませんでした。エラー:CIMサーバデータを取得できませんでした。エラー:CIM_ERR_INVALID_CLASS
修正:Sambaスキーマが正しく拡張されていることを確認します。TID 3341399を参照してください。ほとんどの場合、TID 3768604でこの問題を解決できます。
冗長性のため、各TIDの基本的なシェルコマンドを次に挙げています。コマンドの詳細な説明と、必要性については、直接TIDを参照してください。

TID 3341399:
ldapmodify -h 192.168.2.10 -p 389 -D cn=admin,o=novell -w <password> -f /usr/share/samba/LDAP/samba-nds.schema -x -c

TID 3768604:
owmofc -u https://localhost/root/cimv2 /usr/share/mof/novell-lum-providers/novell-lum-providers.mof

 

目次

 

存在しない、または正しくない共有、および正しくないドメイン/ワークグループ名

 

クラスタ対応環境では、iManagerは管理目的で正しいsmb.confを参照しません。iManagerはローカルsmb.confファイルを参照するため、共有リソース上にあるsmb.confではなく、iManagerは誤ったワークグループと共有情報をユーザに提示します。

対応策:クラスタsmb.confを手動で編集します。NovellクライアントレスWindowsワークステーションでテストし、共有、ワークグループ、NetBiosの名前をチェックします。iManagerのレポート内容にかかわらず、これらは正しくなります。iManagerが誤った場所を参照していても、クラスタは正しい場所を参照します。


目次

 

サーバにパッチを適用した後のさまざまな障害およびエラー

一部のユーザは、サーバにパッチを適用して再起動した後、ドメインに接続できないと報告しています。wbinfoがすべてのユーザまたはグループをレポートしないという報告があります。Samba共有にアクセスできなくなったという報告があります。現象によらず、システムにインストールされたopenldap2-clientのバージョンを確認してください。 
修正:openldap2-client-2.3.32-0.28がインストールされている場合、パッチチャネルで最新のパッチを確認して、適用します。この文書の作成時点で、openldap2-client-2.3.32-0.30でこの問題は解決されます。



目次
 


NSS上でSambaにクラスタを有効にした場合のヒント

Configuring OES SP2 with NSS, NCS, and Samba(NSS、NCS、SambaによるOES SP2の構成)』という優れたドキュメントがあり、初心者ユーザでもNSSでクラスタ対応Sambaリソースをセットアップできます。クラスタのセットアップに慣れていてリソースについてのみサポートが必要な場合は、ステップ22から開始します。次は、見逃しがちな注意事項です。

1. smb.confファイルのglobalセクションを編集して、次の内容を追加します。このステップを完了しないと、sambaがロードしたときにPIDファイルが/var/run/sambaに配置されます。リソースをアンロードまたはマイグレートする際、サービスが正常にシャットダウンされません。

pid directory = /media/nss/<Your Vol>/samba/locks

2. 基本のリソースロードスクリプトのサンプル(ConsoleOneではなくiManagerで編集)ボリュームをマウントするときに長い名前のスペースをロードするなど、オプションを追加する方法の例については、上記で示したドキュメントを参照してください。次のスクリプトは、上記のドキュメントで説明されたようにディレクトリ構造をセットアップしたことを前提としています。

    #!/bin/bash 
    . /opt/novell/ncs/lib/ncsfuncs
    exit_on_error nss /poolact=<PoolName>
    exit_on_error ncpcon mount <VolName>=<254>
    exit_on_error add_secondary_ipaddress <192.168.2.10>
    exit_on_error ncpcon bind --ncpservername=<VirtualServerName> --ipaddress=<192.168.2.10>
    SAMBA_ROOT=/media/nss/<VolName>/samba
    exit_on_error /usr/sbin/nmbd -l $SAMBA_ROOT/logs -s $SAMBA_ROOT/etc/smb.conf
    exit_on_error /usr/sbin/smbd -l $SAMBA_ROOT/logs -s $SAMBA_ROOT/etc/smb.conf
    exit 0

    上記のスクリプトでは、<>の間をシステムに一致するものに置換します。置換する項目はPOOL、VOLUME、VOLID、2つのIP ADDRESSのインスタンス、仮想サーバ名(クラスタリソース名ではなく、実際の仮想NCPサーバオブジェクト名)です。(注:置換の後、<>を削除してください)volidは、修正する前の元のリソーススクリプトから取得できます。ロードする各ボリュームリソースには、固有のvolidがあります。上記の例では、volidは254です。

3. 基本のリソースアンロードスクリプトのサンプル(ConsoleOneではなくiManagerで編集)

    #!/bin/bash 
    . /opt/novell/ncs/lib/ncsfuncs
    SAMBA_ROOT=/media/nss/<VolName>/samba
    ignore_error killproc -p $SAMBA_ROOT/locks/nmbd-smb.conf.pid /usr/sbin/nmbd
    ignore_error killproc -p $SAMBA_ROOT/locks/smbd-smb.conf.pid /usr/sbin/smbd
    ignore_error fuser -k $SAMBA_ROOT
    ignore_error ncpcon unbind --ncpservername=<VirtualServerName> --ipaddress=<192.168.2.10>
    ignore_error del_secondary_ipaddress <192.168.2.10>
    ignore_error nss /pooldeact=<PoolName>
    exit 0

4. 各クラスタノードが適切なロードおよびアンロードスクリプトで更新されていることを確認します。

    • cd /var/opt/novell/ncs
    • cat <ResourceName>.load; cat <ResourceName>.unload
    • リソースを何度かオフラインとオンラインを切り替えた後にスクリプトが更新されない場合は、次のコマンドを各ノードで実行します。
    • /etc/opt/novell/ncs/clstrlib.confファイルを再確認して正しいことを確認し、クラスタオブジェクトの大文字と小文字が正しいことを確認します(O(組織)とOU(組織ユニット)。
    • 各ノードで"/opt/novell/ncs/bin/ncs-configd.py -init"を実行します(引用符は除きます)。注:"-init"はダッシュが1つで、2つではありません。スクリプトは、このコマンドを実行した後に取得します。
    • ステップ1と2を繰り返して、ロードとアンロードのスクリプトが正しく取得されたことを再確認します。

     

5. ログファイルとスクリプトのトラブルシューティング

    • /media/nss/<VolName>/samba/logs/log.smbd
    • /var/log/messages出力されます。
    • /var/run/ncs/<ResourceName>.load.out (およびunload.out)
    • /var/log/samba/novell-samba-config.log

      ログファイルにあまり情報がない場合、ロードとアンロードスクリプトを手動で実行して、エラーを確認します。

    • /var/opt/novell/ncs/<ResourceName>.load (およびunload)

 

目次

Disclaimer

この情報は、米国Novell, Inc.およびノベル株式会社の内外から発生したものです。本文書の内容または本文書を使用した結果について、いかなる保証、表明または約束も行っていません。また、本文書の商品性、および特定目的への適合性について、いかなる黙示の保証も否認し、排除します。

本文書に記載されている会社名、製品名はそれぞれ各社の商品、商標または登録商標です。

  • ドキュメントID: 7001492
  • 作成年月日: 02-OCT-2008
  • 修正年月日: 05-MAR-2009
  • ドキュメントリビジョン:
  • 分類:
  • 対象NOVELL製品およびバージョン: Open Enterprise Server, SUSE Linux Enterprise Server
  • カテゴリ: