Samba установка · 4 min read · Sep 13, 2025

Установка сервера Samba на OpenSuse 13.2

Версия 1.0
Автор: Сриджан Кишор
Следите за howtoforge в Twitter

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

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

У меня свежая установка сервера OpenSuse 13.2, на котором я собираюсь установить сервер samba. Конечно, вам нужно иметь одну машину с Windows, чтобы проверить сервер samba, который должен быть доступен с сервера OpenSuse 13.2. Мой сервер OpenSuse 13.2 имеет имя хоста server1.example.com и IP-адрес 192.168.0.100

Вы можете установить свой сервер OpenSuse 13.2, следуя первым пяти главам учебника.

Примечание:

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

net config workstation

Это будет выглядеть так

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

WORKGROUP
в моем случае.

  • Чтобы сделать машину с Windows доступной в Windows, выполните следующее. В терминале выполнения добавьте запись IP-адреса вашего сервера

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

В моем случае это было так, просто сохраните значения.

[...]  
192.168.0.100  server1.example.com  opensuse  

2 Анонимный обмен samba

Сначала я объясню методику установки samba с анонимным обменом. Чтобы установить samba, выполните

zypper install samba samba-client

Это запросит ваш ввод

server1:~ # zypper install samba samba-client
Загрузка данных репозитория…
Чтение установленных пакетов…
Разрешение зависимостей пакетов…

Проблема: patterns-openSUSE-minimal_base-conflicts-13.2-13.6.1.x86_64 конфликтует с samba-client, предоставляемым samba-client-4.1.6-3.18.1.x86_64
Решение 1: Будут выполнены следующие действия:
не устанавливать samba-client-4.1.6-3.18.1.x86_64
не устанавливать samba-4.1.6-3.18.1.x86_64
Решение 2: деинсталляция patterns-openSUSE-minimal_base-conflicts-13.2-13.6.1.x86_64

Выберите из вышеуказанных решений по номеру или отмените [1/2/c] (c): <–2

Разрешение зависимостей…
Разрешение зависимостей пакетов…

Следующие 41 НОВЫЙ пакет будет установлен:
cifs-utils cups-libs libarchive13 libdcerpc0 libdcerpc-binding0 libfam0
libgensec0 libjbig2 libjpeg8 libldb1 libndr0 libndr-krb5pac0 libndr-nbt0
libndr-standard0 libnetapi0 libpdb0 libregistry0 libsamba-credentials0
libsamba-hostconfig0 libsamba-util0 libsamdb0 libsmbclient0 libsmbclient-raw0
libsmbconf0 libsmbldap0 libtalloc2 libtdb1 libtevent0 libtevent-util0
libtiff5 libwbclient0 perl-Crypt-SmbHash perl-Digest-MD4 perl-XML-LibXML
pytalloc samba samba-client samba-libs yast2-kerberos-client
yast2-samba-client yast2-samba-server

Следующий пакет будет УДАЛЕН:
patterns-openSUSE-minimal_base-conflicts

41 новых пакетов для установки, 1 для удаления.
Общий размер загрузки: 11.1 MiB. После операции будет использовано дополнительно 32.4 MiB.
Продолжить? [y/n/? показывает все варианты] (y): <–y

Это установит samba с Версией 4.1.6-3.18.1-3208-SUSE-oS13.2-x86_64

Теперь, чтобы настроить samba, отредактируйте файл /etc/samba/smb.cnf, прежде чем вносить изменения, я сделаю резервную копию оригинального файла как /etc/samba/smb.cnf.bak

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

Далее введите записи следующим образом

vi /etc/samba/smb.cnf

[global]  
        
workgroup = WORKGROUP  
passdb backend = tdbsam  
server string = Samba Server %v  
netbios name = opensuse  
security = user  
map to guest = bad user  
dns proxy = no  
#============================ Share Definitions ==============================  
[Anonymous]  
path = /samba/anonymous  
browsable =yes  
writable = yes  
guest ok = yes  
read only = no  

mkdir -p /samba/anonymous

Далее добавьте службы в загрузку и запустите службу следующим образом:
systemctl start smb.service
systemctl start smb.service

Примечание: нам нужно разрешить службам проходить через брандмауэр, поэтому мы добавим службы в yast2 следующим образом:
yast2

Разрешите службам обходить брандмауэр для клиента Samba и сервера Samba.

Теперь вы можете получить доступ к общему ресурсу OpenSuse 13.2 в Windows следующим образом:

С машины с Windows просто просмотрите папку и попробуйте создать текстовый файл, но вы получите ошибку “доступ запрещен”.

Проверьте разрешения для общей папки.

ls -l /samba/

server1:~ # ls -l /samba/
total 0
drwxr-xr-x 1 root root 0 Nov 11 09:41 anonymous
server1:~ #

Чтобы разрешить анонимному пользователю, дайте разрешения следующим образом;

cd /samba
chmod -R 0777 anonymous/
ls -l

server1:/samba # ls -l
total 0
drwxrwxrwx 1 root root 0 Nov 11 09:41 anonymous
server1:/samba #

Теперь анонимный пользователь может просматривать и создавать содержимое папки.

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

ls -l anonymous/

server1:/samba # ls -l anonymous/
total 0
-rwxr–r– 1 nobody nobody 0 Nov 21 14:10 anonymous_test.txt
server1:/samba #

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

Для этого я создам группу smbgrp и пользователя srijan для доступа к серверу samba с правильной аутентификацией

groupadd smbgrp

useradd srijan -G smbgrp

smbpasswd -a srijan

server1:~ # smbpasswd -a srijan
Новый SMB пароль:
Повторите новый SMB пароль:
Добавлен пользователь srijan.
server1:~ #

server1:/samba # smbpasswd -a srijan
Новый SMB пароль: <–srijanpasswd
Повторите новый SMB пароль: <–srijanpasswd
Добавлен пользователь srijan.
server1:/samba #

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

mkdir -p /samba/secured
cd /samba
chmod -R 0770 secured/

Снова отредактируйте файл конфигурации как:

vi /etc/samba/smb.conf

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

systemctl restart smb.service

Далее, чтобы проверить настройки, проверьте следующим образом:
testparm

server1:~ # testparm
Загрузка файлов конфигурации smb из /etc/samba/smb.conf
rlimit_max: увеличение rlimit_max (1024) до минимального предела Windows (16384)
Обработка секции “[Anonymous]”
Обработка секции “[secured]”
Файл служб загружен успешно.
Роль сервера: ROLE_STANDALONE
Нажмите Enter, чтобы увидеть дамп ваших определений служб

[global]
netbios name = OPENSUSE
server string = Samba Server %v
map to guest = Bad User
dns proxy = No
idmap config * : backend = tdb

[Anonymous]
path = /samba/anonymous
read only = No
guess ok = Yes

[secured]
path = /samba/secured
valid users = @smbgrp
read only = No
server1:~ #

Теперь на машине с Windows проверьте папку с правильными учетными данными

Вы снова столкнетесь с проблемой разрешений, чтобы дать пользователю srijan разрешение на запись, выполните:

cd /samba
chown -R srijan:smbgrp secured/

Теперь пользователь samba
srijan
имеет разрешения на запись в папку. Ура, вы настроили сервер samba на OpenSuse 13.2

Мы можем проверить файл на сервере Ubuntu как:

ls -l /samba/secured/

server1:~ # ls -l /samba/secured/
total 0
-rwxr–r– 1 srijan users 0 Nov 21 14:16 secured_test.txt
server1:~ #

Ура, теперь у нас успешно настроенный сервер samba на OpenSuse 13.2 :)

4 Ссылки

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.