Sambaが「samba-tool」を使用して新しいユーザーを追加しないのはなぜですか?


8

サーバー14.04 LTSを実行しているDell Poweredge 860でSamba共有を構成しようとしています。Sambaはアンインストールされたので(選択したとき)、構成するだけです。Windowsマシンに接続しようとしています。

私の設定ファイル(以下にリスト)は有効のようです。エラーは発生しません。これは、オンラインのチュートリアルで見つけたものの修正版です。

[global]
        workgroup = HOME
        server string = Samba Ubuntu Server
        map to guest = Bad User
        log file = /var/log/samba/log.%m
        max log size = 50
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        local master = No
        dns proxy = No
        idmap config * : backend = tdb

[Queue]
        comment = "A small folder to move files from/to the server. For use by server admin."
        path = /serv/samba/queue
        valid users = penguin
        read only = No
        create mask = 0777
        directory mask = 0777

それで十分です。(という名前のアカウントもあることに注意してください。ただしpenguin、が唯一のユーザーアカウントになるsamba-toolため、を使用してすべてのユーザーを構成し、penguin現在よりも多くのユーザーが存在するようにします)。

penguin@Ubuntu-Server-1:~/serv/samba$ sudo samba-tool user add penguin
New Password:
Retype Password:
ERROR(<type 'exceptions.ValueError'>): Failed to add user 'penguin':  - unable to parse dn string
  File "/usr/lib/python2.7/dist-packages/samba/netcmd/user.py", line 176, in run
    uid=uid, uidnumber=uid_number, gidnumber=gid_number, gecos=gecos, loginshell=login_shell)
  File "/usr/lib/python2.7/dist-packages/samba/samdb.py", line 343, in newuser
    dnsdomain = ldb.Dn(self, self.domain_dn()).canonical_str().replace("/", "")

システムにない別のユーザー名でも試してみました。動作しません。

sudo samba-tool user listエラーなしでシンプルなものを達成することさえできません!

ERROR(ldb): uncaught exception - ldb_search: invalid basedn '(null)'
  File "/usr/lib/python2.7/dist-packages/samba/netcmd/__init__.py", line 175, in _run
    return self.run(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/samba/netcmd/user.py", line 271, in run
    attrs=["samaccountname"])

何が悪いのですか?

回答:


7

私の知る限り、これsamba-toolはActive Directory(AC)プロビジョニングのみを対象としています。したがって、SambaをACサーバーとして設定していない場合、機能しsamba-tool user addません。

ネットワークにActive Directoryサーバーが必要か、それとも自分のユーザーだけがいる単純なSambaサーバーだけが必要かどうかを自問する必要があります。

ACサーバーが必要な場合は、sambaプロジェクト自体によって提供されるガイド(https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO)に従う必要があります。ただし、このドキュメントはubuntuに直接対応していないため、それに依存しているもの(DNS、Kerberos、LDAPなど)を理解する必要があります。

それ自身の目的のためにいくつかのアカウントを持ち、いくつかの共有フォルダーへのアクセスを提供する単純なサーバーだけが必要な場合は、samba3のガイドに従う必要があります。Samba4は、これらのセットアップとsamba3との互換性がありますがsmbpasswd、sambaでユーザーを作成する必要があります。Ubuntu Serverドキュメントの「一般的なSambaガイド」は、必要なすべての情報を提供します。


7

代わりにこれをターミナルに書くだけです:

smbpasswd -a penguin

また、追加するユーザーは、新しいユーザーのようにUbuntuシステムに追加する必要があります。

それは使用して行うことができます

sudo useradd penguin

または

sudo adduser penguin

1

この「バグ」が非常に多くの異なる形で表示されるため、このバグが誤って分類されるのではないかと心配しています。2014年に遡って、私が遭遇したのとまったく同じことを報告するバグレポートを見つけました。

samba-tool user list ...が繰り返し失敗します。しかし、次に、samba-toolを含む他のすべてのコマンドを実行します。ただし、samba-tool -V(バージョン番号を正しく報告する)を除きます。

これが氷山のヒントです(または私は「ヒント」と言う必要があります)。

acel:/ mnt / nsd#samba-tool user list不明なパラメーターが検出されました: "acl xattr update mtime"不明なパラメーター "acl xattr update mtime"を無視しましたERROR(ldb):キャッチされない例外-ldb_search:invalid basedn '(null)' File " /usr/lib/python2.7/dist-packages/samba/netcmd/ init .py "、175行目、_runでreturn self.run(* args、** kwargs)ファイル" /usr/lib/python2.7/ dist-packages / samba / netcmd / user.py "、行292、実行中attrs = [" samaccountname "])acel:/ mnt / nsd#samba-tool user list ERROR(ldb):uncaught exception-ldb_search:invalid basedn '(null)'
ファイル "/usr/lib/python2.7/dist-packages/samba/netcmd/ init.py "、175行目、_runでreturn self.run(* args、** kwargs)ファイル" /usr/lib/python2.7/dist-packages/samba/netcmd/user.py "、line 292、in run attrs = ["samaccountname"])acel:/ mnt / nsd#which ldb ldb:コマンドが見つかりません。

問題?1つのシステムでこれに遭遇した後、他の3つの独立したシステム(すべてUbuntu)でsamba-toolをチェックしたところ、samba-toolも壊れていました。バグレポートで、類似した症状へのいくつかの孤立した参照を見つけました。バグが「修正」されたという報告もいくつか見つかりました...(このバリエーションは修正されていません)。

私がやりたかったのは、孤立したユーザーを削除することによって、sambaのユーザー/パスワードデータベースがクリーンであることを確認することだけでした。明らかに、samba-toolが機能しない場合(そして私の場合、4つのサーバーでSambaを実行していて、Sambaのいずれでも機能していない場合)は、修正する必要があります。

私が提供できる唯一の他の手がかり:私が読んだ1つのリファレンスで、考えられる原因としてSambaのパスワードの同期機能に言及しました。この問題は、/ etc / passwdファイルで元のツインの名前を変更して作成した孤立したsambaユーザーIDがsambaで発生したときに発生しました。私は孤児を取り除くためにsamba-toolを使おうとしていた。しかし、私は、sambaがユーザーデータベースをシステムと同期させようとしたときに、元のユーザーが見つからなかった可能性があると考えています。

これは答えではありません。バグがまだ存在しているとの示唆にすぎず、影響を受けているかどうかの確認を開始するのに最適な場所は、samba-toolの単純な関数を実行して、正しく機能するかどうかを確認することです。

たとえば、「samba-tool user list」または「samba-tool dbcheck」。

私のすべて(1 V4.7&3 V4.3)が壊れています。(お役に立てれば。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.