Найчастіше файловий сервер в Linux використовується в рамках локальної або інший загальної мережі для взаємодії з комп'ютерами на базі Windows. Він може бути встановлений в дистрибутивах за замовчуванням, але це відбувається не завжди, до того ж конфігурація такого сервера буде стандартною. Сьогодні пропонуємо дізнатися все про інсталяції та основний налаштування файлового сервера на прикладі найпопулярнішої утиліти під назвою Samba. Ми розділимо це керівництво на кроки, щоб початківцям користувачам було простіше орієнтуватися у всіх необхідних для виконання діях.
Встановлюємо та налаштовуємо файловий сервер в Linux
Хоч сьогоднішній матеріал і буде зосереджений на управлінні збірками Linux, що не обійдемо стороною і Віндовс, оскільки для початку вам доведеться виконати найпростіші маніпуляції в цій ОС, щоб в майбутньому настройка пройшла успішно і не виникло ніяких проблем з підключенням до групи. За приклад ми взяли зв'язку Windows 10 і Ubuntu. Якщо ви використовуєте інші ОС, просто дотримуйтеся особливостей їх реалізації, які не повинні значно відрізнятися від того, що ви побачите далі.
Крок 1: Попереднє налаштування Windows
При підготовці файлового сервера Samba понажобітся вказати деякі дані, пов'язані з операційною системою Windows. Додатково в самому Віндовс потрібно дозволити підключення для комп'ютера з Linux, оскільки спочатку з'єднання будуть блокуватися. Всі ці процедури виконуються буквально за кілька кліків і виглядають наступним чином:
- Відкрийте «Пуск» і запустіть звідти «Командний рядок», Знайшовши додаток через пошук.
- Тут вам буде потрібно ввести просту команду
net config workstation
і натиснути на клавішу Enter. - В відобразиться списку відшукайте рядок «Домен робочої станції» і запам'ятайте її значення.
- Знову в консолі введіть
notepad C: WindowsSystem32driversetchosts
для відкриття відомого файлу hosts через стандартний «Блокнот». - Тут в кінці вставте рядок
192.168.0.1 srvr1.domain.com srvr1
, Замінивши IP на адресу комп'ютера з Samba, і збережіть всі зміни.
На цьому робота з Windows закінчується. Після ви зможете повернутися в цю ОС для настройки загального доступу і управління відкрилися папками, але поки це недоступно, оскільки конфігурація файлового сервера в Лінукс ще не проведена. Цим ми і пропонуємо зайнятися в наступних кроках.
Крок 2: Установка Samba в Linux
Почнемо з безпосередньої установки Samba в Лінукс. Використовувати для цього ми будемо офіційні репозиторії, тому перед початком переконайтеся, що підключення до інтернету знаходиться в активному стані. Після цього дотримуйтесь розписаної нижче інструкції.
- Відкрийте меню додатків і запустіть «Термінал».
- Тут потрібно ввести команду
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 - відповідає за ім'я робочої групи. Її ми вже впізнавали в Windows, і тут потрібно задати точно таку ж назву, оскільки воно повинно бути однаковим абсолютно на всіх з'єднаних пристроях.
- netbios name - використовується для відображення імені поточного комп'ютера на пристрої під управлінням Windows. Задайте оптимальне для себе значення.
- log file - вказується шлях до файлу, куди будуть зберігатися звіти. Створити подібну запис потрібно обов'язково, щоб завжди бути в курсі можливих помилок і інших відомостей.
- passdb backend - визначає спосіб зберігання паролів облікових записів. Без потреби краще не змінювати і залишити в стані за замовчуванням.
- unix password sync - при активації виконує синхронізацію паролів.
-
map to guest - відповідає за надання гостьового рівня доступу певним профілям. Якщо значення встановлено в стан
bad user
, То така настройка застосовується для неіснуючих користувачів,bad password
- при неправильному введенні паролів, аnever
- ніколи.
Насправді в Samba є ще безліч глобальних параметрів, а також реалізований графічний інтерфейс. Якщо ви зацікавилися усіма цими настройками, радимо звернутися до офіційної документації, щоб дізнатися про них більш детально, оскільки всі відомості не вмістяться в рамках даної статті, а також не всі вони мають відношення до сьогоднішньої теми.
Крок 4: Створення загальнодоступної папки
Практично для кожної групи користувачів, що використовують файловий сервер, важливо мати загальнодоступну папку, до якої можна отримати доступ без попередньої авторизації. За замовчуванням така директорія відсутня, тому ми пропонуємо її створити самостійно, що здійснюється буквально за кілька хвилин.
- запустіть «Термінал» і введіть там
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 здійснюється шляхом переходу по srvr1allaccess
. Зараз за прикладом тим, який ми привели в попередньому етапі, розберемо значення кожного встановлюваного параметра:
- path. Як ви бачите з значення, тут вказується шлях до створеної загальнодоступною директорії.
- browsable. Цей параметр відповідає за відображення директорії в списку дозволених.
-
writable. відзначте значення
yes
, Якщо ви хочете дозволити створення записів в цій папці. - guest ok. Цей рядок відповідає за ідентифікацію.
- read only. Якщо ви знаєте переклад цієї фрази, то вже здогадуєтеся, що станеться, якщо активувати параметр. Він відповідає за атрибут «Тільки читання» для зазначеної директорії.
Крок 5: Створення захищеної загальнодоступною папки
В якості останнього етапу нашої сьогоднішньої статті ми вирішили взяти приклад створення захищеної директорії для загального доступу. У попередньому кроці вже розказано про те, як створюються повністю анонімні папки, проте їх недолік полягає у відсутності захисту, тому в більшості випадків користувачі вважають за краще працювати з безпечними каталогами, а їх створення здійснюється так:
- Створіть директорію за тим же принципом через
sudo mkdir -p / samba / allaccess / secured
. - Як ви могли здогадатися, це дія теж слід підтвердити, ввівши пароль користувача root.
- Після цього створіть групу, куди будуть входити дозволені користувачі, написавши
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. Тепер ви можете вирішити, чи підходить вам така схема надання загального доступу або є сенс знайти інший інструмент, здатний надати більш підходящі налаштування.