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

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

Я только что обновил сервер Ubuntu до 14.04, а самба поднялась до 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) иметь возможность анонимного доступа к общему ресурсу. Не уверен, что здесь не так с моей конфигурацией.

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

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

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

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

У меня есть одна 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

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