Samba файловый сервер
Samba - программа, которая позволяет обращаться к сетевым дискам на различных операционных системах по протоколу SMB/CIFS.
Простыми словами Samba — это программное обеспечение для реализации файлового сервера, а с 4-й версии и контроллера домена (аналог Windows Active Directory). Устанавливается как на Windows, так и Linux/FreeBSD. Также может быть установлена на некоторые модели роутеров для реализации простого домошнего файлового хранилища.
В качестве клиентской части для подключения к файловому серверу Samba может выступать программное обеспечение, работающее по протоколу SMB. В Linux/FreeBSD это samba client, в Windows — проводник.
Samba использует 137-139 порты UDP и Порты TCP. Что такое TCP / IP порт.
Как установить и настроить Samba на Ubuntu Server 20.04
В руководстве описана установка и настройка автономного файлового сервера под управлением Samba Ubuntu Server 20.04 для доступа клиентов Windows, Linux, macOS.
Компьютеры под управлением Windows и Ubuntu должны быть членами локального домена или рабочей группы под названием WORKGROUP.
Для проверки в Windows к какой рабочей группе принадлежит компьютер используйте команду:
net config workstation
На скриншоте видно, что мой клиентский компьютер имеет правильное название рабочей группы.
ШАГ 1: Установка пакетов Samba сервер в Ubuntu
Обновляем пакеты и устанавливаем Samba сервер. Также установим клиента Samba - пригодится для тестирования настроек сервера.
sudo apt update sudo apt install samba smbclient
ШАГ 2: Старт настройки
Мы начнем со свежего чистого файла конфигурации smb.conf, удалив все закоментированные строки. А также сохраним файл конфигурации по умолчанию в качестве резервной копии для справочных целей. Выполните следующие команды linux, чтобы сделать копию существующего файла конфигурации и создать новый файл конфигурации /etc/samba/smb.conf:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup sudo bash -c 'grep -v -E "^#|^;" /etc/samba/smb.conf_backup | grep . > /etc/samba/smb.conf'
ШАГ 3: Создать пользователя Samba
У Samba есть собственная система управления пользователями. Однако любой пользователь, существующий в списке пользователей samba, также должен быть системным, то есть существовать в файле /etc/passwd. Если ваш системный пользователь еще не существует и, следовательно, не может быть расположен в файле /etc/passwd, сначала создайте нового пользователя с помощью команды useradd, прежде чем создавать любого нового пользователя Samba.
Создадим системного пользователя
sudo useradd -m -c "Name_User" -s /bin/bash buhnasmb sudo passwd buhnasmb
Возьмем для примера имя buhnasmb, допустим что он уже есть в системе (проверить командой id), надо внести его в базу данных SMB и назначить пароль для доступа к общим ресурсам, сделаем это командой:
$ sudo id buhnasmb uid=1003(buhnasmb) gid=1003(buhnasmb) groups=1003(buhnasmb) $ sudo smbpasswd -a buhnasmb New SMB password: Retype new SMB password: Added user buhna.
ШАГ 4: Создать общую папку Samba доступную для всех (без пароля)
Создадим директорию для хранения расшаренных файлов и папок:
mkdir -p /home/hdd2backup/smb/buhnasmb
Добавьте в конец файла /etc/samba/smb.conf следующие строки, buhnasmb замените на имя пользователя компьютера с Samba. Папка будет открыта для чтения и записи.
[BackupWork] comment = Samba Share path = /home/hdd2backup/smb/buhnasmb guest ok = yes browsable =yes writable = yes read only = no force user = buhnasmb force group = buhnasmb
Не забудьте поставить правильного владельца и права доступа на папку, которую вы расшариваете, например так:
sudo chmod ug+rwx /home/hdd2backup/smb/buhnasmb sudo chown root:"пользователи домена" /home/hdd2backup/smb/buhnasmb
Перезапуск Samba:
sudo systemctl restart smbd.service
ШАГ 5: Создать защищенную папку Samba доступную только по паролю
Теперь вы знаете, как создавать общедоступные общие ресурсы Samba. Теперь приступим к созданию частных и защищенных общих ресурсов.
То есть настройка идентична ШАГ 4. Хорошо давайте повторю.
И так создаем новую директорию:
mkdir -p /home/hdd2backup/smb/protected
Пользователь тот же buhnasmb, напоминаю, что пароль для доступа к smb- ресурсам мы пользователю buhnasmb задали на ШАГ 3.
Добавьте в конец файла /etc/samba/smb.conf следующие строки, buhnasmb замените на имя пользователя компьютера с Samba. Папка будет доступна по логину и паролю.
[ProtectedSamba] comment = Samba Protected Share path = /home/hdd2backup/smb/protected guest ok = no browsable =yes writable = yes read only = no force user = buhnasmb force group = buhnasmb
Задайте права на папку как в ШАГ 4:
sudo chmod ug+rwx /home/hdd2backup/smb/protected sudo chown root:"пользователи домена" /home/hdd2backup/smb/protected
Перезапуск Samba:
sudo systemctl restart smbd.service
ШАГ 6: Утилиты и диагностика Samba
- Проверьте правильность конфигурации Samba командой testparm:
# testparm Load smb config files from /etc/samba/smb.conf Loaded services file OK. Server role: ROLE_STANDALONE
- smbget позволяет скачивать с windows, linux (д.уст. samba) файлы через Протокол SMB: Что это и как он используется? протокол. Скачать рекурсивно все директории и файлы:
smbget -Rr smb://ip_addr/share
- smbclient - утилита для подключения к общедоступным папкам.
- Отобразить общедоступные ресурсы на удаленном хосте:
smbclient -L ip_addr/hostname
- Посмотреть «шары» локально на стороне сервер
smbclient -L 127.0.0.1
- Просмотреть папку vip под пользователем tatyana
$ smbclient \\\\10.26.95.220\\vip -U tatyana
- nbtscan
nbtscan ip_addr разрешить netbios-имя nbtscan не во всех системах ставится по-умолчанию, возможно, придётся доустанавливать вручную. nmblookup включен в пакет samba. nmblookup -A ip_addr
ШАГ 7: Скачать рабочий конфигурационный файл smb.conf
- smb.conf
[global] workgroup = WORKGROUP server string = %h server (Samba, Ubuntu) log file = /var/log/samba/log.%m max log size = 1000 logging = file panic action = /usr/share/samba/panic-action %d server role = standalone server obey pam restrictions = yes unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . pam password change = yes map to guest = bad user netbios name = back20 usershare allow guests = yes [PublicSamba] comment = Samba Anonymous Share path = /home/hdd2backup/smb/buhnasmb guest ok = yes browsable =yes writable = yes read only = no force user = buhnasmb force group = buhnasmb [ProtectedSamba] comment = Samba Protected Share path = /home/hdd2backup/smb/protected guest ok = no browsable =yes writable = yes read only = no force user = buhnasmb force group = buhnasmb
FAQ Samba
- Проблема. Windows настройка, ускорение, частые вопросы 7 не разрешает доступ к расшаренным папкам Samba 4 + Что такое LDAP по логину и паролю, без ввода Windows 7 в домен. Решение: Нужно отключить 128- битное шифрование (оно включено по умолчанию) при работе по сети. И тогда Windows 7 разрешит подключения дисков как сетвевых шар, но через стандартное сетевое окружение папки все равно не будут доступны. Полный бред однако!!!
Заключение
Проект Samba продолжает активно развиваться. Скорость работы Samba в условиях многопользовательского доступа в качестве ролей файлового и принт-сервера более чем в два раза выше по сравнению с Windows Server.
Начиная с четвёртой версии, Samba может выступать в роли контроллера домена и сервиса Active Directory, совместимого с реализацией Windows 2000, и способна обслуживать все поддерживаемые Microsoft версии Windows-клиентов, в том числе Windows 10.
К сожалению, для более углубленного изучения Samba в интернете практический нет информации.
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах