Таким образом, я должен запустить путем высказывания, что я сделал это успешно меньше чем неделю назад, и я не испытал затруднений, но я с тех пор переформатировал и реконфигурировал свой сервер, и теперь у меня есть самое трудное время, помня, как я сделал это.
Вот то, что я имел прежде и что я пытаюсь выполнить снова. У меня была общедоступная доля самбы на сервере Ubuntu. Любой в моей сети мог получить доступ к доле, и это - содержание просто путем ввода \Hostname. Никакой необходимый пароль. У пользователей, которые не были на рабочей группе доли, был доступ для чтения, но пользователи, которые были на рабочей группе, имел доступ для чтения-записи. (Windows 7)
Теперь, если я пытаюсь соединиться с \Hostname, мне предлагают имя пользователя и пароль. Если я ввожу ООН pw, я получаю полный доступ, но я не должен иметь к; мои текущие настройки...
security = user
map to guest = bad user
[Shares]
path = /home/shares
available = yes
read only = no
browsable = yes
public = yes
writable = yes
guest ok = yes
Я вытаскиваю волосы по этому. Какие-либо предложения?
Править:
Тьфу, это дает мне такое трудное время. Я так близок.
Вот то, что я имею.
Я могу добраться до доли из Windows 7 путем попытки запускаться и ввода \Hostname\Sharename, но мне предлагают имя пользователя и пароль. Я не могу только оставить его незаполненный хотя, потому что это будет использовать мою рабочую группу в качестве домена; таким образом, я вхожу \, чтобы имя пользователя убрало его, и войдите в систему с пустым именем пользователя и паролем. Большой теперь я могу получить доступ к файлам в доле.
После того как я нахожусь в, конфигурация рабочей группы работает правильно. Если я нахожусь на компьютере с РАБОЧАЯ ГРУППА по умолчанию, я могу читать и выполниться; компьютер на моей Домашней рабочей группе может считать запись и выполниться. Таким образом, это работает.
Проблема, Она не должна просить пароль вообще. Это должно быть полностью общедоступно любому в сети. Я пытаюсь совместно использовать его с XBMC, и это даже не обнаруживается под кем-то в файловом менеджере. Я не могу получить доступ к нему вручную от XBMC также. Я добираюсь, соединение отказалось от ошибки.
Все еще вытаскивая волосы по этому. Худшая часть является первым разом, когда я сделал это приблизительно неделю назад, я провел приблизительно 30 минут на нее, и она работала отлично. Теперь я, вероятно, провел по крайней мере 4 часа, и это все еще не работает.
Testparm:
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
[global]
workgroup = FELLOWSHIP
server string = %h server (Samba, Ubuntu)
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
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = No
wins support = Yes
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
print ok = Yes
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
[Shares]
path = /home/shares
read only = No
guest ok = Yes
ОБНОВЛЕНИЕ: Так, доля теперь доступна через мою сеть независимо от рабочей группы. Любой пользователь Windows, который соединяется с моей сетью, видит NAS под Netowork и получает доступ к ней. Ключ устанавливал безопасность на безопасность = доля. Я знаю, это удерживается от использования, но это работает и безопасность = пользователь и карта пользователю =, плохой пользователь не работал на меня.
Так или иначе теперь кажется, что любой, кто подключает к Unix get's доли глобальные полномочия для каталога, который управляем, но я хочу пользователей, которые соединены с рабочей группой, указанной в smb.conf для получения полномочий группы Unix.
Таким образом, я могу установить каталог на 775, и я смогу записать, потому что я соединен с рабочей группой, но другие пользователи могут только читать и выполниться.
Случилось наткнуться на эту ветку на форумах Ubuntu , и подумал, что это может помочь. Он объясняет шаги, которые происходят за кулисами:
В Windows имя пользователя и пароль клиента автоматически отправляются при просмотре общих ресурсов - это делается без ведома пользователя. Это заставляет Samba иметь дело с отправленными учетными данными, даже если это гостевой ресурс, который не требует аутентификации.
Когда это имя пользователя передается, Samba выполняет поиск в своей базе паролей для этого пользователя:
blockquote>
Если имя пользователя не совпадает, пользователь клиента помечается как «Плохой пользователь» и преобразован (сопоставлен) в гостевую учетную запись, которая по умолчанию "никто".
Если он находит совпадение с именем пользователя и существует пароль самбы, который совпадает с паролем, отправленным клиентом Windows, тогда пользователь Windows автоматически получает доступ, но не как анонимный пользователь, поэтому вам нужно было добавить " заставить пользователя = никто "к вашему определению общего ресурса.
Если он находит совпадение с именем пользователя, но пароль samba не совпадает точно с паролем, автоматически отправляемым клиентом Windows, то вам будет предложено ввести пароль - даже для гостевой папки.
[ 117]Попробуйте добавить
force user = nobody
к определению общего ресурса и посмотрите, так ли это.Редактировать 20.02.2013:
Возвращает ли
testparm
код выхода чего-то отличного от нуля? Тем не менее, я бы пошел вперед и дал бы этой области конфигурации хороший, жесткий взгляд. Кроме того, я не уверен, насколько чувствителен к регистру smb.conf, но в каждом примере, который я вижу (например) изmap to guest = Bad User
, заглавные буквы B и U. Посетите справочные страницы Samba , чтобы узнать, какие опции вы используете, и перепроверьте все.
Так настроен OpenElec. Должен делать то, что вы просите. (даже если это будет год спустя ... может быть, это поможет следующему) Просто настройте параметры общего доступа по мере необходимости.
[global]
server string = YOURSERVERNAME
workgroup = WORKGROUP
netbios name = %h
security = share
guest account = root
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=65536 SO_SNDBUF=65536
smb ports = 445
max protocol = SMB2
min receivefile size = 16384
deadtime = 30
os level = 20
mangled names = no
syslog only = yes
syslog = 2
name resolve order = lmhosts wins bcast host
preferred master = auto
domain master = auto
local master = yes
printcap name = /dev/null
load printers = no
browseable = yes
writeable = yes
printable = no
encrypt passwords = true
enable core files = no
passdb backend = smbpasswd
smb encrypt = disabled
use sendfile = yes
[share]
comment = Share
path = /share
available = yes
browsable = yes
writable = yes
public = yes
Поскольку поиск в Google приводит нас сюда, и нет четкого ответа, я подвёл итог.
Ниже приведены условия, необходимые для того, чтобы клиенты SMB не запрашивали имя пользователя и пароль при доступе к вашему серверу Samba:
Добавьте guest account = <owner-of-your-shares>
в разделе [global]
, Важно, чтобы аккаунт владельца ваших акций имел к ним доступ. Если вы этого не сделаете, Samba будет считать, что гостевой учетной записью является nobody
пользователь, который вряд ли имеет доступ к данным в вашей общей папке.
В качестве альтернативы, вы можете указать force user = <owner-of-your-share>
в вашем блоке [shareXYZ]
.
Убедитесь, что у вашего [shareXYZ]
есть guest ok = yes
.
Установите browsable = yes
, но обычно он наследуется от [global]
и по умолчанию установлен на yes
.
Затем, вероятно, также следует установить security = user
(это значение по умолчанию, если в вашей среде не установлен Active Directory). Однако я не уверен, требуется ли этот флаг, поскольку у меня нет AD в моей среде.
Конечно, если вы хотите, чтобы пользователь nobody
работал, тогда вы можете просто chown -Rh 65534:65534 /yourshare
, после этого у вас все будет хорошо, только с одной настройкой guest ok = yes
под вашим [shareXYZ]
.
Обратите внимание, что установка rwx
в others
(chmod o+rwx /yourshare
) не позволила Samba со своим пользователем nobody
войти в общий ресурс. Я проверил это с strace -f -e chdir,geteuid,getegid -p <pid-of-the-parent-smbd-process>
. Возможно, Samba просто игнорирует разрешения, установленные для others
? Не уверен.
Это работает для меня за 30 секунд.
Источник: https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Standalone_Server
[global] отображается на guest = Bad User
log file = /var/log/samba/%m
log level = 1
[guest] # Этот общий доступ разрешает анонимный (гостевой) доступ
# without authentication!
path = /srv/samba/guest/
read only = no
guest ok = yes
Это, вероятно, не будет решением для всех с такой проблемой, но моя проблема была связана с разрешениями родительского каталога, в котором находился общий каталог. Как только я включил " Прочитано другими» мне удалось анонимно получить доступ к общему ресурсу. Это застало меня врасплох, поскольку на серверах Windows разрешения родительского каталога не имеют значения для общего каталога.
Итак, мой путь выглядит следующим образом:
/data1/Downloads
Мне пришлось разрешить «чтение другими» в каталоге data1
.
Мне не нужно было ничего особенного в smb.conf
, моя запись общего доступа выглядит так...
[Downloads]
path = /data1/Downloads
browseable = yes
read only = yes
guest ok = yes
public = yes