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-toolActive Directory (AC) 프로비저닝 전용입니다. 따라서 Samba를 AC 서버로 설정 samba-tool user add하지 않으면 작동하지 않습니다.

네트워크에 Active Directory 서버가 필요한지 스스로에게 물어 보거나 자신의 사용자 만있는 간단한 Samba 서버 만 있으면됩니까?

AC 서버가 필요한 경우 samba 프로젝트 자체 ( https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO ) 에서 제공하는 가이드를 따라야합니다 . 그러나이 문서는 우분투에 직접적으로 적합하지 않으므로 이에 의존하는 내용 (DNS, Kerberos, LDAP)을 이해해야합니다.

고유 한 목적으로 일부 계정이 있고 일부 공유 폴더에 액세스 할 수있는 간단한 서버 만 필요한 경우 samba3의 지침을 따라야합니다. Samba4는 samba3에 대한 이러한 설정과 호환 smbpasswd되며 samba에서 사용자를 작성 해야 합니다. 우분투 서버 문서 의 "일반 삼바 가이드"는 필요한 모든 정보를 제공해야합니다.


7

대신 터미널에 이것을 작성하십시오.

smbpasswd -a penguin

그리고 추가하는 사용자는 새로운 사용자처럼 Ubuntu 시스템에 추가해야합니다.

사용하여 수행 할 수 있습니다

sudo useradd penguin

또는

sudo adduser penguin

1

이 '버그'는 여러 가지 형태로 나타나기 때문에 잘못 분류 될 수 있습니다. 방금 2014 년으로 돌아간 버그 보고서를 발견하여 내가 겪은 것과 정확히 동일한 내용을보고했습니다.

samba-tool 사용자 목록 ... 반복적으로 실패합니다. 그러나 다음을 제외하고 samba-tool과 관련된 다른 모든 명령도 수행하십시오. samba-tool -V (버전 번호를 올바르게보고 함)

빙산의 일각은 다음과 같습니다.

acel : / mnt / nsd # samba-tool 사용자 목록 알 수없는 매개 변수가 발견되었습니다 : "acl xattr update mtime"알 수없는 매개 변수를 무시합니다 "acl xattr update mtime"ERROR (ldb) : catch되지 않은 예외-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 사용자 목록 ERROR (ldb) : catch되지 않은 예외-ldb_search : 잘못된 기반 '(널)'
파일 "/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 # 해당 ldb ldb : 명령을 찾을 수 없습니다.

문제? 하나의 시스템 에서이 문제를 겪은 후 3 개의 다른 독립 시스템 (모든 우분투)에서 samba-tool을 검사했으며 samba-tool도 손상되었습니다. 나는 버그 보고서에서 비슷한 표현에 대해 몇 가지 고립 된 언급을 찾았으며, 일부는 4-6 년으로 거슬러 올라갑니다. 또한 버그가 '수정'되었다는 여러 보고서를 발견했습니다 ... (이 변형은 수정되지 않았습니다).

고아를 제거하여 samba 사용자 / 암호 데이터베이스를 깨끗하게 유지하기 만하면됩니다. 분명히 samba-tool이 작동하지 않으면 (내 경우에는 Samba를 실행하는 4 대의 서버가 있고 그 중 어느 서버에서도 작동하지 않는 경우) 수정해야합니다.

내가 제공 할 수있는 유일한 다른 단서 : 하나의 참조에서 Samba의 암호 동기화 기능을 가능한 원인으로 언급했습니다. samba가 고아 samba 사용자 ID를 만나면 / etc / passwd 파일에서 원래 twin의 이름을 바꾸어 만든 것으로 나타났습니다. 고아를 제거하기 위해 삼바 도구를 사용하려고했습니다. 그러나 삼바가 사용자 데이터베이스를 시스템과 동기화하려고 시도했을 때 원래 사용자가 누락 된 것을 발견했을 때 약간의 손상이 발생했을 가능성이 있다고 생각합니다.

이것은 대답이 아닙니다. 버그가 아직 존재하고 있으며 영향을 받는지 확인하는 가장 좋은 방법은 삼바 도구 간단한 기능을 실행하여 제대로 작동하는지 확인하는 것입니다.

예를 들어 'samba-tool 사용자 목록'또는 'samba-tool dbcheck'입니다.

내 모든 것이 (1 V4.7 및 3 V4.3) 손상되었습니다. (도움이 되었기를 바랍니다.)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.