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 Ссылки
- Samba : http://www.samba.org/samba/
- OpenSuse: http://www.opensuse.org/en/
Get new posts in your inbox
No spam. Unsubscribe anytime.