Samba (український)
Ця сторінка потребує супровідник
Налаштування сервера
Для забезпечення загального доступу до файлів за допомогою Samba встановіть пакет samba з офіційних репозиторіїв.
Сервер Samba налаштовується у файлі /etc/samba/smb.conf. Скопіюйте файл настройок за замовчуванням в файл /etc/samba/smb.conf.
Порада: Запустіть testparm. щоб перевірити правильність синтаксису конфігураційного файлу samba
Створення ресурсів для загального доступу
З боку Windows не забудьте змінити файл smb.conf для Windows Workgroup (в Windows за замовчуванням: WORKGROUP).
запуск служб
Для організації базових можливостей обміну файлами за допомогою SMB запустіть / включите служби smbd.service і nmbd.service. Для отримання додаткової інформації дивіться сторінки довідкового керівництва (man) smbd і nmbd.
Порада: Замість того, щоб запускати службу відразу після кожного завантаження системи, ви можете включити smbd.socket. завдяки чому вона буде запускатися лише при появі першого вхідного з'єднання. При цьому не забудьте відключити службу smbd.service
Створення ресурсів загального доступу від імені звичайного користувача
Примітка: Виконання даних дій не є обов'язковим. Переходьте до наступного розділу, якщо вам це не потрібно
"Usershare" - це можливість, що дозволяє звичайним користувачам додавати, змінювати і видаляти власні ресурси загального доступу.
Ця команда створює необхідний каталог в / var / lib / samba.
Ця команда створює групу sambashare:
Ця команда змінює власника і групу каталогу, який ви тільки що створили, на суперкористувача:
Задайте ці змінні в файлі конфігурації smb.conf.
Додайте вашого користувача в групу sambashares. Замініть Ваше_імя_пользователя на ім'я вашого linux-користувача:
Перезапустіть служби smbd і nmbd.
Завершіть сеанс і увійдіть в нього знову. Тепер у вас повинна з'явитися можливість налаштовувати загальний доступ samba, використовуючи графічний інтерфейс. Наприклад, в Thunar ви можете натиснути правою кнопкою миші на будь-якому каталозі і надати для нього загальний доступ в мережі.
Додавання користувача
Створіть обліковий запис користувача Linux для користувача samba. При необхідності замініть пользователь_samba на бажане ім'я:
Потім створіть обліковий запис користувача Samba з тим же ім'ям:
Зміна пароля Samba-користувача
Щоб змінити пароль користувача, використовуйте smbpasswd.
необхідні порти
Налаштування клієнта
Для доступу до файлів з використанням сервера Samba / SMB / CIFS необхідний тільки пакет smbclient. Він доступний в офіційних репозиторіях.
Ви можете отримувати доступ і монтувати локально ресурси, надані для загального доступу іншими комп'ютерами мережі, використовуючи графічний інтерфейс або інтерфейс командного рядка. Графічний спосіб обмежений, тому що більшість легковажних оточень робочого столу не має рідних засобів настройки доступу до цих ресурсів.
Існує дві "частини" надання загального доступу. Перша лежить в основі механізму роботи файлової системи, а друга є інтерфейсом, який дозволяє користувачеві вибирати монтовані ресурси загального доступу. У деяких середовищах перша частина вже вбудована.
ручне монтування
Встановіть пакет smbclient з офіційних репозиторіїв. Якщо ви бажаєте отримати більш легкий підхід і не потребуєте в можливості виведення списку загальнодоступних ресурсів, необхідно встановити тільки cifs-utils. щоб надати файл /usr/bin/mount.cifs.
Щоб вивести список загальнодоступних ресурсів на сервері:
Створити точку монтування для ресурсу:
Прімонтіруйте ресурс, використовуючи в якості зразка файл mount.cifs. Не всі опції з перерахованих нижче необхідні або хороші (наприклад, password).
Ім'я системи Windows.
Каталог загального доступу.
Локальний каталог, в який буде примонтовано ресурс.
Дивіться сторінку керівництва man mount.cifs для отримання інформації.
Примітка:- Утримайтеся від використання слеша / на кінці. // СЕРВЕР / ім'я_ресурсу / не працюватиме
- Якщо примонтировать вами ресурс працює нестабільно або зависає (freeze), спробуйте включити іншу версію протоколу SMB, використовуючи опцію vers =. Наприклад, vers = 2.0 для Windows Vista.
Додавання ресурсу в / etc / fstab
Найпростіший спосіб додати запис в fstab - використовувати щось на зразок цього:
а запис у вашому fstab повинна виглядати приблизно так:
При використанні systemd (сучасні установки) можна використовувати опцію comment = systemd.automount. яка збільшує швидкість завантаження сервісу на кілька секунд. Також можна вказати поточного користувача і групу, щоб зробити життя трохи простіше, використовуючи опції uid і gid.
Важливо: Використання опцій uid і gid може викликати помилки введення-виведення в програмах, які намагаються отримати дані з мережевих пристроїв
Примітка: Прогалини в іменах ресурсів повинні бути замінені на \ 040 (восьмеричний ASCII-код для пробілів). Наприклад, // СЕРВЕР / ім'я ресурсу має бути замінено на // СЕРВЕР / ім'я \ 040ресурса в / etc / fstab
монтування користувачами
Примітка: Необхідно писати users (у множині). Для інших типів файлових систем, оброблюваних командою mount. ця опція зазвичай має вигляд user. без "s"
Це дозволить користувачам монтувати ресурс, якщо точка монтування знаходиться в каталозі, власниками якого вони є, наприклад, в свою домашню директорію. Щоб користувачі могли монтувати і демонтувати ресурси Samba в точках монтування, власниками яких вони не є, використовуйте smbnetfs або дайте їм необхідні привілеї за допомогою sudo.
Імена хостів WINS
Пакет smbclient надає драйвер для використання імен хостів WINS. Щоб його включити, додайте "wins" в рядок "hosts" файлу /etc/nsswitch.conf.
автоматичне монтування
Є кілька способів легко переглядати ресурси загального доступу:
Примітка: для smbnetfs необхідна ціла (незаймана?) (Intact) установка сервера Samba. Дивіться вище, як це зробити
Для початку переконайтеся, що вам доступні всі ресурси, які вам потрібні для монтування:
Якщо це не працює, знайдіть і змініть наступний рядок в /etc/samba/smb.conf подібним чином:
Тепер запустіть служби smbd.service і nmbd.service.
Якщо все працює, як і очікувалося, встановіть пакет smbnetfs з офіційних репозиторіїв.
Потім додайте наступний рядок в файл /etc/fuse.conf.
Скопіюйте каталог /etc/smbnetfs/.smb в вашу домашню директорію:
Потім створіть посилання на файл smb.conf.
Якщо для доступу до деяких загальних каталогах необхідні ім'я користувача та пароль, необхідно відредагувати файл
/.smb/smbnetfs.auth. включивши одну або кілька записів, як ця:
Також можливе додавання записів для специфічних хостів, щоб вони були примонтировать smbnetfs, якщо це необхідно. Більше інформації можна знайти в
Коли ви закінчите настроювання, необхідно виконати
В іншому випадку smbnetfs поскаржиться: 'insecure config file permissions'.
Нарешті, щоб примонтировать мережеве оточення Samba в каталог за вашим вибором, виконайте
Пакет в Arch Linux також підтримує додатковий "загальносистемний" режим для smbnetfs. Щоб його включити, вам необхідно виконати зазначені зміни в каталозі /etc/smbnetfs/.smb.
Потім ви можете запустити і / або включити в автозавантаження демон smbnetfs звичайним способом. Загальносистемної точкою монтування є / mnt / smbnet /.
Дивіться статтю Autofs для отримання інформації про автомонтіровщіке ядра (kernel-based) Linux.
Налаштування файлового менеджера
Nautilus, Nemo, Thunar і PCManFM
Щоб отримати доступ до ресурсів samba через Nautilus, Nemo, Thunar або PCManFM, встановіть пакет gvfs-smb. доступний в офіційних репозиторіях.
Примонтировать ресурс, ймовірно, буде представлений в файлової системі шляхом / run / user / ваш_UID / gvfs.
Інші графічні оточення
Є кілька корисних програм, але їм можуть вимагатися пакети, створені для них. Це може бути зроблено за допомогою Arch package build system. Гарна новина полягає в тому, що вони не потребують особливого оточенні, що встановлюється для їх підтримки, так що вони "тягнуть" за собою менше пакетів.
- pyneighborhood доступний в офіційних репозиторіях
- Модулі LinNeighborhood, RUmba, xffm-samba для Xffm недоступний в офіційних репозиторіях або в AUR. Оскільки вони не підтримуються офіційно (або підтримуються, але неофіційно), вони можуть бути застарілими і не працювати в повній мірі
Вирішення проблем
Проблеми підключення до Windows 7 - mount error (12): can not allocate memory
Відома помилка Windows 7 "mount error (12): can not allocate memory" може бути виправлена установкою пари ключів в реєстрі системи Windows:
- HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Memory Management \ LargeSystemCache (встановити значення 1)
- HKLM \ SYSTEM \ CurrentControlSet \ Services \ LanmanServer \ Parameters \ Size (встановити значення 3)
В якості альтернативи можна запустити командний рядок від імені Адміністратора і виконати наступне:
Виконайте одну з таких дій, щоб зміни вступили в силу:
- перезавантажте Windows
- Перезапустіть службу на сервері через services.msc
- Виконайте в командному рядку net stop lanmanserver і net start lanmanserver; після зупинки служба може перезапуститися автоматично
Примітка: Пошук рішення в інтернеті підкаже інше рішення, що рекомендує користувачам додати ключ, що змінює розмір "IRPStackSize". Це неправильне рішення для усунення проблеми в Windows 7. Не застосовуйте його
Проблеми отримання доступу до ресурсів, захищеним паролем, з Windows
При проблемах отримання доступу до ресурсів, захищеним паролем, з Windows спробуйте додати наступне в файл /etc/samba/smb.conf: [1]
Зверніть увагу, що це повинно бути додано в локальний файл smb.conf, а не в файл сервера
Діалогове вікно з'являється з великою затримкою
У мене була проблема, пов'язана з тим, що діалогове вікно для введення пароля з'являлося із затримкою близько 30 секунд, коли я намагався встановити з'єднання з Windows XP / Windows 7. Коли я подивився файл error.log на сервері, я побачив:
Ця опція запобігає пошук cups і файлу / etc / printcap:
Помилка: Failed to retrieve printer list: NT_STATUS_UNSUCCESSFUL
Якщо ви є домашнім користувачем, використовуєте samba виключно для організації загального доступу до файлів з сервера або NAS і не зацікавлені в організації загального доступу до принтерів, ви можете виправити цю помилку, додавши наступні рядки в файл /etc/samba/smb.conf:
... перевірте ваші логи:
і більше помилка не повинна з'являтися.
Неможливо надати загальний доступ до папки
Проблема в тому, що, коли ви намагаєтеся надати спільний доступ до папки через Dolphin (файловий менеджер), і спочатку, начебто, все працює нормально, після перезапуску Dolphin іконка ресурсу зникла з папки, а в терміналі (Konsole) ви бачите наступний висновок:
Для вирішення проблеми включіть призначені для користувача загальні ресурси, як це описано в розділі # Створення ресурсів загального доступу від імені звичайного користувача.
в вашу конфігурацію iptables.
Ви не є власником каталогу
Спробуйте просто перезавантажити систему.
protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE
Підключення до сервера завершилося невдачею: (Error NT_STATUS_UNSUCCESSFUL)
Ймовірно, ви вказуєте smbclient неправильне ім'я сервера. Щоб дізнатися його, запустіть на сервері команду hostnamectl і знайдіть рядок "Transient hostname".