Зміст
Найчастіше файловий сервер в Linux використовується в рамках локальної або іншої спільної мережі для взаємодії з комп'ютерами на базі Windows. Він може бути встановлений в дистрибутивах за замовчуванням, але це відбувається не завжди, до того ж конфігурація такого сервера буде стандартною. Сьогодні пропонуємо дізнатися все про інсталяцію і основний Налаштування файлового сервера на прикладі найпопулярнішої утиліти під назвою Samba. Ми розділимо це керівництво на кроки, щоб початківцям користувачам було простіше орієнтуватися у всіх необхідних для виконання діях.
Встановлення та налаштування файлового сервера в Linux
Хоч сьогоднішній матеріал і буде зосереджений на управлінні дистрибутивами Linux, не обійдемо стороною і Віндовс, оскільки для початку вам доведеться виконати найпростіші маніпуляції в цій ОС, щоб в майбутньому настройка пройшла успішно і не виникло ніяких проблем з підключенням до групи. За приклад ми взяли зв'язку Windows 10 і Ubuntu. Якщо ви використовуєте інші ОС, просто дотримуйтеся особливостей їх реалізації, які не повинні значно відрізнятися від того, що ви побачите далі.
Крок 1: попереднє налаштування Windows
При підготовці файлового сервера Samba понажобится вказати деякі дані, пов'язані з операційною системою Windows. Додатково в самому Віндовс потрібно дозволити підключення для комп'ютера з Linux, оскільки спочатку з'єднання будуть блокуватися. Всі ці процедури виконуються буквально за кілька кліків і виглядають наступним чином:
- Відкрийте &171; Пуск & 187; і запустіть звідти &171;командний рядок&187; , знайшовши додаток через пошук.
- Тут вам буде потрібно ввести просту команду
net config workstation
і натиснути на клавішу Enter . - В відобразився списку відшукайте рядок &171;домен робочої станції&187; і запам'ятайте її значення.
- Знову в консолі введіть
notepad C:\Windows\System32\drivers\etc\hosts
для Відкриття відомого файлу hosts через стандартний &171; Блокнот&187; . - Тут в кінці вставте рядок
192.168.0.1 srvr1.domain.com srvr1
, замінивши IP на адресу Комп'ютера з Samba, і збережіть всі зміни.
На цьому робота з Windows закінчується. Після ви зможете повернутися в цю ОС для настройки загального доступу і управління відкрилися папками, але поки це недоступно, оскільки конфігурація файлового сервера в Лінукс ще не проведена. Цим ми і пропонуємо зайнятися в наступних кроках.
Крок 2: Встановлення Samba в Linux
Почнемо з безпосередньої установки Samba в Лінукс. Використовувати для цього ми будемо офіційні репозиторії, тому перед початком переконайтеся, що підключення до Інтернету знаходиться в активному стані. Після цього дотримуйтесь розписаної нижче інструкції.
- Відкрийте меню програм і запустіть &171;Термінал&187; .
- Тут потрібно ввести команду
sudo apt-get install -y samba samba-common python-glade2 system-config-samba
. Вона відповідає за інсталяцію додаткових компонентів разом з файловим сервером. - Підтвердьте справжність облікового запису суперкористувача, написавши пароль. Символи, що вводяться в цей рядок, на екрані не відображаються, тому не варто переживати через те, що букв або цифр не видно.
- Потім розпочнеться процедура отримання та розпакування архівів. Вона може зайняти кілька хвилин, під час цієї операції краще не виконувати інших дій і не закривати консоль. Якщо з'явився новий рядок введення, значить, інсталяція успішно завершена.
Більше нічого встановлювати не доведеться, а сервер буде запущений автоматично, тому можна сміливо переходити до його налаштування, чому і присвячені наші наступні кроки.
Крок 3: створення глобальних налаштувань
Відразу ж після інсталяції Samba в ній не буде ніяких параметрів, що відповідають за поведінку, тому доведеться додавати їх власноруч, вводячи рядки в конфігураційний файл. Недосвідченим користувачам може здатися, що виконати це завдання буде дуже складно. Ми ж пропонуємо взяти наш шаблон, замінивши лише призначені для користувача значення.
- Іноді якісь важливі параметри в конфігураційному файлі все ж присутні за замовчуванням, через що виникає потреба створити його резервну копію, щоб відновити її при виникненні випадкових збоїв. Здійснюється це шляхом введення всього однієї команди
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
. - Всі інші дії будуть проводитися через текстовий редактор. Оптимальним варіантом в цьому випадку є nano. Якщо цей додаток відсутній у вашому дистрибутиві, додайте його через
sudo apt install nano
. - Після переходите до конфігураційного файлу, використовуючи
sudo nano /etc/samba/smb.conf
. - У вікні, вставте наведені нижче рядки.
[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
netbios name = Ubuntu Share
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
passdb backend = tdbsam
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
map to guest = bad user
usershare allow guests = yes - Використовуйте комбінацію Ctrl + O , щоб зберегти зміни.
- Назву файлу міняти не потрібно, достатньо буде просто натиснути на клавішу Enter .
- Після завершення вийдіть з текстового редактора, затиснувши Ctrl + X .
Тепер давайте більш детально зупинимося на кожній з введених рядків, щоб ви в майбутньому змогли налаштувати їх під себе:
- Workgroup &8212; відповідає за назву робочої групи. Її ми вже дізнавалися в Windows, і тут потрібно задати точно таку ж назву, оскільки воно повинно бути однаковим абсолютно на всіх Сполучених пристроях.
- Netbios name &8212; використовується для відображення імені поточного комп'ютера на пристрої під управлінням Windows. Задайте оптимальне для себе Значення.
- Log file &8212; вказується шлях до файлу, куди будуть зберігатися звіти. Створити подібний запис потрібно обов'язково, щоб завжди бути в курсі можливих помилок і інших відомостей.
- Passdb backend &8212; визначає спосіб зберігання паролів облікових записів. Без потреби краще не змінювати і залишити в стані за замовчуванням.
- Unix password sync &8212; при активації виконує синхронізацію паролів.
- Map to guest &8212; відповідає за надання гостьового рівня доступу певним профілям. Якщо значення встановлено в стан
bad user
, то така настройка застосовується для неіснуючих користувачів,bad password
& 8212; при неправильному введенні паролів, аnever
&8212; ніколи.
Насправді в Samba присутня ще безліч глобальних параметрів, а також реалізований графічний інтерфейс. Якщо ви зацікавилися всіма цими настройками, радимо звернутися до офіційної документації, щоб дізнатися про них більш детально, оскільки всі відомості не вмістяться в рамках даної статті, а також не всі вони мають відношення до сьогоднішньої теми.
Крок 4: створення загальнодоступної папки
Практично для кожної групи користувачів, що використовують файловий сервер, важливо мати загальнодоступну папку, до якої можна отримати доступ без попередньої авторизації. За замовчуванням така директорія відсутня, тому ми пропонуємо її створити самостійно, що здійснюється буквально за кілька хвилин.
- Запустіть &171;Термінал&187;
і введіть там
sudo mkdir -p /samba/allaccess
для створення нової папки. Її ім'я ви можете поміняти на будь-який зручний. - Дана дія виконується разом з аргументом sudo , а це значить, що доведеться ввести пароль для підтвердження облікового запису.
- Після переходите до Налаштування загального доступу для створеної директорії. Для початку перемістимося в корінь Samba через
cd /samba
. - Тепер вставте команду
sudo chmod -R 0755 allaccess
і натисніть на Enter . - Потрібно вказати ще одну опцію
sudo chown -R nobody:nogroup allaccess/
, яка відповідає за надання доступу абсолютно всім обліковим записам. - Залишилося внести всі зміни в конфігураційний файл. Запустіть його через текстовий редактор, використовуючи вже знайому команду
sudo nano /etc/samba/smb.conf
. - Тут вставте наведений нижче блок, відповідальний за визначення правил поведінки сервера. Про значення кожного рядка ми також поговоримо трохи пізніше.
[allaccess]
path = /samba/allaccess
browsable = yes
writable = yes
guest ok = yes
read only = no - Збережіть зміни та закрийте текстовий редактор за допомогою спеціальних гарячих клавіш.
- Перезапустіть сервер через
sudo systemctl restart samba
, щоб поточні налаштування вступили в силу.
Перевірка доступу до створеної директорії в Windows здійснюється шляхом переходу по \\srvr1\allaccess
. Зараз за тим же прикладом, який ми привели в попередньому етапі, розберемо значення кожного встановлюваного параметра:
- Path . Як ви бачите зі значення, тут вказується шлях до створеної загальнодоступної директорії.
- Browsable . Цей параметр відповідає за відображення директорії в списку дозволених.
- Writable . Позначте значення
yes
, якщо ви хочете дозволити створення записів у цій папці. - Guest ok . Цей рядок відповідає за гостьовий доступ.
- Read only . Якщо ви знаєте переклад цієї фрази, то вже здогадуєтеся, що станеться, якщо активувати параметр. Він відповідає за атрибут &171;тільки читання&187; для вказаної директорії.
Крок 5: створення захищеної загальнодоступної папки
В якості останнього етапу нашої сьогоднішньої статті ми вирішили взяти приклад створення захищеної директорії для загального доступу. У попередньому кроці вже розказано про те, як створюються повністю анонімні папки, проте їх недолік полягає у відсутності захисту, тому в більшості випадків користувачі вважають за краще працювати з безпечними каталогами, а їх створення здійснюється так:
- Створіть директорію за тим же принципом через
sudo mkdir -p /samba/allaccess/secured
. - Як ви могли здогадатися, цю дію також слід підтвердити, ввівши пароль суперкористувача.
- Після цього створіть групу, куди будуть входити дозволені користувачі, написавши
sudo addgroup securedgroup
. - Перейдіть до розташування захищеної директорії, вказавши
cd /samba/allaccess
. - Тут вкажіть права для користувачів, написавши
sudo chown -R richard:securedgroup secured
. Замінивши richard на потрібне ім'я облікового запису. - Друга команда безпеки виглядає так:
sudo chmod -R 0770 secured/
. - Перейдіть до текстового редактора, відкривши там конфігураційний файл і написавши вже знайому команду
sudo nano /etc/samba/smb.conf
. - Вставте наведений нижче блок і збережіть зміни.
[secured]
path = /samba/allaccess/secured
valid users = @securedgroup
guest ok = no
writable = yes
browsable = yes - Додайте користувача до захищеної групи
sudo usermod -a -G securedgroup richard
. Якщо зазначеного облікового запису не існує, ви отримаєте відповідне повідомлення. - Створіть пароль, який буде відповідати за відкриття доступу через
sudo smbpasswd -a richard
. - Введіть ключ безпеки в новий рядок, а потім підтвердьте його.
Після внесення всіх змін не забудьте перезавантажити сервер, щоб усі вони вступили в дію. Точно таким же чином ви можете створювати необмежену кількість захищених загальнодоступних папок, налаштовуючи для них певні параметри.
Сьогодні ми розібралися в темі файлового сервера для Linux на прикладі покрокового керівництва конфігурації з'єднання через Samba. Тепер ви можете вирішити, чи підходить вам така схема спільного доступу, чи є сенс знайти інший інструмент, здатний забезпечити більш відповідні налаштування.