Перейти до основного вмісту

Samba

Samba — це програмне забезпечення для Linux/Unix-систем, яке реалізує протокол SMB (Server Message Block). Саме цей протокол використовується в Windows для спільного доступу до файлів, папок і принтерів у локальній мережі.

Завдяки Samba комп’ютер з Ubuntu може:

  • надавати доступ до папок для Windows;
  • підключатися до спільних папок Windows;
  • працювати як файловий сервер у локальній мережі;
  • обмежувати доступ за логіном і паролем;
  • керувати правами читання та запису.

Основні можливості Samba

  • обмін файлами між Linux, Windows і macOS;
  • створення захищених мережевих папок;
  • доступ без авторизації (guest access);
  • авторизація за логіном і паролем;
  • налаштування прав доступу для окремих користувачів;
  • робота через локальну мережу без додаткового програмного забезпечення.

Встановлення Samba в Ubuntu

Для встановлення Samba достатньо виконати команду:

sudo apt update
sudo apt install samba

Після встановлення можна перевірити версію:

smbd --version

Також перевірити стан служби:

systemctl status smbd

Якщо служба не запущена:

sudo systemctl start smbd
sudo systemctl enable smbd

Налаштування спільної папки

Конфігураційний файл Samba знаходиться за шляхом:

/etc/samba/smb.conf

Наприклад, відкриємо доступ до папки Downloads:

sudo nano /etc/samba/smb.conf

У кінець файлу додаємо:

[Downloads]
path = /home/user/Downloads
browseable = yes
read only = no
guest ok = no
valid users = user
force user = user
create mask = 0644
directory mask = 0755

Опис параметрів:

  • [Downloads] — назва мережевої папки;
  • path — шлях до каталогу в Ubuntu;
  • browseable — відображення папки у мережі;
  • read only — дозвіл запису;
  • guest ok — доступ без пароля;
  • valid users — список дозволених користувачів;
  • force user — від імені якого користувача створюються файли;
  • create mask — права для нових файлів;
  • directory mask — права для нових каталогів.

Створення користувача Samba та пароля

Для доступу з Windows потрібно створити Samba-користувача:

whoami

Наприклад, якщо ім’я користувача user:

sudo smbpasswd -a user

Система запропонує ввести пароль доступу до мережевої папки. Після цього активуємо користувача:

sudo smbpasswd -e user

Перезапускаємо Samba:

sudo systemctl restart smbd

Доступ до Ubuntu з Windows

Спочатку потрібно дізнатися IP-адресу Ubuntu:

hostname -I

Наприклад:

192.168.0.103

На Windows відкрийте Провідник або натисніть Win + R та введіть:

\\192.168.0.103

Або безпосередньо:

\\192.168.0.103\Downloads

Windows попросить логін і пароль. Введіть:

  • логін — ім’я Linux-користувача;
  • пароль — пароль, створений через smbpasswd.

Після успішної авторизації можна копіювати файли між Windows і Ubuntu через звичайний Провідник Windows.

Перевірка доступних мережевих папок

Подивитися список доступних шар (shares) можна командою:

sudo smbclient -L localhost -U%

Перевірити конфігурацію Samba:

testparm

Це дозволяє швидко знайти помилки в налаштуванні.

Коментарі

Популярні публікації

Шпаргалка по базових командах PostgreSQL

1. Підключення до PostgreSQL через командний рядок: psql -h <host> -p <port> -U <username> -d <database> 2. Підключення до бази без параметрів (якщо користувач і база мають однакове ім’я): psql 3. Показати список усіх баз даних: \l 4. Підключитися до іншої бази даних: \c <database_name> 5. Показати список таблиць у поточній базі: \dt 6. Показати всі об'єкти (таблиці, індекси, секвенції): \d 7. Показати таблиці з усіх схем: \dt *.* 8. Переглянути структуру конкретної таблиці: \d <table_name> 9. Виконати SQL-запит (приклад): SELECT * FROM users; 10. Вийти з psql: \q 11. Створити нову базу даних: CREATE DATABASE mydb; 12. Створити нову таблицю: CREATE TABLE users ( id SERIAL PRIMARY KEY, name TEXT NOT NULL, email TEXT UNIQUE ); 13. Додати новий запис: INSERT INTO users (name, email) VALUES ('Іван', 'ivan@example.com'); 14. Оновити дані в таблиці: UPDATE users SET name = 'Петро' WH...

Створення нового Elixir-проєкту

Для створення новго Elixir-проєкту можна використати команду mix new first_project --sup Зрозуміло, що Elixir має бути встановлений раніше. Пояснення команди: mix — це вбудований інструмент для управління проєктами в Elixir (аналог maven у Java чи npm у JavaScript ). new — підкоманда mix, яка створює новий проєкт. first_project — назва твого нового проєкту. Папка з цією назвою буде створена у поточному каталозі. --sup — опціональний прапорець, який додає шаблон структури з Supervision Tree. Це означає, що створений проєкт одразу буде мати структуру, яка підтримує супервізор (супервізор керує життєвим циклом процесів у системі, перезапускаючи їх при падінні). Щоб створити файл з тестом, можна запустити команду із директорії проєкту mix test Приблизний вигляд структури проєкту:

Docker-compose для створення Postgresql бази даних

Docker Compose — це інструмент, який дозволяє визначати та запускати багатоконтейнерні Docker-застосунки. Замість того, щоб вручну запускати кожен контейнер із довгими командами docker run, docker-compose.yml надає простий спосіб описати всю архітектуру додатка у вигляді YAML-файлу. Це дозволяє легко створювати, запускати, зупиняти та масштабувати сервіси за допомогою однієї команди, що значно спрощує розробку, тестування та розгортання застосунків. Основні можливості Docker Compose включають: запуск кількох контейнерів одночасно, визначення мережі та спільних томів між контейнерами, налаштування змінних середовища та автоматичне підключення сервісів один до одного через імена сервісів. Він особливо корисний для локального середовища розробки, CI/CD-процесів і навіть невеликих продакшен-рішень, де потрібно швидко відтворити середовище для тестування або демонстрації. Мінімальний docker-compose.yml для локального використання PostgreSQL без збереження даних після видалення контейне...

Шпаргалка по запуску та збірці Spring Boot-проєктів

Maven + Spring Boot 1. Збірка проєкту (із завантаженням залежностей, компіляцією, запуском тестів та створенням артефакту) mvn clean install 2. Збірка артефакту без встановлення у локальний репозиторій mvn package 3. Збірка без тестів mvn clean package -DskipTests 4. Запуск Spring Boot-проєкту mvn spring-boot:run 5. Запуск із активним профілем Spring Boot mvn spring-boot:run -Dspring-boot.run.profiles=dev 6. Запуск із параметрами mvn spring-boot:run -Dspring-boot.run.arguments="--server.port=8081 --spring.profiles.active=prod" 7. Запуск з jar-файлу java -jar target/your-app-name.jar 8. Запуск тестів mvn test 9. Запуск, якщо pom.xml у підкаталозі mvn -f шлях/до/pom.xml spring-boot:run 10. Запуск із Maven-профілем (не плутати з Spring Boot профілем) mvn clean install -P dev Gradle + Spring Boot 1. Збірка проєкту (з компіляцією, тестами та створенням jar) ...

Прості типи даних в Elixir

Мова Elixir має низку простих (примітивних) типів даних, які часто використовуються в повсякденному програмуванні. Числа Elixir підтримує цілі (integer) та дійсні числа (float). # Цілі числа a = 42 b = -7 # Дійсні числа c = 3.14 d = -0.001 Булеві значення Elixir має два булевих значення: true та false . x = true y = false z = x and y # false Атоми Атоми — це константи з іменем, що починається з двокрапки. Вони широко використовуються, наприклад, для імен параметрів або станів. :ok :error :running :elixir_is_fun Рядки Рядки в Elixir — це двійкові дані з кодуванням UTF-8, оголошуються в подвійних лапках. name = "Pavlo" greeting = "Привіт, #{name}!" Nil Nil — це спеціальне значення, що позначає "відсутність значення". value = nil is_nil(value) # true Бінарні дані та байти Бінарні дані оголошуються в подвійних лапках або як бінарні літерали. string = "Привіт" # це рядок, але також бінарні дані binary = ...