Мінімальна, повністю доступна для відвідувачів самба частка?


1

Про це вже задавали мільйон разів, і я переглянув кілька сотень "рішень", що охоплюють десятиліття, жодне з яких не працює на 100%.

Що я хочу:

Простий, мінімальний smb.conf, який я можу упакувати в контейнер LXC на основі Alpine Linux, який можна знайти, переглядати за допомогою WORKGROUP і дозволяє повний, необмежений доступ гостя до / mnt / shared, не запитуючи пароль. Щось, коли член сім’ї переходить до «Мережі» на своєму комп’ютері (windows, mac, linux, chromeos), бачить «Файлообмін», клацає на ньому, і це просто працює (доступ для читання та запису).

Що я спробував:

  • возитися з безліччю налаштувань, таких як безпека = спільний, безпека = користувач, карта гостям = поганий користувач, обліковий запис гостя = ніхто, примусовий користувач = ніхто, місцевий майстер = так, локальний майстер = ні, різні заголовки порядку вирішення імен та купа інших речей, яких я не можу пригадати на даний момент.
  • Зміна дозволів і прав власності нікому, root, вашій матері ...
  • Переглядаючи кожен форум, SO, SU, SF, повідомлення про цю точну проблему та слідуючи за рішенням, позначеним РОЗВИТКУ, безрезультатно.
  • Звичайно, спробував https://wiki.samba.org/index.php/Setting_up_Samba_as_a_Standalone_Server
  • завантажив і перезавантажив, перевстановив і знову перезавантажив кожну машину в моїй мережі.

Конфігурацію Samba важче отримати, ніж sendmail. Здається, ніколи нічого не працює цілком правильно, так що будь-який заданий конфігурація викликає один або декілька з:

  • Сервер неможливо виявити, переглянувши мережу
  • Сервер можна переглядати вручну, але він не відображається автоматично у розділі "Мережа" Windows
  • Сервер може бути виявлений деякими системами, але не іншими (mac, linux, windows)
  • Доступ до сервера можна отримати лише через IP-адресу, а не по імені
  • Клієнтська сторона постійно запитує пароль для перегляду WORKGROUP
  • Клієнтська сторона постійно запитує пароль для перегляду самої акції
  • Клієнт продовжує скаржитися на проблеми з дозволом, навіть після заїдання -R
  • Клієнтська сторона зберігає час
  • Сторона клієнта ДУЖЕ ДУЖЕ повільна, займає 10-30 секунд для багатьох операцій

Що ще гірше, самба дуже темпераментна, коли мова йде про навколишнє середовище, так що акаунти користувачів, дозволи та права власності та навіть невідповідні мережеві класи можуть призвести до того, що вона ефектно вийде з загальних повідомлень про помилки, які не допомагають діагностувати проблему.

Отже, що я хотів би знати: чи може хтось надати чистий smb.conf для щойно виготовленого контейнера, який просто працює, для повного доступу до відвідувачів, повністю доступного для перегляду, повністю відкритого для всіх клієнтів, не повільної частки одного каталог? Наприклад:

[global]
   map to guest = Bad User
   security = user
   guest account = nobody

[shared]
   path = /mnt/shared
   public = yes
   only guest = yes
   writable = yes
   printable = no
   force user = nobody

(Примітка. Наведений вище конфігурація не працює)

Я можу налаштувати навколишнє середовище відповідно до будь-яких припущень, які ви хочете (хоча я вважаю за краще альпійський як дистрибутив, оскільки він має менше рухомих частин). Я просто хочу мінімальну базову настройку "гарантованих робіт", яку я можу потім створювати поступово, а не розмовляти так, як це роблю кожен раз, коли мені потрібно налаштувати обмін файлами.

Тоді я можу просто створити шаблон контейнера lxc, який має канонічний, гарантований для роботи конфігурацію та середовище, і робити це з ним назавжди.


Більшість помилок, які ви бачите, є у Windows. Якщо ви хочете чогось супер надійного, не використовуйте SMB.
Даніель Б

Відповіді:


1

Гаразд, мені вдалося скласти конфігурацію, яка вирішує все, включаючи відкриття для Windows.

Трюк у відкритті Windows полягає у тому, щоб ім’я NetBIOS відповідало імені хоста та матиме 15 символів чи менше.

/etc/samba/smb.conf:

[global]

# Identification
netbios name = same-as-hostnanme
workgroup = WORKGROUP
server string = Samba Server Version %v

# Network
name resolve order = bcast host lmhosts wins

# Protocol
server role = standalone server
disable netbios = no
wins support = yes
dns proxy = yes
domain master = yes
local master = yes
preferred master = yes
os level = 31

# Security
security = user
map to guest = Bad User
guest ok = yes
guest only = yes
guest account = nobody

# Needed by some Windows installs
server signing = auto

# Printing
load printers = No
printing = bsd
printcap name = /dev/null
disable spoolss = Yes

# Files
directory mask = 0755
force create mode = 0644
force directory mode = 0755
case sensitive = True
default case = lower
preserve case = yes
short preserve case = yes

# Performance
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072
read raw = yes
write raw = yes
server signing = no
strict locking = no
min receivefile size = 16384
use sendfile = Yes
aio read size = 16384
aio write size = 16384

# Logging
syslog = 0
max log size = 100

/etc/avahi/services/samba.service:

<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">

<service-group>
  <name replace-wildcards="yes">%h</name>
  <service>
    <type>_smb._tcp</type>
    <port>445</port>

  </service>
</service-group>

Ця конфігурація avahi забезпечує блискавичний швидкий доступ та пропускну здатність, і робить послугу миттєвою розбірливою для всіх систем з підтримкою Bonjour (Mac та Linux).


0

Я налаштував сервер з каталогом drwxrwxrwx jnl jnl /share/backup. Цей каталог ділиться через samba з наступними smb.conf:

[global]
workgroup = WORKGROUP
log file = /var/log/samba/log.%m
max log size = 1000
server role = standalone server
security = user
map to guest = Bad Password

[Backup]
path = /share/backup
writeable = yes
browsable = yes
guest ok = yes

Завдяки цій конфігурації я можу використовувати спільну частку під будь-якою іншою ОС (Windows) безпосередньо без користувача / пароля та з правами R / W. Файли створюються за допомогою -rw-r----- nobody nogroup FILEпапок та drwxrwxr-x nobody nogroup DIR.

Якщо я хочу, щоб частка була прихованою, просто встановіть browsable = no.


З цим конфігурацією це неможливо знайти, і перегляд дуже повільний
Карл

Що ви маєте на увазі під "не відкритим"? Чи є у вас приклад, коли частка може бути відкрита? Які налаштування вашої мережі? Які дозволи має ваш каталог?
jnL

Я маю на увазі, що перехід до "Мережі" у файловому браузері в Windows, Mac чи Linux не показує сервер. Перегляд WORKGROUP також не показує. Все знаходиться в одній мережі 192.168.178.x, каталог загальних ресурсів не належить нікому і є drwxr-xr-x. Крім того, спроба перейти безпосередньо (smb: // filehare / shared) займає 30-45 секунд.
Карл

Справа в тому, що я ЗНАЮ, що ці проблеми можна якось подолати, тому що я працював в офісах, де створено сервер Linux / samba. Я просто не знав, яку конфігурацію вони використовували для того, щоб це все працювало: /
Карл

Щоб зробити сервер / спільний доступ відкритим для інших систем у тій самій мережі, ви можете спробувати використовувати workgroup = WORKGROUPу своєму [global]або навіть у своєму [shared]розділі (також дивіться тут ).
jnL
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.