29.10.2021

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

Главная Форумы ОС, сети, софт, настройка, hack *nix системы Установка и настройка Samba в Linux

  • Эта тема пуста.
Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • #1042
    Аноним
    Неактивированный

    Установка в Linux Ubuntu/Debian:
    sudo apt-get install samba

    Создание резервной копии конфигурационного файла на всякий случай:
    sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.backup

    Открытие конфига для редактирования, например в редакторе nano:
    sudo nano /etc/samba/smb.conf

    Коротко опишу параметры стандартного конфига:

    [global]
    # netbios имя
    netbios name = ИМЯ
    # Имя рабочей группы
    workgroup = WORKGROUP
    # Описание компьютера
    server string = %h server (Samba, Ubuntu)
    # Включение функций WINS (Windows Internet Name Service) сервера. WINS сервер регистрирует связки NETBIOS-имени с IP-адресом.
    # wins support = no
    # Адрес другого существующего в сети WINS сервера.
    ; wins server = w.x.y.z
    # Делать ли запрос к DNS серверу если WINS сервер не смог разрешить NetBIOS имя
    dns proxy = no
    # Параметр определяет в каком порядке использовать сервисы имен для получения IP адреса (lmhosts - искать IP в файле lmhosts самбы, host - /etc/hosts, wins - через wins сервер указанный в "wins server", bcast - послать широковещательный запрос на все сетевые интерфейсы)
    ; name resolve order = lmhosts host wins bcast

    # Определяет какие будут использоваться интерфейсы
    ; interfaces = 127.0.0.0/8 eth0
    # Указывает что нужно строго использовать только интерфейсы указанные в "interfaces"
    ; bind interfaces only = yes

    # Адрес размещения файла логов
    log file = /var/log/samba/log.%m
    # Максимальный размер файла в килобайтах, если размер превышен, то создается новый, а к существующему добавляется расширение .old, "0" - без ограничения по размеру)
    max log size = 1000
    # Записывать ли логи в системный журнал syslog
    # syslog only = no
    # Уровень логов которые будут писаться в системный журнал syslog (0 - LOG_ERR, 1 - LOG_WARNING, 2 - LOG_NOTICE, 3 - LOG_INFO)
    syslog = 0
    # Доступ к ресурсам осуществляется по: user - имени пользователя и паролю, share - паролю, server - переадресация проверки на другой сервер (если не получится будет использоваться "security = user", domain - имитация работы сервера домена Windows
    # security = user
    # Шифрование передающихся между клиентом и сервером паролей
    encrypt passwords = true
    # Механизм хранения информации о пользователях (smbpasswd, tdbsam, ldapsam)
    passdb backend = tdbsam
    # Использование PAM для аутентификации
    obey pam restrictions = yes
    # Cинхронизация пароля UNIX с паролем SMB при изменении зашифрованного пароля SMB в файле smbpasswd
    unix password sync = yes
    # Программа которая будет использоваться для смены паролей UNIX
    passwd program = /usr/bin/passwd %u
    # Строка управляющая обменом “chat” между демоном smbd и программой смены паролей
    passwd chat = *Entersnews*spassword:* %nn *Retypesnews*spassword:* %nn *passwordsupdatedssuccessfully* .
    # Использование PAM для смены паролей UNIX вместо указанной программы в "passwd program"
    pam password change = yes
    # (Never - запросы с неправильным паролем отклоняются; Bad User - запросы с неправильным паролем отклоняются, но если имя пользователя существует, будет произведена попытка входа гостем; Bad Password - запросы с неправильным паролем обрабатываются как попытка зайти гостем; Bad Uid - в режиме security = domain/ads когда пользователь прошел аутентификацию, но не имеет учетной записи UNIX будет считаться гостем.
    map to guest = bad user
    ########## Domains ###########
    # Поддержка службы входа в сеть для Windows 9X
    ; domain logons = yes
    # Путь к директории где будут хранится пользовательские профили (Application Data, Рабочий стол, NTuser.dat, ...)
    ; logon path = \%Nprofiles%U
    # logon path = \%N%Uprofile
    # Путь присоединения домашней директории для рабочих станций Windows NT
    ; logon drive = H:
    # Домашняя директория при авторизации клиента
    # logon home = \%N%U
    # Файл сценария, который будет скачан и выполнен на клиентском компьютере при входе в систему.
    ; logon script = logon.cmd
    # Путь к сценарию, который будет выполнен демоном smbd от пользователя root при обстоятельствах описанных ниже
    ; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
    # Путь к сценарию который запускается при добавлении учетной записи компьютера в домен SAMBA
    ; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
    # Путь к сценарию который запускается от root пользователя smbd при создании новай группы
    ; add group script = /usr/sbin/addgroup --force-badname %g
    ########## Printing ##########
    # Отображение всех принтеров
    # load printers = yes
    # Определяет какая статусная информация о принтере будет интерпретироваться в системе.
    ; printing = bsd
    # Переопределение вкомпилированного printcap name
    ; printcap name = /etc/printcap
    ; printing = cups
    ; printcap name = cups
    ############ Misc ############
    # Присоединение и обработка другого конфигурационного файла
    ; include = /home/samba/etc/smb.conf.%m
    # SO_RCVBUF=8192 SO_SNDBUF=8192
    # Параметры сокета для обслуживания клиентов
    # socket options = TCP_NODELAY
    # Команда выполняющаяся при получении сервером сообщения WinPopup
    ; message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
    # Сопоставление списка просмотра сети. Мастер браузеры в изолированных подсетях передадут свои локальные списки просмотра и запросят законченную копию списка для всей глобальной сети.
    # domain master = auto
    # Диапазон пользовательских идентификаторов для сопоставления SIDов UNIX пользователей SIDам NT пользователей.
    ; idmap uid = 10000-20000
    # Диапазон групповых идентификаторов для сопоставления SIDов UNIX групп SIDам NT групп
    ; idmap gid = 10000-20000
    ; template shell = /bin/bash
    ; winbind enum groups = yes
    ; winbind enum users = yes
    ; usershare max shares = 100
    # Разрешить не аутентифицированным пользователям получить доступ к общим ресурсам пользователей
    usershare allow guests = yes
    #======================= Share Definitions =======================
    ;[homes]
    # комментарий к папке
    ; comment = Home Directories
    # Общий ресурс отображаться в списке доступных общих ресурсов в сетевом окружении и в списке просмотра
    ; browseable = no
    # Запрет на изменение и создание файлов
    ; read only = yes
    # Права доступа для создаваемого файла
    ; create mask = 0700
    # Права доступа для создаваемой директории
    ; directory mask = 0700
    # Список пользователей, которым разрешен доступ
    ; valid users = %S
    ;[netlogon]
    ; comment = Network Logon Service
    ; path = /home/samba/netlogon
    # Не требовать для подключения пароль
    ; guest ok = yes
    ; read only = yes
    ;[profiles]
    ; comment = Users profiles
    ; path = /home/samba/profiles
    ; guest ok = no
    ; browseable = no
    ; create mask = 0600
    ; directory mask = 0700
    [printers]
    comment = All Printers
    browseable = no
    path = /var/spool/samba
    printable = yes
    guest ok = no
    read only = yes
    create mask = 0700
    [print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers
    browseable = yes
    read only = yes
    guest ok = no
    ; write list = root, @lpadmin
    ;[cdrom]
    ; comment = Samba server's CD-ROM
    ; read only = yes
    ; locking = no
    ; path = /cdrom
    ; guest ok = yes

    # Команда запускаемая при подключении к сервису
    ; preexec = /bin/mount /cdrom
    # Команда запускаемая при отключении от сервиса
    ; postexec = /bin/umount /cdrom

    # Разрешает только указанными IP присоединяться к Samba-серверу
    hosts allow = 172.16. 192.168.1. 192.168.0. 127. 10.

    Проверка параметров конфигурации:
    testparm

    Проверка демона:
    netstat -nlp

    Просмотр версии samba:
    smbd —version

    Создание директорию для шары:
    sudo mkdir -p /srv/samba/share
    sudo chown nobody.nogroup /srv/samba/share/

    Просмотр привилегий на файлы и папки:
    ls -l /srv/samba

    Пример изменения привилегий:
    sudo chmod -R 0777 /srv/samba

    Добавление пользователя в Ubuntu:
    sudo useradd имя_пользователя

    Добавление samba пользователя (пользователь с таким именем уже должен быть создан в системе):
    sudo smbpasswd -a имя_пользователя -s /sbin/nologin

    Активация пользователя:
    sudo smbpasswd -e имя_пользователя

    Создание файла пользователей:
    sudo touch /etc/samba/smbusers
    sudo nano /etc/samba/smbusers
    имя_пользователя = Admin

    Перезагрузка samba:
    sudo /etc/init.d/samba restart
    sudo /etc/init.d/smbd restart

    Настройка iptables для samba:
    sudo iptables -A INPUT -p udp -s 192.168.1.0/24 —dport 137 -j ACCEPT
    sudo iptables -A INPUT -p udp -s 192.168.1.0/24 —dport 138 -j ACCEPT
    sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 —dport 139 -j ACCEPT
    sudo iptables -A INPUT -p tcp -s 192.168.1.0/24 —dport 445 -j ACCEPT

    Просмотр сетевой информации компьютера в Windows:
    net config workstation

    Пример команды подключения сетевого диска в Windows (можно добавить в автозагрузку bat файлом)
    net use K: \192.168.1.5dir /persistent:no /user:пользователь пароль

    Все о Samba: smb-conf.ru
    Графические интерфейсы: http://www.samba.org/samba/GUI/

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Для ответа в этой теме необходимо авторизоваться.