Добавлен samba мануал
This commit is contained in:
parent
a642f69d09
commit
0bee76e02b
|
@ -1,3 +1,4 @@
|
||||||
# Мануалы
|
# Мануалы
|
||||||
|
|
||||||
## [initrd (Initial RAM Disk)](src/initrd.md)
|
## [initrd (Initial RAM Disk)](src/initrd.md)
|
||||||
|
## [Базовая настройка подключения к серверу Samba](src/samba.md)
|
||||||
|
|
|
@ -0,0 +1,152 @@
|
||||||
|
# Базовая настройка подключения к серверу Samba
|
||||||
|
|
||||||
|
## Установка Samba
|
||||||
|
|
||||||
|
За основу примера я возьму дистрибутив [Ubuntu 20.04.2](https://releases.ubuntu.com/20.04/). Для начала необходимо установить сам сервер Samba, если он отсутствует. Обновим базы данных пакетов и произведём установку Samba:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install samba
|
||||||
|
```
|
||||||
|
|
||||||
|
После завершения установки служба Samba запустится автоматически. Чтобы проверить, работает ли сервер Samba, введём:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
systemctl status smbd.service
|
||||||
|
```
|
||||||
|
|
||||||
|
Получим ожидаемый ответ:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
● smbd.service - Samba SMB Daemon
|
||||||
|
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
|
||||||
|
Active: active (running) since Fri 2021-06-18 23:03:37 MSK; 15h ago
|
||||||
|
Docs: man:smbd(8)
|
||||||
|
man:samba(7)
|
||||||
|
man:smb.conf(5)
|
||||||
|
Main PID: 1368 (smbd)
|
||||||
|
Status: "smbd: ready to serve connections..."
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
## Создание сетевой учетной записи пользователя
|
||||||
|
|
||||||
|
Для подключения по сети к расшариваемому каталогу нам необходимо иметь учетную запись с нужными правами. Для начала создадим общую группу пользователей Samba, в которую далее включим нашу учетную запись:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo groupadd smbgrp
|
||||||
|
```
|
||||||
|
|
||||||
|
Создаём нового пользователя и включаем его в вышесозданную группу (`-M` - без домашней директории, `-G` - добавляем в группу):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo useradd -MG smbgrp smbuser
|
||||||
|
```
|
||||||
|
|
||||||
|
Зададим Samba-пароль для созданной учетной записи:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo smbpasswd -a smbuser
|
||||||
|
```
|
||||||
|
|
||||||
|
## Настройка расшариваемого каталога
|
||||||
|
|
||||||
|
Нам необходимо будет создать каталог (или выбрать из имеющихся), который необходимо будет сконфигурировать в файле настроек сервера. Создаём каталог для общего доступа. Я буду его создавать в `/mnt`:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo mkdir -p /mnt/share
|
||||||
|
```
|
||||||
|
|
||||||
|
Установить права на чтение/запись расшариваемого каталога (где `$USER` - текущий пользователь host-системы):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo chown $USER:smbgrp /mnt/share
|
||||||
|
sudo chmod g+ws,o-rx /mnt/share
|
||||||
|
```
|
||||||
|
|
||||||
|
Или вместо последней строки выполнить:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo chmod 2770 /mnt/share
|
||||||
|
```
|
||||||
|
|
||||||
|
Также необходимо добавить пользователя host-системы в группу `smbgrp`, для того, чтобы на хосте можно было просматривать/редактировать файлы, загруженные пользователем `smbuser`:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo usermod -aG smbgrp $USER
|
||||||
|
```
|
||||||
|
|
||||||
|
В результате манипуляций у нас должно получиться:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
drwxrws--- 2 host-user smbgrp 4096 Jun 19 11:46 share/
|
||||||
|
```
|
||||||
|
|
||||||
|
## Конфигурация smb.conf
|
||||||
|
|
||||||
|
Файл конфигурации Samba находится в `/etc/samba/smb.conf`. Нам необходимо (на всякий случай) сделать бэкап данного файла и внести изменения в основной файл для доступа к расшариваемому каталогу. Делаем бэкап:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
|
||||||
|
```
|
||||||
|
|
||||||
|
Теперь редактируем файл конфигурации:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo nano /etc/samba/smb.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
Добавляем в конец файла строки:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
[share]
|
||||||
|
path = /mnt/share
|
||||||
|
valid users = @smbgrp
|
||||||
|
guest ok = no
|
||||||
|
browsable = yes
|
||||||
|
writable = yes
|
||||||
|
create mask = 2770
|
||||||
|
directory mask = 2770
|
||||||
|
```
|
||||||
|
|
||||||
|
Сохраняем файл конфигурации и проверяем на корректность новые указанные данные:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
testparm -s
|
||||||
|
```
|
||||||
|
|
||||||
|
Получим ожидаемый ответ:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
Load smb config files from /etc/samba/smb.conf
|
||||||
|
Loaded services file OK.
|
||||||
|
```
|
||||||
|
|
||||||
|
Если всё в порядке - перезапускаем службу Samba:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo systemctl restart smbd.service
|
||||||
|
```
|
||||||
|
|
||||||
|
## Соединение
|
||||||
|
|
||||||
|
Теперь попробуем присоединиться к нашему серверу с удалённого компьютера. На host-системе должен быть открыт порт `445` для подключения к Samba. С удалённого компьютера под управлением Linux (в моём случае [Solus Budgie 4.2](https://getsol.us/2021/02/03/solus-4-2-released/)) запускаем утилиту `smbclient` и подключаемся к нашему серверу (где `-U` — наш пользователь Samba, далее следует пароль):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
smbclient //<host-ip-address>/share -U 'smbuser' '<smbuser-password>'
|
||||||
|
```
|
||||||
|
|
||||||
|
В моём случае:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
smbclient //192.168.56.104/share -U 'smbuser' 'smbuser'
|
||||||
|
```
|
||||||
|
|
||||||
|
В ответ нам прилетит приглашение Samba:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
Try "help" to get a list of possible commands.
|
||||||
|
smb: \>
|
||||||
|
```
|
||||||
|
|
||||||
|
Теперь мы можем просматривать/редактировать файлы на нашем сервере. Базовая настройка подключения к серверу Samba окончена!
|
Loading…
Reference in New Issue