Налаштування файлового сервера Samba у корпоративній мережі


Продовжуючи цикл статей про бюджетне резервне копіювання даних в корпоративній мережі, хочу запропонувати вашій увазі, чергову статтю з налаштування файлового сервера Samba.
Для відновлення даних з сервера резервного копіювання доводилося йти на сервер через веб-інтерфейс і викачувати звідти необхідний архів з файлами, це зручно коли необхідна папка або файл не дуже великі, але коли треба відновити папку, обсяг якої перевищує пару Гігабайт, наприклад після крипто-вірусу, що це не так зручно. Для того щоб нам отримати прямий доступ до копій даних, ми й піднімемо сервер Samba на нашому бекап сервері.

Так само Samba нам знадобиться для налаштування резервного копіювання MS SQL і microsoft Exchange на цей сервер, але про це в наступних статтях. А поки, налаштуємо сам сервер(в якості якого ми використовуємо вже налаштований сервер резервного копіювання статті в шапці, все той же CentOS6):
  • Встановлюємо необхідні пакети
    yum install samba samba-client ntp acl krb5-workstation-y
    

  • Запускаємо ntp-клієнт (час краще всього отримувати з контролера домену, щоб воно сильно не розходилося з нашим сервером)
    chkconfig ntpd on
    service ntpd start
    

  • Підправимо файл /etc/hosts, щоб він мав приблизно такий вигляд:
    # cat /etc/hosts
    127.0.0.1 localhost.localdomain localhost
    10.0.0.2 server name.domain.local server name
    

    де 10.0.0.2 IP-адресу нашого бекап-сервера
  • Налаштуємо kerberos для додавання сервера в домен
    cat /etc/krb5.conf
    [logging]
    default = FILE:/var/log/krb5libs.log
    kdc = FILE:/var/log/krb5kdc.log
    admin_server = FILE:/var/log/kadmind.log
    
    [libdefaults]
    default_realm = DOMAIN.LOCAL
    ticket_lifetime = 24h
    forwardable = yes
    
    [realms]
    DOMAIN.LOCAL = {
    default_domain = domain.local
    kdc = dc1.domain.local #контролер домену
    admin_server = dc1.domain.local
    }
    
    [domain_realm]
    domain.local = DOMAIN.LOCAL
    .domain.local = DOMAIN.LOCAL
    


  • Конфігуруємо Samba. Наводимо файл /etc/samba/smb.conf до такого виду:
    cat /etc/samba/smb.conf
    [global]
    
    load printers = no
    show add printer wizard = no
    printcap name = /dev/null
    disable spoolss = yes
    
    
    workgroup = DOMAIN
    password server = dc1.domain.local
    netbios name = server name
    server string = Samba Server Version %v
    security = ads
    realm = DOMAIN.LOCAL
    domain master = no
    local master = no
    preferred master = no
    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072
    use sendfile = true
    
    idmap config *:backend = tdb
    idmap config *:range = 11000-20000
    idmap config DOMAIN:backend = rid
    idmap config DOMAIN:range = 100000-199000
    
    template shell = /sbin/nologin
    
    winbind enum users = yes
    winbind enum groups = yes
    winbind use default domain = no
    winbind nested groups = yes
    winbind refresh tickets = yes
    
    client use spnego = yes
    client ntlmv2 auth = yes
    encrypt passwords = yes
    restrict anonymous = 2
    
    log file = /var/log/samba/log.%m
    max log size = 50
    #log level = 3
    
    vfs objects = acl_xattr
    map acl inherit = Yes
    store dos attributes = Yes
    
    
    [disk1$]
    comment = disk1
    path = /media/disk1
    public = yes
    writable = yes
    
    


  • Налаштовуємо nsswitch, для того щоб він міг використовувати дані AD з допомогою winbind-сервісу
    # cat /etc/nsswitch.conf
    ...
    passwd: files winbind
    shadow: files winbind
    group: files winbind
    ...
    

  • Запускаємо сервіси
    chkconfig smb on
    chkconfig winbind on
    chkconfig nmb on
    service smb start
    service nmb start
    service winbind start
    

  • Тепер ми можемо вводити наш сервер домену
    # net ads join-U administrator
    administrator's password:
    Using short domain name -- DOMAIN
    Joined 'SERVER-NAME' to realm 'DOMAIN.LOCAL'
    

    Якщо все пройшло вдало, то перезапускаємо сервіс winbind і перевіряємо підключення до домену
    #service winbind restart
    
    # wbinfo-t
    checking the trust secret for domain DOMAIN via RPC calls succeeded
    

  • Щоб ми могли працювати з правами з Windows нам необхідно перемонтувати нашу файлову систему з підтримкою ACL
    для цього йдемо в /etc/fstab і додаємо опцію acl для нашого диска
    # cat /etc/fstab
    ...
    /dev/VolGroup00/LogVol00 /media/disk1 ext4 defaults,acl 1 2
    ...
    

    перемонтовуємо розділ і роздаємо диску права на корінь, після чого ми зможемо керувати правами папок прямо з Windows
    # mount-o remount /media/disk1
    # setfacl-m g:"DOMAIN\domain admins":rwx /media/disk1
    # setfacl-d-m g:"DOMAIN\domain admins":rwx /media/disk1
    

  • ну і звичайно не забуваємо про iptables
    cat /etc/sysconfig/iptables
    # Firewall configuration written by system-config-firewall
    # Manual customization of this file is not recommended.
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [0:0]
    -A INPUT-m state --state ESTABLISHED,RELATED-j ACCEPT
    -A INPUT-p icmp-j ACCEPT
    -A INPUT-i lo-j ACCEPT
    -A INPUT-m state --state NEW-m tcp-p tcp --dport 22-j ACCEPT
    # правило для urbackup
    -A INPUT-m state --state NEW-m tcp-p tcp --dport 55414-j ACCEPT
    #правила для samba
    -A INPUT-s 10.0.0.0/8-m state --state NEW-m tcp-p tcp --dport 445-j ACCEPT
    -A INPUT-s 10.0.0.0/8-m state --state NEW-m udp-p udp --dport 445-j ACCEPT
    -A INPUT-s 10.0.0.0/8-m state --state NEW-m udp-p udp --dport 137-j ACCEPT
    -A INPUT-s 10.0.0.0/8-m state --state NEW-m udp-p udp --dport 138-j ACCEPT
    -A INPUT-s 10.0.0.0/8-m state --state NEW-m tcp-p tcp --dport 139-j ACCEPT
    -A INPUT-j REJECT --reject-with icmp-host-prohibited
    -A FORWARD-j REJECT --reject-with icmp-host-prohibited
    COMMIT
    


    # service iptables restart
    



Готове. Тепер ми можемо працювати з нашими резервними копіями з улюбленого файл-менеджера в Windows.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.