Samba + Windows: Дозволити кілька підключень різними користувачами?


23

У мене є машина під керуванням Ubuntu з Samba, яку я використовую для обміну речами з машинами Windows своєї сім’ї в нашій локальній мережі. Наразі вони отримують доступ до спільного доступу до фільмів / музики / тощо з одним користувачем.

Я хочу підключити їх до іншої папки як іншого користувача (наприклад, користувача "goytacaz").

Коли я намагаюся підключитися до цієї нової спільної доступу, Windows видає мені "Помилка 1219" та скаржиться на кілька підключень одного користувача.

Як змусити свою машину приймати декілька з'єднань одного користувача?


Ви просто хочете підключитися за допомогою samba? Samba вже підтримує цей AFAIK.
важкий

Відповіді:


24

Над Самба? Не повинно бути жодних проблем; доки правильні ім’я користувача та пароль, обидва з'єднання мають відбуватися правильно.

Оновлення: re: "Помилка 1219". Це помилка на стороні клієнта - Windows дозволяє вам підключитися до сервера як один користувач одночасно. (Див Microsoft документація на KB938120 .) Це означає , що машина для Windows вже підключена в якості іншого користувача, і тому ваші спроби підключитися знову, як правильний користувач, не вдаються.

Перше з'єднання потрібно відключити, перш ніж ви зможете знову підключитися. Я знаю два способи зробити це:

  • Відключіть усі мережеві накопичувачі, які знову підключаються при вході, із цього сервера. Перезавантажте. Повторно підключіться до сервера та переконайтеся, що ви вказали належне ім'я користувача та пароль.

  • Використовуйте команду net use / delete з командної оболонки Windows (Start -> Run -> cmd; в рядку введіть команду; можливо, вам потрібно буде вказати назву спільного доступу).

Оновлення 2: Якщо користувачі вже підключаються до сервера з одним користувачем, ви не зможете дозволити їм з'єднатися з другим користувачем. Вам доведеться переглянути свою стратегію акцій та переконфігурувати Samba для виконання цієї стратегії. (Це не ваша вина; я звинувачую Windows.)

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

Оновлення 3: Зв'язаний вище документ MS пропонує ці два способи вирішення, щоб увімкнути підключення до сервера як окремих користувачів. Загальна ідея полягає в тому, щоб змусити Windows думати, що він підключається до іншого сервера, використовуючи інше ім’я .

  1. Використовуйте IP-адресу сервера під час підключення до другого імені користувача. (Використовуйте \\ServerName\sharenameпід час підключення як перший користувач, але використовуйте \\X.X.X.X\sharenameпри з'єднанні як другий користувач.)

  2. Створіть один або декілька псевдонімів DNS для сервера, який буде використовуватися під час підключення до другого (, третього, четвертого ...) імені користувача. (Використовувати \\ServerName\sharenameпід час підключення як перший користувач, але використовувати \\ServerAlias1\sharenameпід час підключення як другий користувач, \\ServerAlias2\sharenameпід час підключення як третій користувач тощо)


1
Дякую за цю відповідь. У мене була така ж проблема, і підключення за допомогою IP-адреси сервера замість імені DNS працювало на мене для другого з'єднання.
Бен Торелл

10

Це рішення для Windows 7 (хоча це може працювати і для інших версій)

  1. відкрити Блокнот (або будь-який текстовий редактор) як адміністратор
    (потрібно клацнути правою кнопкою миші та сказати "запустити як адміністратор")

  2. знайдіть: c: \ WINDOWS \ system32 \ drivers \ etc \ hosts (вам потрібно буде показати всі файли не лише .txt)

Тепер, якщо тобто:
- у вас є 3 користувачі samba: tom fred jon
- 3 samba- файли на вашому сервері samba (тобто IP: 192.168.0.100): docs stuff pics
- ви хочете з'єднатись як tom з документами, як fred to stuff and як Джон до фото

Тепер додайте у файл хостів наступні рядки :

192.168.0.100   tomsdocs   tomsdocs
192.168.0.100   fredstuff  fredstuff
192.168.0.100   jonspics   jonspics

Після закриття та збереження ви можете "Налаштувати мережевий диск" так:

\\tomsdocs\docs as user tom
\\fredstuff\stuff as user fred
\\jonspics\pics as user jon

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

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

Сподіваюсь, це допомагає.


Це спрацювало як шарм! Обробляв протягом години спільний доступ до самби на сервері, поки я не знайшов цього - Дякую :)
мавпа lorem

Дякую за це. Я ненавиджу працювати над новою лайнею, яку вигадує Microsoft, але це елегантно, якщо не гуфі ... працює чудово!
SuperJames

1
Цікаво, чи подвійні назви друкарські помилки? Чому б ви використовували ці ж самі двічі для одного і того ж IP?
brezanac

8

Якщо ви не бажаєте спілкуватися з кожним клієнтом, щоб вирішити проблему з сервером, ви можете використовувати файл smb.conf для встановлення псевдонімів імен для сервера. Це має додаткову перевагу кожного псевдоніма, який відображається як окремий сервер у мережі Windows.

Відредагуйте файл smb.conf і додайте наступний запис у розділ [глобальний]:

[global]
...
netbios aliases = alias1 alias2 readonly


Після перезапуску samba (не забудьте перезапустити smbd AND nmbd!) Ви мали б можливість отримати доступ до нових псевдонімів сервера, використовуючи позначення UNC в Провіднику Windows.
Зауважте, що на моєму сайті може знадобитися небагато часу, приблизно через 1 хвилину після перезавантаження самби, щоб вони працювали.
Як тільки псевдоніми з’являться в Мережі Windows, ви, безумовно, готові йти.


2

я просто мав те саме питання.

для одного користувача я використовую: \ 192.168.xx <- IP сервера ubuntu, для іншого користувача: \ server-ім'я <- ім'я хоста сервера ubuntu.

це дозволило мені з'єднатися з машиною Windows за допомогою різних логінів.



1

Використовуйте варіант netbios alias samba:

netbios name = share1
netbios aliases = share2

windows "побачить" два різних samba-сервери, і ви зможете підключитися до обох спільних ресурсів із різною автентифікацією користувача

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.