Назад | Перейти на главную страницу

Почему мои компьютеры Mac не проходят аутентификацию на моем сервере обмена файлами SAMBA?

Я недавно установил общий файловый ресурс SAMBA. Пройдя ряд шагов, я наконец смог увидеть этот сервер на большинстве моих компьютеров. Основными требованиями были: 1) он должен быть защищен паролем, 2) иметь несколько пользователей, 3) каждый пользователь может владеть файлом, но все пользователи могут писать в файлы друг друга.

Я нахожусь в офисе с 5 компьютерами Mac, 1 Linux Server (Ubuntu 13.04), 1 Windows Server (Windows 2008 R2) и тремя рабочими столами Windows XP Pro. Все компьютеры могут получить доступ к общему ресурсу должным образом, за исключением Mac.

Как ни странно, ONE Mac может просматривать общий ресурс и входить в систему. Все остальные Mac не могут войти в систему после ввода имени пользователя и пароля.

Вот содержимое моего файла smb.conf:

[global]

    workgroup = workgroup
    server string = %h server (Samba, Ubuntu)
    dns proxy = no
    log file = /var/log/samba/log.%m
    max log size = 1000
    syslog = 0
    panic action = /usr/share/samba/panic-action %d
    security = user
    encrypt passwords = yes
    obey pam restrictions = yes
    unix password sync = yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    pam password change = yes
    map to guest = bad user
    usershare allow guests = yes
    username map = /etc/samba/smbusers
    guest ok = no
    guest account = nobody
   comment = Home Directories
   browseable = no
   read only = no
   create mask = 0775
   directory mask = 0775



[printers]
    comment = All Printers
    browseable = no
    path = /var/spool/samba
    printable = yes
;   guest ok = no
;   read only = yes
    create mask = 0700


[print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers



[interactive]
    path = /home/shok07a/interactive
    writeable = yes
    browseable = yes
    comment = interactive
    create mask = 0777
    directory mask = 2777
    force directory mode = 2777
    guest ok = no
    force group = sambashare

Журналы:

запустить log.nmbd:

[2013/08/26 08:51:27.730313,  0] nmbd/nmbd_nameregister.c:492(register_name)
  register_name: NetBIOS name SHOK07A-INTERACTIVE-SERVER is too long. Truncating to SHOK07A-INTERAC
[2013/08/26 08:51:27.730464,  0] nmbd/nmbd_nameregister.c:492(register_name)
  register_name: NetBIOS name SHOK07A-INTERACTIVE-SERVER is too long. Truncating to SHOK07A-INTERAC
[2013/08/26 08:51:27.730526,  0] nmbd/nmbd_nameregister.c:492(register_name)
  register_name: NetBIOS name SHOK07A-INTERACTIVE-SERVER is too long. Truncating to SHOK07A-INTERAC
[2013/08/26 08:53:02.002178,  0] nmbd/nmbd_become_lmb.c:397(become_local_master_stage2)
  *****

  Samba name server SHOK07A-INTERACTIVE-SERVER is now a local master browser for workgroup WORKGROUP on subnet 10.42.0.1

  *****
[2013/08/26 16:45:47.916574,  0] libsmb/nmblib.c:856(send_udp)
  Packet send failed to 10.42.0.255(138) ERRNO=Invalid argument
[2013/08/26 16:45:47.916689,  0] libsmb/nmblib.c:856(send_udp)
  Packet send failed to 10.42.0.255(138) ERRNO=Invalid argument
[2013/08/26 16:58:56.608481,  0] nmbd/nmbd_incomingdgrams.c:311(process_local_master_announce)
  process_local_master_announce: Server SHOK09A-PC at IP 10.42.0.92 is announcing itself as a local master browser for workgroup WORKGROUP and we think we are master. Forcing election.
[2013/08/26 16:58:56.608685,  0] nmbd/nmbd_become_lmb.c:150(unbecome_local_master_success)
  *****

  Samba name server SHOK07A-INTERACTIVE-SERVER has stopped being a local master browser for workgroup WORKGROUP on subnet 192.168.1.35

  *****
[2013/08/26 16:58:56.609163,  0] nmbd/nmbd_nameregister.c:492(register_name)
  register_name: NetBIOS name SHOK07A-INTERACTIVE-SERVER is too long. Truncating to SHOK07A-INTERAC
[2013/08/26 16:58:56.609241,  0] nmbd/nmbd_nameregister.c:492(register_name)
  register_name: NetBIOS name SHOK07A-INTERACTIVE-SERVER is too long. Truncating to SHOK07A-INTERAC
[2013/08/26 16:58:56.609334,  0] nmbd/nmbd_nameregister.c:492(register_name)
  register_name: NetBIOS name SHOK07A-INTERACTIVE-SERVER is too long. Truncating to SHOK07A-INTERAC
[2013/08/26 16:59:13.629340,  0] nmbd/nmbd_become_lmb.c:397(become_local_master_stage2)
  *****

  Samba name server SHOK07A-INTERACTIVE-SERVER is now a local master browser for workgroup WORKGROUP on subnet 192.168.1.35

  *****

конец log.nmbd

Ни один из других журналов ничего не показал. Они были пусты. Я все равно сохранил их, очистил журналы и снова попытался подключиться. В моих журналах снова ничего не появилось.

Я пропинговал машину с Mac, и все пинги проходят нормально. Мне предлагается ввести имя пользователя и пароль.

Кажется, что машины могут «видеть» друг друга, но аутентификация не работает.

РЕДАКТИРОВАТЬ (больше журналов):

[2013/08/27 09:28:29.864230,  2] smbd/reply.c:553(reply_special)
  netbios connect: name1=192.168.1.35   0x20 name2=STATION-4      0x0
[2013/08/27 09:28:29.864427,  2] smbd/reply.c:573(reply_special)
  netbios connect: local=192.168.1.35 remote=station-4, name type = 0
[2013/08/27 09:34:29.843796,  2] smbd/reply.c:553(reply_special)
  netbios connect: name1=192.168.1.35   0x20 name2=STATION-4      0x0
[2013/08/27 09:34:29.844328,  2] smbd/reply.c:573(reply_special)
  netbios connect: local=192.168.1.35 remote=station-4, name type = 0
[2013/08/27 09:40:29.850174,  2] smbd/reply.c:553(reply_special)
  netbios connect: name1=192.168.1.35   0x20 name2=STATION-4      0x0
[2013/08/27 09:40:29.850389,  2] smbd/reply.c:573(reply_special)
  netbios connect: local=192.168.1.35 remote=station-4, name type = 0

Станция 4 - это один из компьютеров Mac, который не может подключиться.

Начать log.smbd

[2013/08/27 09:25:40,  0] smbd/server.c:1026(main)
  smbd version 3.6.9 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2011
[2013/08/27 09:25:40,  2] lib/tallocmsg.c:124(register_msg_pool_usage)
  Registered MSG_REQ_POOL_USAGE
[2013/08/27 09:25:40,  2] lib/dmallocmsg.c:78(register_dmalloc_msgs)
  Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
[2013/08/27 09:25:40.140866,  2] param/loadparm.c:4985(max_open_files)
  rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
[2013/08/27 09:25:40.141089,  2] param/loadparm.c:8327(do_section)
  Processing section "[printers]"
[2013/08/27 09:25:40.141181,  2] param/loadparm.c:8327(do_section)
  Processing section "[print$]"
[2013/08/27 09:25:40.141246,  2] param/loadparm.c:8327(do_section)
  Processing section "[interactive]"
[2013/08/27 09:25:40.141494,  2] lib/interface.c:341(add_interface)
  added interface wlan0 ip=fe80::6a94:23ff:feb3:3a9b%wlan0 bcast=fe80::ffff:ffff:ffff:ffff%wlan0 netmask=ffff:ffff:ffff:ffff::
[2013/08/27 09:25:40.141605,  2] lib/interface.c:341(add_interface)
  added interface eth0 ip=fe80::7a45:c4ff:fe06:2876%eth0 bcast=fe80::ffff:ffff:ffff:ffff%eth0 netmask=ffff:ffff:ffff:ffff::
[2013/08/27 09:25:40.141655,  2] lib/interface.c:341(add_interface)
  added interface wlan0 ip=192.168.1.35 bcast=192.168.1.255 netmask=255.255.255.0
[2013/08/27 09:25:40.141688,  2] lib/interface.c:341(add_interface)
  added interface eth0 ip=10.42.0.1 bcast=10.42.0.255 netmask=255.255.255.0
[2013/08/27 09:25:40.141783,  0] smbd/server.c:1082(main)
  standard input is not a socket, assuming -D option
[2013/08/27 09:25:40.147336,  2] smbd/server.c:815(smbd_parent_loop)
  waiting for connections
[2013/08/27 09:25:40.151155,  2] rpc_client/cli_winreg_spoolss.c:896(winreg_create_printer)
  winreg_create_printer: Skipping, SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers\Officejet_7500_E910__4C53E0_ already exists
[2013/08/27 09:25:40.151234,  2] smbd/server.c:301(remove_child_pid)
  Could not find child 25727 -- ignoring

Конец log.smbd

ИЗМЕНИТЬ Вот САМЫЙ относительный журнал:

2013/08/27 10:37:45.149211,  2] auth/auth.c:319(check_ntlm_password)
  check_ntlm_password:  Authentication for user [shok10a] -> [shok10a] FAILED with error NT_STATUS_WRONG_PASSWORD

Однако пароль НЕ является неправильным.

Кажется, никто не может ответить на этот вопрос. После некоторого тщательного чтения кажется, что проблема, скорее всего, связана с тем, как OS X аутентифицирует пароли с помощью SAMBA (LM, NTLM, NTLMV2).

Поскольку некоторые компьютеры Mac могли подключаться, а другие нет, я решил просто установить Netatalk и использовать протокол AFP для всех компьютеров Mac.

Хотя это затрудняет администрирование, поскольку мне приходится беспокоиться о настройках двух систем обмена файлами, похоже, что все работает нормально. В идеале было бы лучше просто использовать SAMBA, но все источники, которые я прочитал, говорили, что мне потребуется запускать определенные сценарии на компьютерах Mac, чтобы они могли передавать пароли в виде обычного текста (который по умолчанию отключен ).

Итак, у вас есть: если у вас возникла эта проблема, посмотрите руководство по настройке Netatalk. В любом случае, это, вероятно, будет немного быстрее, чем SAMBA на стороне Mac.

ОБНОВЛЕНИЕ: это была проблема для Snow Leopard. Более новые версии OS X (Mavericks и т. Д.) Изначально используют SAMBA, поскольку Apple больше не собирается активно разрабатывать AFP. После обновления всех моих машин до Mavericks я смог избавиться от AFP, и теперь все машины используют SMB.