1

Я пытаюсь отладить проблему с общим ресурсом Samba в Ubuntu 9.10.

Ubuntu 9.10 расшаривает папку, попробуйте получить доступ из WinXP. WinXP не может видеть папку.

Используя команду netstat -anp, я обнаружил, что smbd принимает соединение с сокетом только на 139 на tcp6, но не на tcp. (IPv4). Кто-нибудь знает, является ли это причиной моей проблемы с подключением? Если так, как это исправить?

На работающей системе общего ресурса samba (FC11) я вижу, что smbd ожидает в tcp порту 139, а не в tcp6.

Поблагодарить

root@tlee-vm:~# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1024/sshd
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1281/cupsd
tcp       16      0 192.168.64.141:58996    10.81.24.191:445        ESTABLISHED 3647/gvfsd-smb
tcp       24      0 127.0.1.1:40058         127.0.1.1:139           ESTABLISHED 3677/gvfsd-smb-brow
tcp        0      0 192.168.18.140:22       192.168.18.1:4107       ESTABLISHED 3953/sshd: tlee [pr
tcp6       0      0 :::139                  :::*                    LISTEN      3104/smbd
tcp6       0      0 :::22                   :::*                    LISTEN      1024/sshd
tcp6       0      0 ::1:631                 :::*                    LISTEN      1281/cupsd
tcp6       0      0 :::445                  :::*                    LISTEN      3104/smbd
tcp6       0      0 127.0.1.1:139           127.0.1.1:40058         ESTABLISHED 3679/smbd
udp        0      0 0.0.0.0:47032           0.0.0.0:*                           891/avahi-daemon: r
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           891/avahi-daemon: r
udp        0      0 192.168.18.140:137      0.0.0.0:*                           3100/nmbd
udp        0      0 192.168.64.140:137      0.0.0.0:*                           3100/nmbd
udp        0      0 0.0.0.0:137             0.0.0.0:*                           3100/nmbd
udp        0      0 192.168.18.140:138      0.0.0.0:*                           3100/nmbd
udp        0      0 192.168.64.140:138      0.0.0.0:*                           3100/nmbd
udp        0      0 0.0.0.0:138             0.0.0.0:*                           3100/nmbd

4 ответа4

2

Вы должны были запустить smbpasswd чтобы добавить пароль пользователя, потому что Samba не копирует автоматически пароли Unix в свой бэкэнд паролей.

Смотрите man smb.conf чтобы узнать о каждом параметре smb.conf. Опция unix password sync не заменяет серверную часть пароля Samba подсистемой системных паролей. Он дополняет его, позволяя passwd program запускаться при изменении smbpasswd. Вот подробности из справочной страницы (выделено мое).

Этот логический параметр определяет, пытается ли Samba синхронизировать пароль UNIX с паролем SMB при изменении зашифрованного пароля SMB в файле smbpasswd. Если для этого параметра установлено значение yes, программа, указанная в параметре программы passwd, называется AS ROOT - чтобы разрешить установку нового пароля UNIX без доступа к старому паролю UNIX (так как код изменения пароля SMB не имеет доступа к открытому тексту старого пароля). , только новый).

По умолчанию: синхронизация пароля Unix = нет

0

sudo ufw allow 445

Это сработало для меня. Спасибо!

PS Они должны разобраться с этим. Новый пользователь Linux никогда не сможет понять это!

0

Мне просто пришлось отладить проблему подключения к общему ресурсу samba в Ubuntu 9.10 из Windows XP, и я нашел это описание настройки samba полезным, а также это руководство по устранению неполадок samba.

Если вам интересно, мой брандмауэр в Ubuntu блокировал доступ. Я разрешил доступ через порт 445, и он начал работать.

sudo ufw allow 445
0

Получил это от:

Отключите ipv6 в Ubuntu: (Не уверен, что мне нужен этот шаг, но мне все равно не нужен ipv6, и я не уверен, почему samba не связывает порт ipv4)

vi /etc/sysct.conf # and add following line; reboot
net.ipv6.conf.all.disable_ipv6=1

Используйте smbpasswd, чтобы добавить пароль для пользователя, которому требуется логин, я не уверен, зачем это нужно, поскольку в моем файле /etc/samba/smb.conf есть строка «unix password sync = yes».

security = user

encrypt passwords = true

passdb backend = tdbsam

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* .

Кстати, если кто-то может сказать мне, почему мне нужно использовать smbpasswd для добавления пароля пользователя в систему, я отмечу это как ответ.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .