Толик Панков
hex_laden
............ .................. ................
October 2025
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Толик Панков [userpic]
Slackware: Краткая инструкция по настройке Samba

Ну мало ли.


Кто не знает, что это такое. Если говорить по рабоче-крестьянски, инструкция о том, как расшарить в локальную сеть каталог на компьютере с Linux.

Про протокол SMB/CIFS и пакет Samba можно почитать по ссылкам в Википедии.

Запуск


Обычно в Slackware сервер Samba доступен "из коробки".

Для запуска Samba в Slackware достаточно дать права на исполнение файлу /etc/rc.d/rc.samba и дать команду на запуск:

chmod 744 /etc/rc.d/rc.samba
/etc/rc.d/rc.samba start


Остановка:

/etc/rc.d/rc.samba stop

Если не надо, чтоб сервер Samba стартовал при загрузке ОС, отбираем права на исполнение:

chmod 644 /etc/rc.d/rc.samba

Samba и Network Namespaces


Samba прекрасно запускается в сетевом неймспейсе (копия) если это будет надо.

В таком случае, Samba надо будет запускать вручную, после того, как нужный namespace настроен, иначе возможны непонятные глюки. Так что в стартовый скрипт, после настройки неймспейсов вставляем команды:

echo "Starting samba server..."
chmod 744 /etc/rc.d/rc.samba
ip netns exec provns /etc/rc.d/rc.samba start


provns - меняем на имя нужного неймспейса.

В скрипт, выполняемый при завершении работы (обычно /etc/rc.d/rc.local_shutdown) вставляем команду завершения работы Samba-сервера:

echo "Stopping samba server..."
/etc/rc.d/rc.samba stop


И отбираем права на исполнение скрипта rc.samba:
chmod 644 /etc/rc.d/rc.samba

Основные настройки


Производим основные настройки в файле /etc/samba/smb.conf

[global]
        workgroup = WORKGROUP
        netbios name = PXE
        server string = Local PXE
        interfaces = 10.10.0.120
        map to guest = bad user
        security = USER
        unix extensions = no
        wide links = yes
        follow symlinks = yes
        log file = /var/log/samba/log.%m
        max log size = 50
        dns proxy = No
        load printers = no
        show add printer wizard = no
        printcap name = /dev/null
        disable spoolss = Yes
        
[printers]
        comment = All Printers
        path = /var/spool/samba
        printable = Yes
        browseable = No


workgroup — рабочая группа (поменяйте на свою)
netbios name — имя компьютера
server string — описание (видно, например, в «Сетевом окружении» из Windows)
interfaces — сетевой интерфейс, который будет прослушивать Samba-сервер. Можно выставить имена сетевых устройств (например, eth0) или задать IP
Делаем доступ к каталогам, открытым в Samba анонимным (без логина и пароля):
map to guest = bad user
security = USER


Следующие 3 строки нужны, чтоб Samba стал поддерживать символические ссылки. Например для того, чтобы не расшаривать каждый раз новый каталог и не перезапускать Samba, а просто закинуть символическую ссылку в каталог, уже расшареннй в Samba:

unix extensions = no
wide links = yes
follow symlinks = yes


log file — куда писать лог
max log size — и его максимальный размер

По умолчанию отключаем DNS-proxy и доступ к принтерам:

dns proxy = No
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = Yes


Секцию [printers] оставляем по умолчанию (все равно все настройки принтеров вырублены в [global], да и принтеров у меня нет).

Шара только для чтения


Иногда полезно создать каталог, чье содержимое доступно в локальной сети только для чтения, например, чтобы пользователь случайно или намеренно не испортил файлы. Пример такой шары из конфига для PXE-сервера. В шаре расположены файлы для Hiren's Boot CD, запускаемого через PXE (копия)

Права на файлы, расшаренный каталог и подкаталоги должны быть установлены в 644 (чтение и запись для владельца, чтение для группы, чтение для остальных).

В конфиге в отдельной секции описываем шару:

[hbcdshare]
        path=/home/pxe/tftp/distrib/windows/winpe
        public=yes
        browsable=yes
        read only=yes
        guest ok=yes


path - путь к каталогу.
public - публичный, ставим в yes, т.к. каталог нужно открыть для любого пользователя в локальной сети.
browsable=yes - отображение без прямого указания адреса, без этого параметра автоматически не найдется в "Сетевом окружении", например.
read only=yes - только чтение.
guest ok=yes - пускать любого пользователя.

Шара для файлообмена (чтения и записи)


Примечание: Можно расшарить хоть целый раздел.

Права на расшариваемый каталог, подкаталоги и файлы надо установить в 777 (читать, исполнять и записывать для всех)

Секция в конфиге:

[pomojka]
        path=/mnt/sdb2
        public=yes
        browsable=yes
        read only=no
        guest ok=yes


В секции меняется только параметр read only=no

Пример отображения в "Сетевом окружении" Windows:



Пример конфига на Pastebin

Это репост с сайта http://tolik-punkoff.com
Оригинал: https://tolik-punkoff.com/2023/08/02/slackware-kratkaya-instruktsiya-po-nastrojke-samba/