SAMBA 4.1.6 создать публичный общий доступ

Я только что обновил сервер Ubuntu до 14.04, который взял samba до 4.1.6. Моя общедоступная папка (локальная домашняя сеть, поэтому не беспокоится о безопасности, так как семья просто и анонимно получает доступ к файлам) перестала работать, т.е. теперь будет запрашивать имя пользователя и пароль.

когда я запускаю testparm, я получаю:

Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[share]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
        workgroup = HOHWORKGROUP
        server string = firewig
        interfaces = eth1, 127.0.0.0/8, 192.168.10.0/24
        map to guest = Bad User
        obey pam restrictions = Yes
        pam password change = Yes
        passwd program = /usr/bin/passwd %u
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        unix password sync = Yes
        syslog = 0
        log file = /var/log/samba/log.%m
        max log size = 1000
        name resolve order = lmhosts, wins, bcast, host
        dns proxy = No
        usershare allow guests = Yes
        panic action = /usr/share/samba/panic-action %d
        idmap config * : backend = tdb
        valid users = nobody

[share]
        comment = share
        path = /srv/samba/share/
        force user = nobody
        force group = nogroup
        read only = No
        create mask = 0777
        force create mode = 0777
        directory mask = 0777
        force directory mode = 0777
        guest ok = Yes

Я не могу заставить мой компьютер с Windows (W7) иметь анонимный доступ к общему ресурсу. Не уверен, что не так с моим конфигом здесь.

3 ответа

Вы должны быть осторожны с вариантами.

valid users=nobody, например, не означает, что пользователь nobody Вход разрешен. Это означает, что нет другого пользователя, кроме nobody можете войти.

Поскольку вы явно можете разрешить гостевой доступ, просто удалите valid users=nobody из глобального раздела.

Кроме того, пока вы правильно установили map to guest = bad userВы также должны проверить, какой пользователь берет на себя роль guest в вашей системе. Видимо, вы только что предположили, что это nobody но это не обязательно так. Если вы не уверены, вы можете указать это вручную с помощью guest account = nobody, Разумеется, nobody должен существовать в вашей системе!

Далее необходимо убедиться, что общий ресурс имеет соответствующие разрешения POSIX для nobody, Например, если ваши права доступа к файлам позволяют nobody читать файлы в общем ресурсе, но не изменять их, затем writeable вариант в smb.conf не собирается переопределять это.

Теперь мы переходим к разделу общего доступа вашего smb.conf, мы можем сделать это намного проще. Если вы хотите сопоставить все действия с гостевой учетной записью, вам не нужно использовать force user а также force group, Просто используйте параметр guest only = yes вместо. Вместе с guest ok = yes это приведет к тому, что все подключения будут сопоставлены с правильной учетной записью гостя, в нашем случае nobody,

Результат (для полного гостевого доступа):

# chmod -R a+rwX /srv/samba/share

/etc/samba/smb.conf
-------------------
[global]
  guest account = nobody
  map to guest = bad user

[share]
  path = /srv/samba/share
  writeable = yes
  guest ok = yes
  guest only = yes

Не могли бы вы сказать нам, какую версию ядра вы используете?

Это проблема с samba при использовании последних версий ядра, потому что ядру требуются зашифрованные пароли, или другая проблема.

У меня есть одна Ubuntu 14.04.1, где я понизил samba с 4.1 до 3.6.3-2ubuntu2, потому что после обновления до samba 4.1 не работало. На этой машине, если я использую samba 3.6 с ядром 3.13, не работает, но если я использую ядро ​​3.2, это работает.

Попробуйте сменить grub или lilo на загрузку со старым ядром и скажите нам, работает ли он.

Чтобы иметь анонимный доступ, может помочь создание поддельной доли IPC$:

[IPC$]
    guest ok = yes
    read only = yes
    path = /etc/samba/fakeIPC
    valid users = @group-of-home-users, nobody
#or
#    valid users = nobody

Это решило некоторые проблемы для меня. Не могу вспомнить, где я читал об этом.

Другие вопросы по тегам