Задать вопрос
webporoh
@webporoh
Бывший Сисадмин, начинающий программист...

Как показать Ubuntu Server где установлена Samba?

Доброго времени суток господа.
Подскажите как быть с samba.
Суть проблемы такова, что мне приходится администрировать сервер на ubuntu server 14.04.5 LTS. На нём установлена файлопомойка, виртуальные машины, и интернет шлюз.
Собственно с файлопомойкой возникли трудности. Все машины(Windows 7) в сети ходят на неё без проблем, а новый компьютер никак не может войти на сервер.
Проблема еще и в том что предыдущий админ установил samba не из репозиториев похоже, а собирал в ручную.
В итоге в папке /usr/local/samba/ лежат все файлы:
root@ns:/usr/local/samba# ls
bin  etc  include  lib  private  samba.sh  sbin  share  var

В папке etc соответственно конфиг:
root@ns:/usr/local/samba# cat etc/smb.conf
[global]

#---------------- Логи
    max log size = 300
    debug level = 1
    log file = /usr/local/samba/var/log.%m

#---------------- Общие настройки
    netbios name = SERVER
    workgroup = DTP

    server string = DTP file server
    time server = True
    wins support = yes
    domain master = yes
    domain logons = yes
    preferred master = yes
    local master = yes
    logon script = %U.bat
    logon home = \\%L\%U\profile
    os level = 34
    max open files = 10000

#---------------- Доступ на общем уровне и права на ресурсы
    hosts allow = 172.16.5.0/255.255.255.0
    valid users = nobody, @smbusers, @smbadmins
    interfaces = 172.16.5.0/24
    bind interfaces only = true
    write list = @smbadmins
    admin users = @smbadmins
    public = no
    writable = no
    guest account = nobody

#----------------- Имена файлов и атрибуты
    dos charset = CP866
    unix charset = UTF-8
    create mask = 0775
    directory mask = 0775
    force create mode = 0775

    unix extensions = no
    wide links = yes

    acl group control = yes
    inherit owner = yes
    inherit permissions = yes
    inherit acls = yes
    acl allow execute always = yes

    passdb backend = smbpasswd

#============================ Share Definitions ==============================

[netlogon]
    path = /usr/local/SAMBA/%S
    browseable = no

[homes]
    comment = Home Directories
    path = /usr/local/SAMBA/homes/%u
    writable = yes
    browseable = no

[scripts]
    comment = Logon scripts
    path = /usr/local/SAMBA/netlogon
    writable = yes
    write list = @smbadmins

[control]
    comment = Server control
    writable = yes
    path = /usr/local/SAMBA/%S
    write list = @smbadmins
    valid users = @smbadmins

#---------------------

[backup]
    comment = System backup
    writable = yes
    path = /usr/local/SAMBA/%S
    write list = @smbadmins

[buffer]
    comment = File trash
    writable = yes
    path = /usr/local/SAMBA/%S
    write list  = @smbusers

[doc]
    comment = Documents
    writable = yes
    path = /usr/local/SAMBA/%S
    write list = @smbdoc

[buhgaltery]
    comment = Buchgaltery
    writable = yes
    path = /usr/local/SAMBA/%S
    valid users = @smbbuhgaltery
    write list = @smbbuhgaltery

[engineer]
    comment = Engineer
    writable = yes
    path = /usr/local/SAMBA/%S
    valid users = @smbengineer
    write list = @smbengineer

[economist]
    comment = Engineer
    writable = yes
    path = /usr/local/SAMBA/%S
    valid users = @smbeconomist
    write list = @smbeconomist

Я логично понимаю что в самбе есть свои пользователи, группы, пароли пользователей и т.д. но например smbpasswd на запускается, и говорит что нет компонента:
root@ns:/usr/local/samba# smbpasswd
smbpasswd: /usr/local/samba/lib/private/libsamba-modules-samba4.so: version `SAMBA_4.3.3' not found (required by /usr/local/samba/lib/libgensec.so.0)
smbpasswd: /usr/local/samba/lib/private/libndr-samba-samba4.so: version `SAMBA_4.3.3' not found (required by /usr/local/samba/lib/libgensec.so.0)
smbpasswd: /usr/local/samba/lib/private/libsamba-debug-samba4.so: version `SAMBA_4.3.3' not found (required by /usr/local/samba/lib/libgensec.so.0)
smbpasswd: /usr/local/samba/lib/private/libauthkrb5-samba4.so: version `SAMBA_4.3.3' not found (required by /usr/local/samba/lib/libgensec.so.0)
smbpasswd: /usr/local/samba/lib/private/libcliauth-samba4.so: version `SAMBA_4.3.3' not found (required by /usr/local/samba/lib/libgensec.so.0)
smbpasswd: /usr/local/samba/lib/private/libasn1util-samba4.so: version `SAMBA_4.3.3' not found (required by /usr/local/samba/lib/libgensec.so.0)
smbpasswd: /usr/local/samba/lib/private/libgenrand-samba4.so: version `SAMBA_4.3.3' not found (required by /usr/local/samba/lib/libgensec.so.0)
smbpasswd: /usr/local/samba/lib/private/libsamba-sockets-samba4.so: version `SAMBA_4.3.3' not found (required by /usr/local/samba/lib/libgensec.so.0)


Хотел преустановить samba, скопировал всю папку на всякий случай в бэкап, выполнил aptitude purge samba, после чего aptitude -f install:
root@ns:/usr/local/samba# aptitude -f install
The following partially installed packages will be configured:
  samba
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 11 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
Setting up samba (2:4.3.11+dfsg-0ubuntu0.14.04.1) ...
smbd start/pre-start, process 5393
start: Job failed to start
invoke-rc.d: initscript samba-ad-dc, action "start" failed.
dpkg: error processing package samba (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 samba
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install.  Trying to recover:
Setting up samba (2:4.3.11+dfsg-0ubuntu0.14.04.1) ...
smbd start/running, process 5546
start: Job failed to start
invoke-rc.d: initscript samba-ad-dc, action "start" failed.
dpkg: error processing package samba (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 samba


Собственно эта ошибка преследует меня везде. Я не могу даже webmin поставить из-за неё.
p.s. Я лично использую дома debian 7 сервер с самбой, там путь до конфига /etc/samba/samba.conf
На этом сервере он тоже присутствует, но он дефолтный, по этому и возникла мысль что сама ОС не понимает где у неё самба то установленна. И удалить\установить\кнфигурировать её не может...

UPD!
Самособранная вручную самба не запускается(переименовал папку), запускается самба из репозиториев.
Были проблемы с доступом, которые решились копированием из старой самбы в новую файла smbpasswd.
На данный момент smbpasswd работает, но не работает samba-tools:
root@ns:~# samba-tool group list
Could not find machine account in secrets database: Failed to fetch machine account password for DTP from both secrets.ldb (Could not find entry to match filter: '(&(flatname=DTP)(objectclass=primaryDomain))' base: 'cn=Primary Domains': No such object: (null)) and from /var/lib/samba/private/secrets.tdb: NT_STATUS_CANT_ACCESS_DOMAIN_INFO
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/group.py", line 316, in run
    attrs=["samaccountname", "grouptype"])

Как можно пересоздать эти самые secrets.ldb и secrets.tdb в которых ошибки?
В сети win-домен не используется, компьютеры в рабочей группе "DTP".
Или я что-то не понимаю и samba-tools только для домена применяется?
  • Вопрос задан
  • 814 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
ulrich-schnauss
@ulrich-schnauss
Системный администратор, веб-разработчик
Было у меня такое. Смотрите логи, почему не запускается самба из репозиториев. Скорее всего несовместимость конфига в /etc/samba, либо конфиг вообще отсутствует. Ну и удалите старую самбу вообще, раз сделали бэкап
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
CityCat4
@CityCat4
//COPY01 EXEC PGM=IEBGENER
Это как раз пример того, что будет, если начать в пакетном дистрибе работать, как в source-based. Поставил бубунту - забудь про сборку из исходников!

Придется решить задачу по ручному вынесению самбы (и скорее всего повторному вводу в домен) и установке ее из пакетов с подсовыванием соответствующим образом правленого конфига от старой.

Своих юзеров у самбы может и не быть - если система настроена на использованием доменных учеток через sssd или через winbindd. Свои учетки - это адЪ.

OMG, да она еще и domain master? Она единственный контроллер домена или же есть еще винда? Если она единственный DC, то нужно быть очень осторожным - база юзеров у самбы хранится в /var/lib/samba (или что-то такое, там много файлов с расширением .tdb). Если эту базу продудонить - все юзера потеряют свои RID-ы и им перестанут быть доступны профили...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы