Установка и настройка Samba в Debian
Что такое Samba.
Samba это набор UNIX-приложений, которые умеют работать с протоколом SMB (Server Message Block). Многие операционные системы, включая Windows и OS/2 используют SMB для организации сетевого клиент-серверного взаимодействия. Благодаря поддержке этого протокола, Samba позволяет UNIX-серверам взаимодействовать с тем же сетевым протоколом, что и семейство ОС Microsoft Windows.
Пакет Samba для Debian.
Этот пакет содержит все компоненты необходимые для превращения вашего Debian-сервера в мощный файл- и принт-сервер.
В настоящий момент, пакеты Samba для Debian включают в себя:
- samba — файл- и принт- сервер для UNIX.
- samba-common — общие файлы Samba, используемые как сервером, так и клиентом.
- smbclient — простой клиент для Unix.
- swat — Samba Web Administration Tool, веб-клиент.
- samba-doc — документация по Samba.
- smbfs — команды монтирования и отмонтирования для smbfs (ядра версий 2.2.x и выше)
- libpam-smbpass — подключаемый модуль авторизации для базы паролей SMB.
- libsmbclient — разделяемая библиотека, которая позволяет приложением общаться с SMB серверами.
- libsmbclient-dev — разделяемые библиотеки libsmbclient.
- winbind — служба для получения информации о пользователях и группах от серверов на Windows NT.
- python2.3-samba — модуль для python, дающий доступ к различным аспектам Samba.
Есть возможность устанавливать определенный набор из этих пакетов в зависимости от ваших запросов. На пример, чтобы получить доступ к другим SMB-серверам вам понадобятся только пакеты smbclient и samba-common.
Установка Samba в Debian.
Затем создаем директорию, доступ к которой будем предоставлять с помощью Samba:
Далее создадим системного пользователя, который будет иметь доступ к директории:
Теперь создаем в samba пароль для этого пользователя:
Настройка Samba в Debian.
Правим конфигурационный файл samba с помощью команды:
В целом, по умолчанию, сконфигурировано довольно не понятно и содержимое файла можно удалить полностью и заново вписать нужные строки.
Далее привожу пример рабочей конфигурации. Основной блок:
В основном блоке указываем имя рабочей группы (WORKGROUP) и имя сервера, которое будет видно в системах клиентов, а также комментарий. Чтобы пользователи могли видеть сервер, их системы должны быть настроены на использование той же рабочей группы. socket options — параметры для улучшения производительности, можно поиграться размерами буферов, числа должны быть кратны 1024. local master — позволяет указать, является ли сервер главным в сети. security = share — позволяет включить по умолчанию доступ без пароля.
Далее описываются отдельно все директории, к которым открыт доступ:
В квадратных скобках пишется имя директории, которое будет видно пользователям. Данная конфигурация позволяет доступ всем без пароля и с возможностью записи. Классическая файлопомойка.
А таким образом мы можем создать закрытую директорию, доступ к которой есть только у указанного пользователя.
Проверить правильность конфигурационного файла можно командой:
После настройки необходимо перезапустить samba:
Описание всех параметров на русском языке можно найти на smb-conf.ru.
Проверка работоспособности samba-сервера:
Если после тестирования оказалось, что samba работает не на столько хорошо, как хотелось бы, то попробуйте настроить nfs-сервер.
Настройка файлового сервера Samba на Debian: часть третья
Первые две статьи рассказывали об установке системы Debian и пакета Samba. Данная статья «Настройка samba server» — является «основной» и «завершающей». От вас требуется минимум знаний при работе в Linux системах, но при этом необходимо проявить внимание и желание по настройке своего первого Samba server. Приступим.
1. Заходим в систему под root. Создадим общий каталог для будущих файлов и папок пользователей в директории /home. А так же конкретную папку files, для определённой группы пользователей:
root@sambaserv:/# (изначальное положение, корень!) root@sambaserv:/# cd /home (переходим в папку /home) root@sambaserv:/home# mkdir samba (создаем папку samba — как начальную для всех папок и файлов) root@sambaserv:/home# cd /samba (переходим в папку /samba) root@sambaserv:/home/samba# mkdir files (создаем папку files — для конкретной группы) root@sambaserv:/home/samba# ls (проверяем её появление) files (результат после ввода команды ls) |
2. Данный пункт читаем, если у вас нет ещё нужного вам пользователя (иначе сразу п. 3). Создадим нового пользователя:
root@sambaserv:/# useradd test (где, test — это имя пользователя. Можете указать своё: vasya, petya и т.д.) root@sambaserv:/# passwd test (создадим пароль для этого пользователя) Введите новый пароль UNIX: (вводите новый пароль на пользователя test) Повторите ввод нового пароля UNIX: (повтор) passwd: пароль успешно обновлён |
3. Создадим группу, в которую будут входить нужные нам пользователи (групп — можно создать много, по аналогии):
root@sambaserv:/# groupadd new (добавили группу new) root@sambaserv:/# less /etc/group (проверили появление нашей, будет большой список всех групп) |
4. Добавим нашего пользователя в группу:
root@sambaserv:/# usermod -a -G new test (добавили пользователя test в группу new) root@sambaserv:/# less /etc/group (проверили привязку пользователя к группе) …все группы системы. new:x:1002:test (результат проверки) или root@sambaserv:/# cat /etc/group |grep new (или этой командой: проверили привязку пользователя к группе) new:x:1002:test (результат проверки) |
5. Добавим нашего пользователя в Samba:
root@sambaserv:/# smbpasswd -a test (пользователь test) New SMB password: (Samba просит новый пароль на пользователя test. Указываем такой же как и в системе Debian) Retype new SMB password: (повтор) Added user test. (сообщение о добавлении пользователя) root@sambaserv:/# (выкидывает обратно к корню) |
6. Возвращаемся к нашей папке files и проверяем кто имеет право доступа к ней:
root@sambaserv:/# (начальная позиция) root@sambaserv:/# cd /home/samba (переходим в папку samba) root@sambaserv:/home/samba# ls (смотрим какая папка внутри) share (ответ по команде ls) root@sambaserv:/home/samba# ls -la (вводим команду которая отразит права на папки/файлы находящиеся в основной папке samba) |
Немного теории:
Это значение «drwxr-xr-x» можно представить как «d [rwx [r-x [r-x». Каждый блок отвечает за конкретного пользователя/группу. Подробнее:
- d — директория
- [rwx — права владельца root
- [r-x — права группы
- [r-x — права всех остальных, кто обращается к папке
Что означает rwx?
- r — чтение
- w — запись
- x — выполнить
7. Дадим группе «new» право доступа к этой папке с распределением прав:
root@sambaserv:/home/samba# chown root:new files (присвоим группу new к папке, где root-владелец, new-группа, files-папка) root@sambaserv:/home/samba# ls -la (Проверяем права) drwxr-xr-x 4 root root 4096 сен 1 22:21 . (результат) drwxr-xr-x 5 root root 4096 авг 29 19:48 .. (результат) drwxr-xr-x 2 root new 4096 сен 1 22:21 files (значение «root root» сменилось на «root new») root@sambaserv:/home/samba# chmod 770 files/ (определяем права 770 для root/группа/все, см. п. 6 «Немного теории») |
8. Возвращаемся в корень и заполняем файл конфигурации Samba:
root@sambaserv:/# nano /etc/samba/smb.conf (smb.conf — файл конфигурации Samba)
В открывшемся редакторе nano, файл «smb.conf» будет заполнен. Стираем все строчки, либо оставляем закомментированными, если ориентируетесь в nano:
dos charset = cp1251
unix charset = utf8
workgroup = WORKGROUP
netbios name = debianserv
name resolve order = wins bcast
interfaces = eth0 192.168.0.0/24
hosts deny = ALL
hosts allow = 192.168.0. 127.0.0.1
server string = Samba Server 4
log file = /var/log/samba/%m.log
max log size = 1024
security = user
encrypt passwords = true
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192
SO_SNDBUF=8192
local master = yes
os level = 255
preferred master = yes
comment = Test gruppi
path = /home/samba/files
valid users = @new
force group = new
create mask = 0770
directory mask = 0770
writable = yes
* Для любых действий в редакторе nano добавляем Ctrl + «Буква». В нашем случае: «Ctrl + O» — «Enter» — «Ctrl + X».
9. Перезагружаем Samba server:
root@sambaserv:/# /etc/init.d/samba restart |
10. Перед проверкой работы, необходимо настроить работу сетевой карты. В фале прописаны параметры для стандартного роутера D-link с адресом «192.168.0.1»:
root@sambaserv:/# nano /etc/network/interfaces |
Редактируем файл под свои параметры сети!
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.15
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 192.168.0.1
* Из параметров файла, виден присвоенный сетевой адрес «address 192.168.0.15»
Настройка Samba server завершена, проверяем.
Немного информации:
Как установить права доступа на запись в папку и на все подпапки и файлы:
chmod -R 755 /home/vasya
смена прав, -R рекурсивно, т.е. изменит и то, что внутри каталога vasya
циферки — это три отдельных атрибута:
- 7 — rwx — читать, писать, выполнять
- 6 — rw- — читаь, писать
- 5 — r-x — читать, выполнять
- 4 — r— — читать
- 3 — -wx — писать, выполнять
- 2 — -w- — писать
- 1 — —x — выполнять
- 0 — — — ничего нельзя делать
🥤 Установка и настройка общего ресурса сервера Samba в Debian 10 / Ubuntu 18.04
Добро пожаловать в наше руководство по установке и настройке Samba Share на сервере Debian 10 (Buster) и системе Ubuntu 18.04 Linux.
Samba — это реализация протоколов Server Message Block (SMB) и Common Internet File System (CIFS) с открытым исходным кодом, предоставляющая услуги хранения файлов и печати между клиентами в различных операционных системах.
Настроив общий ресурс сервера Samba в Debian 10 (Buster) / Ubuntu 18.04, вы можете легко обмениваться папками или файлами между операционными системами Windows и Linux.
В этом контексте машина Windows будет использоваться в качестве клиента для доступа к общему ресурсу Samba в Linux (Debian 10 / Ubuntu 18.04).
Шаг 1: Установите Samba Server в Debian 10 / Ubuntu 18.04
Чтобы установить Samba на Debian 10 Buster / Ubuntu 18.04, используйте команды:
Если вы используете статический IP-адрес, ответьте «no», когда вас попросят использовать настройки WINS от DHCP.
Шаг 2. Настройка общего ресурса Samba в Debian 10 Buster / Ubuntu 18.04
Samba использует файл конфигурации в /etc/samba/smb.conf.
Если вы измените этот файл конфигурации, изменения не вступят в силу, пока вы не перезапустите демон Samba.
Давайте начнем с создания каталога для обмена через Samba.
Каталог должен существовать, прежде чем его можно будет настроить в smb.conf.
Мы создадим один такой в /home.
Доступ всем без аутентификации (не рекомендуется)
Каталог должен быть доступен для чтения и записи для всех пользователей.
Настройте общий ресурс Samba в файле /etc/samba/smb.conf.
- Docs — общее имя
- path = /home/share — каталог для обмена файлами
- guest ok = yes — включить гостевой доступ
- guest only = yes — все защищены как гости
- writable = yes — установить общий каталог как доступный для записи
- create mode = 0777 & directory mode = 0777 — разрешить доступ всем
Настроить безопасный общий ресурс Samba (рекомендуется)
Установите групповое владение общим каталогом Samba для группы sambashare.
Создайте пользователей самбы.
Замените user1 на пользователя с общим доступом samba для создания.
Установите пароль пользователя и подтвердите его.
Включите учетную запись samba после установки пароля с помощью команды:
Мы создали домашний каталог пользователя в родительском каталоге общего ресурса Samba и установили право собственности на общую группу samba.
Давайте создадим другого пользователя.
Настроить безопасный общий ресурс Samba.
Перезапустите демон samba после внесения изменений.
Убедитесь, что служба работает.
Если у вас есть активный брандмауэр, запустите:
Шаг 3. Настройка клиентов Samba
Чтобы получить доступ к общему ресурсу Samba в системе Linux, вам необходимо установить и настроить клиент Samba.
Доступ к общему ресурсу Samba — временно
Вы можете смонтировать общий ресурс samba в каталог в вашей локальной системе Linux, используя опции типа mount и cifs.
Монтирование samba с fstab
Затем я создал файл учетных данных.
Для компьютеров с Windows Desktop следуйте стандартному процессу монтирования общего ресурса Samba в Windows.