Як змусити Самбу поділитися, щоб НЕ ПОРЯДОМ ПАРОЛЬ


20

ПРИМІТКА. Я прочитав, мабуть, до 50 різних сторінок, що описують, як налаштувати загальнодоступну частку Samba протягом 2-х РОКІВ, і ніколи нічого не працювало для мене. Я не знаю, скільки RTFM мені потрібно для встановлення цього матеріалу.

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

Установка така:

Сервер :

  • Debian Wheezy
  • sudo smbd --versionдає мені Version 3.6.6.
  • 2 локальні розділи, якими я хочу поділитися, відформатовані в NTFS через старі та взяті з машини Windows. Я не можу відформатувати їх у ext * FS, оскільки у них багато даних, я не можу (поки) пересуватися більше ніде.
  • машина з назвою "homeserv" за відсутність оригінальності.

Клієнт :

  1. Тестування Debian (Джессі)
  2. Windows 7 (2 різні машини). Насправді моя машина - це двояке завантаження Debian / Windows, а машина моєї дружини - лише Windows.

Мій smb.conf після відгонки виглядає так ( дослівно , нічого іншого немає):

[global]
  workgroup = WORKGROUP
  security = user
  map to guest = Bad User

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

На обох клієнтських машинах і в Debian і Windows я отримую однаковий результат: діалог входу / пароля. Ніяка комбінація security = user, map to guest = Bad user, security = share, guest ok = yesі таке не допомогло.

У Windows 7 з'являється діалогове вікно входу / пароля відразу після того, як я натискаю на спільну машину в околицях мережі. smb://homeserv/Шлях файлу в Debian (у будь-якому файловому браузері) показує мені дві папки: disk1і disk2, за призначенням, намагаючись відкрити їх, приведіть діалогове вікно входу / пароля.

Отже, чого мені не вистачає в схемі, щоб НЕ МОЖЕ вводити логін / пароль? Це питання зручності використання, я не буду створювати аутентифікацію на основі користувача для з’єднання файлів.

Відповіді:


14

Гаразд, я сама знайшла відповідь.

Оскільки це зовсім не очевидно з документів та HOWTO та будь-якого іншого, причина цієї речі запитує пароль полягає в тому, що він не може зіставити гостя користувачеві власнику спільного каталогу .

У мене є розділи NTFS, які мені потрібні для монтажу RW, тому я використав наступну установку в моєму /etc/fstab:

/dev/sdb1  /media/disk1  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2
/dev/sdb2  /media/disk2  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2

Найбільш важливі частини конфігурації є uidі gid(може бути , тільки uid, не знаю). Вони встановлюються на UID та GID користувача, jonnieвстановлені на сервері (очевидно, не root). Отже, коли ntfs-3g змонтує ці диски, все буде у власності його.

Після цього я додав цього користувача до реєстру Samba (або, можливо, створив новий ідентичний, не важливо):

# smbpasswd -a jonnie

У ньому запитували пароль, я ввів той самий, що і для основної системи.

Після цього я додав force userі force groupналаштування до smb.conf:

[global]
  workgroup = WORKGROUP
  netbios name = HOMESERV
  security = share

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

Отже, найважливішою частиною конфігурації, що стосується мене, була force user.

Люб’язно надано Samba HOWTO


1
"очевидно не корінь". Це насправді не так очевидно. У Samba є десятки режимів відмов. Більшість призводить до ідентичних повідомлень про помилки. Ось чому ви витратили стільки часу на безрезультатні пошуки Google. Не тільки один пошук викличе сукупність проблем, але й знайдені відповіді також зазнають тієї ж плутанини. Використання root виключає сторону безпеки Linux, але також дозволяє діагностувати проблему. Якщо він працює як root, у вас є проблема безпеки на рівні Linux. Якщо Samba все-таки не працює, проблема входить в ідею користувачів користувача Samba (вони різні, і повинні були мати унікальні помилки)
MSalters

2

Конфігурація може бути коротшою:

Створіть користувача unix jonnie

useradd jonnie -s /usr/sbin/nologin

Створіть smbuser

smbpasswd -a jonnie

Створіть каталог для спільного доступу до Linux

mkdir /mysmbshare

Змініть власника каталогу на jonnie

chown /mysmbshare jonnie

smb.conf

[global]
  workgroup = MyWorkGroup
  server string = Hello, use me
  security = share
  guest account = jonnie
  passdb backend = tdbsam

[the_public_share]
   path = /mysmbshare
   writable = yes
   printable = no
   public = yes

Усі файли належать jonnie, і кожен має rw доступ до файлів.


Так, "змінити власника каталогу на jonnie" - це, мабуть, найважливіша частина тут. Дякую за набагато коротше рішення!
хіджар

1

Швидкий і брудний спосіб отримати відкриту акцію Samba - це:

# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)
#
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.

        security = share
        passdb backend = tdbsam

і мати акції визначає як таке:

[export]
   comment = Data Export Directory
   path = /data/export
   read only = no
   public = yes
   browseable = yes
   writeable = yes
   create mask = 666
   directory mask = 777

Перезапустіть демон.

Для клієнтів Windows 7 станом на 2014 рік мені потрібно було встановити політику домену: цифровий підпис зв’язку від завжди до ВИМКНЕННЯ.


Боже мій, змінюючи політику домену щодо нібито публічних акцій ... (facepalm). Гаразд, все одно дякую, але ні, я спробував це саме зараз, і для доступу smb://homeserv/disk1все ще потрібен пароль в Debian. Я використовував браузери файлів Dolphin та Krusader. Можливо, це щось у KDE.
хіджар

ей, що працювало! : D public = yesі 777дозволи зробили свою справу (Win 10 хостинг Ubuntu 18.04). На щастя, це на моїй персональній робочій станції, тому мені не потрібно про це турбуватися
Артур Тарасов
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.