Tại sao Samba không thêm người dùng mới bằng samba-tool


8

Tôi đang cố gắng định cấu hình chia sẻ Samba trên máy chủ Dell Poweredge 860 đang chạy 14.04 LTS của mình. Samba đã gỡ cài đặt (khi tôi chọn nó), vì vậy tôi chỉ cần cấu hình nó. Tôi đang cố gắng kết nối nó với máy Windows của tôi.

Tập tin cấu hình của tôi (được liệt kê dưới đây) có vẻ hợp lệ. Tôi không nhận được bất kỳ lỗi nào với nó. Đây là phiên bản sửa đổi của một cái gì đó tôi tìm thấy trên một hướng dẫn trực tuyến.

[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

Đó là tất cả tốt ở đó. (Tôi cũng cần lưu ý rằng tôi cũng có một tài khoản có tên penguin, nhưng tôi muốn tất cả người dùng được cấu hình bằng cách sử dụng samba-toolvì đây penguinlà tài khoản người dùng duy nhất sẽ có trên đó và sẽ có nhiều người dùng hơn hiện tại).

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("/", "")

Tôi cũng đã thử nó với một tên người dùng khác không có trên hệ thống. Nó không hoạt động.

Tôi thậm chí không thể hoàn thành một cách đơn giản sudo samba-tool user listmà không có lỗi!

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"])

Tôi đang làm gì sai?

Câu trả lời:


7

Theo như tôi biết thì samba-toolchỉ dành cho việc cung cấp Active Directory (AC). Vì vậy, nếu bạn chưa thiết lập Samba của mình làm máy chủ AC, samba-tool user addsẽ không hoạt động.

Bạn nên tự hỏi mình nếu bạn cần Máy chủ Active Directory trong Mạng của mình hay bạn chỉ cần một Máy chủ Samba đơn giản chỉ với người dùng của chính nó.

Tôi là trường hợp bạn cần một Máy chủ AC, bạn nên làm theo hướng dẫn do chính dự án samba cung cấp ( https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO ). Nhưng được cảnh báo, tài liệu này không được cài đặt trực tiếp trên Ubuntu và bạn cần hiểu nội dung phụ thuộc vào nó (cụ thể là DNS, Kerberos, LDAP).

Nếu bạn chỉ cần một máy chủ đơn giản có một số Tài khoản cho mục đích riêng của mình và cung cấp quyền truy cập vào một số thư mục dùng chung, bạn nên làm theo hướng dẫn cho samba3. Samba4 tương thích với các thiết lập này với samba3 và mặc dù bạn cần smbpasswdtạo người dùng bằng samba. "Hướng dẫn chung về Samba" của Tài liệu máy chủ Ubuntu sẽ cung cấp cho bạn tất cả thông tin bạn cần.


7

Chỉ cần viết điều này thay vào đó trong thiết bị đầu cuối:

smbpasswd -a penguin

Và người dùng bạn đang thêm cần được thêm vào hệ thống Ubuntu, giống như một người dùng mới.

Điều đó có thể được thực hiện bằng cách sử dụng

sudo useradd penguin

hoặc là

sudo adduser penguin

1

Tôi lo ngại rằng 'lỗi' này có thể bị phân loại sai, vì nó xuất hiện dưới nhiều hình thức khác nhau. Tôi vừa tìm thấy một báo cáo lỗi từ năm 2014, báo cáo chính xác điều tương tự tôi gặp phải:

danh sách người dùng samba-tool ... thất bại nhiều lần. Nhưng sau đó, tất cả các lệnh khác liên quan đến samba-tool, ngoại trừ: samba-tool -V (báo cáo số phiên bản chính xác)

Đây là mẹo (hoặc tôi nên nói 'một mẹo') của tảng băng trôi:

acel: / mnt / nsd # samba-tool danh sách người dùng Tham số không xác định gặp phải: "acl xattr update mtime" Bỏ qua tham số không xác định "acl xattr update mtime" ERROR (ldb): ngoại lệ chưa được phát hiện - ldb_search: không hợp lệ dựa trên ' /usr/lib/python2.7/dist-packages/samba/netcmd/ init .py ", dòng 175, trong _run return self.run (* args, ** kwargs) Tệp" /usr/lib/python2.7/ dist-gói / samba / netcmd / user.py ", dòng 292, trong run attrs = [" samaccountname "]) acel: / mnt / nsd # samba-tool danh sách người dùng ERROR (ldb): ngoại lệ chưa được phát hiện - ldb_search: không hợp lệ dựa trên '(null)'
Tệp "/usr/lib/python2.7/dist-packages/samba/netcmd/ init.py ", dòng 175, trong _run return self.run (* args, ** kwargs) Tệp" /usr/lib/python2.7/dist-packages/samba/netcmd/user.py ", dòng 292, đang chạy attrs = ["samaccountname"]) acel: / mnt / nsd # mà ldb ldb: Không tìm thấy lệnh.

Vấn đề? Sau khi gặp điều này trên một hệ thống, tôi đã kiểm tra công cụ samba trên ba hệ thống độc lập khác (tất cả Ubuntu) và công cụ samba cũng bị hỏng trên chúng. Tôi đã tìm thấy một vài tài liệu tham khảo riêng biệt cho các biểu hiện tương tự trong các báo cáo lỗi, một số có từ 4 - 6 năm trước. Tôi cũng đã tìm thấy một số báo cáo về lỗi đã được 'sửa' ... (biến thể này không được sửa).

Tất cả những gì tôi muốn làm là đảm bảo cơ sở dữ liệu người dùng / mật khẩu samba sạch sẽ, bằng cách xóa một đứa trẻ mồ côi, và tôi không thể. Rõ ràng, nếu công cụ samba không hoạt động (và trong trường hợp của tôi, tôi có 4 máy chủ đang chạy Samba và nó không hoạt động trên bất kỳ máy chủ nào trong số đó) thì nó cần phải được sửa.

Một manh mối khác tôi có thể cung cấp: một tài liệu tham khảo tôi đọc đã đề cập đến việc đồng bộ hóa tính năng mật khẩu trong Samba là nguyên nhân có thể. Tôi đã gặp phải điều này khi samba gặp một người dùng samba mồ côi, mà tôi đã tạo ra bằng cách đổi tên sinh đôi ban đầu của nó trong tệp / etc / passwd. Tôi chỉ cố gắng sử dụng công cụ samba để loại bỏ trẻ mồ côi. Nhưng tôi cho rằng có thể khi samba cố gắng đồng bộ hóa cơ sở dữ liệu người dùng của mình với hệ thống và thấy người dùng ban đầu bị mất, một số thiệt hại đã được thực hiện. (?)

Đây không phải là một câu trả lời. Đây chỉ là một gợi ý rằng lỗi có thể vẫn còn tồn tại và là nơi tốt nhất để bắt đầu kiểm tra xem bạn có bị ảnh hưởng hay không, là chạy các chức năng đơn giản của công cụ samba, để xem nó có hoạt động tốt không:

'danh sách người dùng công cụ samba' hoặc 'samba-tool dbcheck' chẳng hạn.

Tất cả của tôi (1 V4.7 & 3 V4.3) đều bị hỏng. (Hi vọng điêu nay co ich.)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.