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
Это решило некоторые проблемы для меня. Не могу вспомнить, где я читал об этом.