サーバー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
という名前のアカウントもありますが、penguin
が唯一のユーザーアカウントであるため、samba-tool
を使用してすべてのユーザーを構成することに注意してください。現在よりも多くのユーザーが存在します)。
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"])
何が間違っていますか?
私の知る限り、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のセットアップと互換性がありますが、sambaでユーザーを作成するにはsmbpasswd
が必要です。 buntu Server Documentation の「General Samba Guides」には、必要なすべての情報が記載されています。
代わりにターミナルでこれを書いてください:
smbpasswd -a penguin
また、追加するユーザーは、新しいユーザーのようにUbuntuシステムに追加する必要があります。
それを使用して行うことができます
Sudo useradd penguin
または
Sudo adduser penguin
この「バグ」は、非常に多くの異なる形式で表示されるため、分類が誤っている可能性があります。 2014年にさかのぼるバグレポートを見つけました。
samba-toolユーザーリスト...が繰り返し失敗します。ただし、samba-toolに関連する他のすべてのコマンドも同様です。ただし、samba-tool -V(バージョン番号は正しく報告されます)
氷山のヒント(または「ヒント」と言う必要があります):
acel:/ mnt/nsd#samba-tool user list不明なパラメーターが検出されました: "acl xattr update mtime"無視される不明なパラメーター "acl xattr update mtime" ERROR(ldb):キャッチされない例外-ldb_search:無効な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」、行292、実行attrs = ["samaccountname"])acel:/ mnt/nsd#samba-toolユーザーリストエラー(ldb):キャッチされていない例外-ldb_search:無効な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"、行292、実行attrs = ["samaccountname"])acel:/ mnt/nsd#which ldb ldb : コマンドが見つかりません。
問題? 1つのシステムでこれに遭遇した後、他の3つの独立したシステム(すべてUbuntu)でsamba-toolをチェックしましたが、samba-toolもそれらで壊れていました。バグレポートで同様の兆候へのいくつかの孤立した参照を見つけましたが、その一部は4〜6年前に遡ります。また、バグが「修正」されたという報告もいくつか見つかりました...(このバリエーションは修正されていません)。
私がやりたかったのは、Orphanを削除して、sambaユーザー/パスワードデータベースがクリーンであることを確認することだけでした。明らかに、samba-toolが機能していない場合(そして私の場合、Sambaを実行している4台のサーバーがあり、それらのいずれでも機能していない場合)、修正する必要があります。
私が提供できる他の唯一の手がかり:私が読んだ1つの参考文献は、考えられる原因としてSambaのパスワード同期機能に言及しました。これは、sambaが/ etc/passwdファイルの元の双子の名前を変更して作成したOrphan sambaユーザーIDを検出したときに発生しました。私は、samba-toolを使用して孤児を削除しようとしていました。しかし、sambaがそのユーザーデータベースをシステムと同期させようとして、元のユーザーが見つからないと判断した場合、何らかの損害が発生した可能性があると思います。(?)
これは答えではありません。そのバグはおそらくまだそこにあり、影響を受けているかどうかを確認するのに最適な場所は、samba-toolの単純な関数を実行して、正しく動作するかどうかを確認することです。
たとえば、「samba-tool user list」または「samba-tool dbcheck」。
私のすべて(1 V4.7および3 V4.3)が壊れています。 (お役に立てれば。)