How-to-Install-Samba-on-Ubuntu-for-File-Sharing-on-Windows

Как настроить Samba для обмена файлами между компьютерами Ubuntu и Windows

Новости

Samba — бесплатное, с открытым исходным кодом и популярное программное обеспечение для обмена файлами и службами между Unix-подобными системами, включая Linux и узлами Windows в той же сети.

В этой статье мы покажем, как настроить Samba для базового совместного использования файлов между системами Ubuntu и машинами Windows. Мы рассмотрим два возможных сценария: анонимный (небезопасный), а также безопасный обмен файлами. Обратите внимание, что начиная с версии 4.0 Samba может использоваться как контроллер домена Active Directory (AD).

 

Установка и настройка Samba в Ubuntu

Сервер Samba доступен для установки из репозиториев Ubuntu, используйте инструмент apt package manager, как показан ниже.

$ sudo apt install samba samba-common python-dnspython

 

Как только сервер samba установлен, настало время настроить его для незащищенного анонимного и безопасного общего доступа к файлам.

Для этого нам нужно отредактировать основной файл конфигурации Samba — /etc/samba/smb.conf.

Сначала создайте резервную копию исходного файла конфигурации samba следующим образом.

$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

 

Теперь мы перейдем к непосредственной настройке samba для анонимных и безопасных служб обмена файлами, как описано ниже.

Важно: Прежде чем двигаться дальше, убедитесь, что компьютер с ОС Windows находится в той же рабочей группе, которая будет настроена на сервере Ubuntu.

 

Проверьте настройки рабочей группы Windows

Войдите в свою машину Windows, щелкните правой кнопкой мыши на «Мой компьютер»«Свойства»«Дополнительные системные настройки»«Имя компьютера», чтобы проверить рабочую группу.

 

Check-Windows-WorkGroup

 

Кроме того, откройте командную строку и выполнив приведенную ниже команду найдите «домен рабочей станции».

>net config workstation

 

Verify-Windows-WorkGroup

 

Как только вы узнаете свою рабочую группу Windows, перейдем к дальнейшей настройке сервера samba для совместного использования файлов.

 

Анонимный доступ к файлам Samba

Сначала создайте общий каталог samba, в котором будут храниться файлы.

$ sudo mkdir -p /srv/samba/anonymous_shares

 

Затем установите соответствующие разрешения для каталога.

$ sudo chmod -R 0775 /srv/samba/anonymous_shares
$ sudo chown -R nobody:nogroup /srv/samba/anonymous_shares

 

Откройте файл конфигурации.

$ sudo vi /etc/samba/smb.conf
OR
$ sudo nano /etc/samba/smb.conf

 

Затем отредактируйте или измените настройки директивы, как описано ниже.

[global]
workgroup = WORKGROUP
netbios name = ubuntu
security = user

[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
browsable =yes
writable = yes
guest ok = yes
read only = no
force user = nobody

 

Теперь проверьте текущие настройки samba, выполнив приведенную ниже команду.

$ testparm

 

Пример вывода:

<strong>Samba Current Configuration Settings</strong>
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
netbios name = UBUNTU
server string = %h server (Samba, Ubuntu)
server role = standalone server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb

[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = No
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
force user = nobody
read only = No
guest ok = Yes

 

Затем перезапустите службы Samba, чтобы применить указанные выше изменения.

$ sudo systemctl restart smbd [Systemd]
$ sudo service smbd restart [Sys V]

 

 

Тестирование анонимного обмена файлами Samba

Перейдите на компьютер Windows и откройте «Сеть» из окна проводника Windows. Нажмите на узел Ubuntu или попробуйте получить доступ к серверу samba с использованием его IP-адреса.

\\ 192.168.43.168

 

Примечание. Используйте команду ifconfig для получения вашего IP-адреса сервера Ubuntu.

Connect-to-Samba-Share

 

Затем откройте анонимный каталог и попробуйте добавить туда файлы, чтобы поделиться ими с другими пользователями.

Add-Files-to-Samba-Share

 

 

Безопасный обмен файлами Samba

Чтобы защитить samba паролем, вам необходимо создать группу «smbgrp» и установить пароль для каждого пользователя. В этом примере мы используем aaronkilik как имя пользователя, как пароль мы используем «sedicomm».

$ sudo addgroup smbgrp
$ sudo usermod aaronkilik -aG smbgrp
$ sudo smbpasswd -a aaronkilik

 

Примечание. Режим безопасности samba: security = user требует, чтобы пользователи вводили своё имя пользователя и пароль для подключения к общим ресурсам.

Учетные записи пользователя Samba отделены от системных учетных записей, однако вы можете установить пакет libpam-winbind, который используется для синхронизации пользователей системы и паролей с пользовательской базой samba.

$ sudo apt install libpam-winbind

 

Затем создайте безопасный каталог, в котором будут храниться общие файлы.

$ sudo mkdir -p /srv/samba/secure_shares

 

Затем установите соответствующие разрешения для каталога.

$ sudo chmod -R 0770 /srv/samba/secure_shares
$ sudo chown -R root:smbgrp /srv/samba/secure_shares

 

Откройте файл конфигурации.

$ sudo vi /etc/samba/smb.conf
OR
$ sudo nano /etc/samba/smb.conf

 

Затем отредактируйте или измените настройки директивы, как описано ниже.

[Secure]
comment = Secure File Server Share
path = /srv/samba/secure_shares
valid users = @smbgrp
guest ok = no
writable = yes
browsable = yes

 

Как и раньше, запустите эту команду, чтобы просмотреть текущие настройки samba.

$ testparm

 

<strong>Samba Current Configuration Settings</strong>
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Processing section "[Shares]"
Loaded services file OK.
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
netbios name = UBUNTU
server string = %h server (Samba, Ubuntu)
server role = standalone server
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 1000
dns proxy = No
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
idmap config * : backend = tdb
[printers]
comment = All Printers
path = /var/spool/samba
create mask = 0700
printable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = No
[Anonymous]
comment = Anonymous File Server Share
path = /srv/samba/anonymous_shares
force user = nobody
read only = No
guest ok = Yes
[Secure]
comment = Secure File Server Share
path = /srv/samba/secure_shares
valid users = @smbgrp
read only = No

 

После того, как вы закончите с вышеуказанными конфигурациями, перезапустите службы Samba, чтобы применить изменения.

$ sudo systemctl restart smbd [Systemd]
$ sudo service smbd restart [Sys V]

 

 

Тестирование безопасного обмена файлами Samba

Откройте в проводнике машине Windows «Сеть». Нажмите на узел Ubuntu. Вы можете получить ошибку как на скриншоте ниже, если не выполнить следующий шаг.

 

Connect-to-Secure-Samba-Share

 

Попробуйте получить доступ к серверу, используя его IP-адрес (\\192.168.43.168). Затем введите учетные данные (имя пользователя и пароль) для пользователя aaronkilik и нажмите «ОК».

 

Samba-Share-User-Login

 

Теперь вы видите «Анонимные» и «Защищенные» каталоги. Давайте зайдем в «Защищенные» каталоги.

 

Samba-Secure-Share

 

Вы можете безопасно обмениваться файлами с другими разрешенными пользователями сети в этом каталоге.

 

Add-Files-on-Samba-Share

 

 

Включаем Samba в брандмауэре UFW в Ubuntu

Если в вашей системе включен брандмауэр UFW, вы должны добавить правила, позволяющие Samba не конфликтовать с брандмауэром.

Чтобы проверить их, мы использовали сеть 192.168.43.0. Запустите приведенные ниже команды, указав сетевой адрес.

$ sudo ufw allow proto udp to any port 137 from 192.168.43.0/24
$ sudo ufw allow proto udp to any port 138 from 192.168.43.0/24
$ sudo ufw allow proto tcp to any port 139 from 192.168.43.0/24
$ sudo ufw allow proto tcp to any port 445 from 192.168.43.0/24

 

На этом все! В этой статье мы показали вам, как настроить Samba для анонимного и безопасного обмена файлами между компьютерами Ubuntu и Windows.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University.

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Новости

Больше похожих постов

3 комментария. Оставить новый

  • Отличная статья. Очень толковое изложение.
    Ответить
  • Дмитрий
    26 марта 2019 17:34
    Здравствуйте! А можно попросить попросить мастер-класс по созданию контроллера домена с помощью Samba? Безумно интересно!
    Ответить
  • Евгений
    9 мая 2019 15:13
    Доброго дня. Настроил все по статье. С OS X все подключается, а вот с Windows среды не могу зайти. При вводе имя пользователя и пароля, пишет что введены неправильные данные. Заранее спасибо.
    Ответить

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Most Viewed Posts
Меню