Samba Server · 5 min read · Dec 06, 2025

Установка Samba сервера на Ubuntu 16.04 LTS

Этот гид объясняет установку и настройку Samba сервера на Ubuntu 16.04 (Xenial Xerus) с анонимными и защищенными Samba ресурсами. Samba — это пакет программного обеспечения с открытым исходным кодом/бесплатное программное обеспечение, который предоставляет бесшовные файловые и печатные услуги для клиентов SMB/CIFS. Samba доступна бесплатно, в отличие от других реализаций SMB/CIFS, и позволяет взаимодействовать между серверами Linux/Unix и клиентами на базе Windows.

1 Предварительная заметка

У меня есть свежая установка сервера Ubuntu 16.04 LTS, на котором я собираюсь установить Samba сервер. В качестве системы клиента Samba я буду использовать настольный компьютер с Windows для подключения к Samba серверу и проверки настройки. Настольный компьютер с Windows должен находиться в той же сети, чтобы иметь возможность достучаться до сервера Ubuntu. Имя хоста моего сервера Ubuntu — server1.example.com, а IP — 192.168.1.100

Если у вас еще нет сервера Ubuntu, следуйте этому руководству, чтобы получить минимальную настройку сервера в качестве основы для этого руководства.

Примечание: Машина с Windows должна находиться в одной рабочей группе. Чтобы проверить значение на машине с Windows, выполните следующую команду в командной строке:

net config workstation

Вывод будет выглядеть следующим образом:

Получите имя рабочей группы Windows.

Ваша машина с Windows должна находиться в том же домене рабочей станции, что и сервер Ubuntu, т.е. WORKGROUP в моем случае.

Чтобы сделать машину с Windows доступной в Windows по ее имени хоста, выполните следующие действия. Откройте терминал Windows в режиме администратора (вы можете перейти в режим администратора, щелкнув правой кнопкой мыши на значке терминала в меню программы) и выполните следующую команду, чтобы открыть файл hosts Windows:

notepad C:\Windows\System32\drivers\etc\hosts

Там вы добавляете следующую красную строку и сохраняете файл:

[...]  
192.168.1.100   server1.example.com     server1

Следующие шаги необходимо выполнить от имени пользователя root. Выполните:

sudo -s

в оболочке вашего Linux сервера, чтобы стать пользователем root.

2 Анонимное Samba совместное использование

Samba доступна в репозиториях Ubuntu. Первый шаг — установить Samba сервер и его зависимости с помощью apt.

apt-get install -y samba samba-common python-glade2 system-config-samba

Это установит версию Samba 4.3.9-Ubuntu.

Чтобы настроить Samba, отредактируйте файл /etc/samba/smb.conf. Я буду использовать nano в качестве редактора и сделаю резервную копию оригинального файла перед тем, как начну его изменять. Резервный файл называется /etc/samba/smb.conf.bak

cp -pf /etc/samba/smb.conf /etc/samba/smb.conf.bak  
cat /dev/null > /etc/samba/smb.conf

Откройте файл конфигурации Samba с помощью nano:

nano /etc/samba/smb.conf

И добавьте следующие строки.

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = ubuntu
security = user
map to guest = bad user
dns proxy = no
  
#============================ Определения ресурсов ==============================  
  
[Anonymous]
path = /samba/anonymous
browsable =yes
writable = yes
guest ok = yes
read only = no  
force user = nobody

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

mkdir -p /samba/anonymous

Установите правильные разрешения.

chmod -R 0775 /samba/anonymous  
chown -R nobody:nogroup /samba/anonymous

И перезапустите Samba, чтобы применить новую конфигурацию.

service smbd restart  

Теперь вы можете получить доступ к общему ресурсу Ubuntu в Windows, введя “\server1” в поле поиска меню Windows или используйте сетевой браузер проводника Windows для подключения к ресурсу.

Анонимный ресурс Samba отображается в Windows.

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

Загрузка в анонимный ресурс Samba прошла успешно.

Вы также можете проверить содержимое на сервере.

ls -la /samba/anonymous/
root@server1:/samba/anonymous# ls -la /samba/anonymous/  
total 16  
drwxrwxr-x 2 nobody nogroup 4096 Jun 1 18:46 .  
drwxr-xr-x 3 root root 4096 Jun 1 18:39 ..  
-rwxr--r-- 1 nobody nogroup 7405 Jun 1 18:42 test.odt  
root@server1:/samba/anonymous#

3 Защищенный Samba сервер

Для защищенного ресурса я создам группу smbgrp и пользователя till для доступа к Samba серверу. Я буду использовать “howtoforge” в качестве пароля в этом примере, пожалуйста, выберите собственный и надежный пароль на вашем сервере.

addgroup smbgrp
useradd till -G smbgrp
smbpasswd -a till
root@server1:~# smbpasswd -a till  
New SMB password:<--howtoforge  
Retype new SMB password:<--howtoforge  
Added user till.  
root@server1:~#

Теперь создайте папку с именем “secured” в папке /samba и установите разрешения следующим образом:

mkdir -p /samba/secured  
cd /samba  
chmod -R 0770 secured  
chown root:smbgrp secured

Отредактируйте файл конфигурации Samba и добавьте следующие (красные) строки в конец файла:

nano /etc/samba/smb.conf

[...]  
[secured]
 path = /samba/secured
 valid users = @smbgrp
 guest ok = no
 writable = yes
 browsable = yes
service smbd restart  

Чтобы проверить настройки, выполните эту команду:

testparm  
root@server1:/samba# testparm  
Load smb config files from /etc/samba/smb.conf  
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)  
Processing section "[Anonymous]"  
Processing section "[secured]"  
Loaded services file OK.  
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions <-- Нажмите Enter
# Глобальные параметры  
[global]  
netbios name = UBUNTU  
server string = Samba Server %v  
security = USER  
map to guest = Bad User  
dns proxy = No  
idmap config * : backend = tdb
  
[Anonymous]  
path = /samba/anonymous  
force user = nobody  
read only = No  
guest ok = Yes
  
[secured]  
path = /samba/secured  
valid users = @smbgrp  
read only = No

На машине с Windows снова откройте сетевое устройство “\server1“, теперь оно запросит имя пользователя и пароль. Введите учетные данные пользователя, которые вы создали выше. В моем случае значения были: пользователь = till и пароль = howtoforge.

Вход в ресурс Samba.

Оба ресурса Samba отображаются в проводнике Windows.

Тестовая загрузка прошла успешно.

Мы можем проверить файл на сервере Ubuntu следующим образом:

ls -la /samba/secured/
root@server1:/samba# ls -la /samba/secured/  
total 16  
drwxrwx--- 2 root smbgrp 4096 Jun 1 19:25 .  
drwxr-xr-x 4 root root 4096 Jun 1 18:49 ..  
-rwxr--r-- 1 till till 7405 Jun 1 18:42 test.odt  
root@server1:/samba#

Теперь у нас есть успешно настроенный Samba сервер с анонимным и защищенным ресурсом на Ubuntu 16.04 :)

4 Загрузка образа виртуальной машины этого руководства

Это руководство доступно в виде готового образа виртуальной машины в формате ovf/ova, совместимого с VMWare и Virtualbox. Образ виртуальной машины использует следующие данные для входа:

SSH / Shell Вход

Имя пользователя: administrator
Пароль: howtoforge

У этого пользователя есть права sudo.

IP виртуальной машины — 192.168.1.100, его можно изменить в файле /etc/network/interfaces. Пожалуйста, измените все вышеприведенные пароли для обеспечения безопасности виртуальной машины.

5 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.