Найти в Дзене
Типичный Админ

Установка и настройка SAMBA сервера + резервное копирование.

Оглавление

Здравствуйте!

В этой статье я хочу рассмотреть установку и настройку файлового сервера SAMBA. Тех, кто не знает, что это такое, прошу в Википедию. Операционную систему я буду для этого использовать Fedora 12 — это один из самых популярных дистрибутивов Линукса.

Этап 1. Общая подготовка сервера.

Для начала, опишем то, что имеем:

- Пусть у нас будут два независимых домена Active Directory в разных лесах, между которыми настроены доверительные отношения.
- Пусть они называются mydomain.domain и mydomain1.domain.
- Домены подняты на Windows server 2003 SP2 R2, либо на Windows server 2008 R2, но работающем в режиме Windows server 2003 (я тестировал только с этими ОС).

Нам требуется:
- Поднять файловое хранилище, которым смогут пользоваться члены обоих доменов.
- Распределить права доступа к этому хранилищу.
- Настроить фильтрацию по типам файлов.
- Настроить резервное копирование данных из файлового хранилища.

Начнём с установки. Разметку диска здесь мы рассматривать не будем. Можете выбрать разметку по умолчанию, предлагаемую самим установщиком. При установке, я назвал свой сервер samba.mydomain.domain, поскольку буду его вводить именно в домен mydomain.domain. Отметим, какие наборы пакетов нам понадобятся для работы:

В графических средах снимаем все галки. Иксы нам не нужны.
В приложениях тоже снимаем все галки.
Программирование — там ничего не отмечено по умолчанию. Так и оставляем
Серверы — тут отметим следующее:
- Поддержка печати
- Сервер каталогов
- Файловый сервер для Windows
Базовая система:
- Основные
- Поддержка оборудования
- Системные средства. Но зайдём внутрь и оставим галки лишь на тех компонентах, которые нам могут понадобиться:
    - mc
    - ntp
    - openvpn
    - samba-client
    - yum-utils
Языки не отмечаем никакие.

Этих пакетов нам должно хватить. Тем не менее, если на этом этапе мы что-то упустили, то это можно будет поправить позже. Устанавливаем.

После того, как система установилась, надо установить самые свежие обновления. Для этого нам нужно, чтобы наш сервер имел доступ в интернет. Сначала настроим сетевой интерфейс. Логинимся под root и набираем команду:

mc

Запустится консольный файловый менеджер. Находим файл /etc/sysconfig/network-scripts/ifcfg-eth0, ставим на него курсор и жмём F4 — откроется содержимое этого файла с возможностью редактирования. Приводим содержимое этого файла примерно вот к такому виду:

DEVICE=eth0
HWADDR=08:00:27:05:1E:FB # mac-адрес сетевого интерфейса
ONBOOT=yes
IPADDR=192.168.1.210 # ваш ip-адрес
NETMASK=255.255.255.0 # ваша маска сети
GATEWAY=192.168.1.100 # ваш шлюз
DNS1=192.168.1.200 # ваш DNS-сервер
DNS2=192.168.1.201 # ваш альтернативный DNS-сервер
SEARCH="mydomain.domain" # ваш локальный домен Active Directory
DOMAIN="mydomain.domain" # ваш локальный домен Active Directory

Сохраняем и перезагружаем систему командой reboot. После загрузки проверяем, что сеть работает:

ping 192.168.1.100

Если пинг пошёл, значит всё хорошо.

Если у вас в сети есть прокси-сервер, и доступ в интернет осуществляется через него, а не напрямую через 80-ый порт, то необходимо в файле /etc/yum.conf дописать следующее:

proxy=http://192.168.1.100:3128 # в таком виде надо прописывать адрес прокси и его порт
proxy_username=myuser # В случае, если необходима авторизация, то прописываем логин
proxy_password=mypass # и пароль

Всё, теперь пробуем обновиться. Важно! Сначала надо обновить сам менеджер пакетов yum! На практике встречалось, что обновление может не пойти, пока не обновишь сам yum. Итак, делаем:

yum -y update yum

И вот только после этого запускаем обновление всей системы:

yum -y update

После успешного обновления надо перезагрузить систему.

Далее, нужно убедиться, что все необходимые пакеты у нас есть, поскольку некоторые из них могли не поставиться с диска. Вводим команду:

yum list *samba*

Вывод должен быть примерно такой:

Из этого видим, что нам не хватает одного пакета. Устанавливаем:

yum -y install samba-winbind

Далее, что нам необходимо сделать — это открыть нужные порты на фаерволе, который называется iptables. Находим файл /etc/sysconfig/iptables и приводим его вот к такому виду:

*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 udp -p udp --dport 137 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 631 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 631 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Изначально, на нашем сервере был открыт только 22-ой TCP-порт — это порт для ssh. Мы открыли порты udp 137, udp 138, tcp 139 и tcp 445 для нашей самбы, а также открыли порты udp 631 и tcp 631 для сервера печати, если таковой, в будущем, захотим пристроить к самбе. Для того, чтоб прописанные нами правила фаервола применились, надо его перезапустить:

service iptables restart

Также, на период установки, настройки и тестирования, нам лучше перевести в разрешающий режим систему принудительного контроля доступа SELinux. Находим файл /etc/selinux/config , находим в нём строчку SELINUX=enforcing и меняем её на SELINUX=permissive. После того, как всё будет настроено 100%-но работоспособно, SELinux можно будет включить обратно и гибко настроить его под свои нужды. Но это — материал уже для другой отдельной статьи...

Далее, чтобы потом избежать кое-какие проблемы с самбой, настроим синхронизацию времени с контроллерами домена. Найдём файл /etc/ntp.conf, а в нём найдём строки:

server 0.fedora.pool.ntp.org
server 1.fedora.pool.ntp.org
server 2.fedora.pool.ntp.org

и заменим их на строчки, в которых серверами NTP будут указаны контроллеры домена:

server 192.168.1.200
server 192.168.1.201

Сохраняем и включаем демон ntpd в автозагрузку:

chkconfig ntpd on

И сейчас надо перезагрузить систему.

Ну вот, теперь приведём наши конфигурационные файлы в должный вид и, тем самым, подготовим наш сервер для ввода в домен mydomain.domain. Сам я пользовался вот этой статьёй. Тем не менее, здесь мы это ещё раз всё рассмотрим пошагово. Для начала, отредактируем файл /etc/krb5.conf. Его нужно привести в аналогичный вид:

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
forwardable = true
renew_lifetime = 7d
default_realm = MYDOMAIN.DOMAIN

# У меня в домене присутствует два контроллера домена (с адресами 192.168.1.200 и 192.168.1.201).
# Если у вас он всего один, то лишнее уберите.
[realms]
mydomain.domain = {
kdc = 192.168.1.200
kdc = 192.168.1.201
admin_server = 192.168.1.200
admin_server = 192.168.1.201
default_domain = mydomain.domain
}

[domain_realm]
.mydomain.domain = MYDOMAIN.DOMAIN
mydomain.domain = MYDOMAIN.DOMAIN

И не забывайте соблюдать регистр, когда будете подставлять свои значения для контроллеров домена и названия домена.
Далее, находим файл /etc/samba/smb.conf и приводим его в аналогичный вид:

[global]
log file = /var/log/samba/log.%m
socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
null passwords = yes
interfaces = eth0
hosts allow = 192.168. 127.0.0.1
winbind uid = 50-99999999
winbind gid = 50-99999999
auth methods = winbind
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
name resolve order = hosts wins bcast lmhosts
case sensitive = no
dns proxy = no
server string = Linux
netbios name = samba
password server = 192.168.1.200 192.168.1.201
realm = MYDOMAIN.DOMAIN
client signing = yes
local master = no
domain master = no
workgroup = MYDOMAIN
debug level = 2
security = ads
dos charset = 866
max log size = 50
os level = 0

Опять же, не забываем про регистр.

Последний файл, который нам надо подправить, это /etc/nsswitch.conf . Находим в нём следующие строчки:

passwd: files
shadow: files
group: files

И правим их до такого вида:

passwd: files winbind
shadow: files
group: files winbind

После того, как мы отредактировали все конфигурационные файлы, нам надо запустить/перезапустить и включить в автозапуск некоторые демоны (службы). Для начала, набираем команду ntsysv. Появится окно, в котором надо поставить звёздочку напротив демонов nmb, smb и winbind. Таким образом, мы включили эти демоны в автозапуск. А сейчас запустим/перезапустим их вот такими командами:

service smb restart
service nmb restart
service winbind restart

Хорошо. Теперь попытаемся включить наш SAMBA-сервер в домен Active Directory. Вводим следующую команду:

kinit Admin@MYDOMAIN.DOMAIN

Где Admin — это учётная запись пользователя AD, имеющего права администратора домена. Если всё нормально, то, к примеру, в моём случае, должно быть типичное линуксовое молчание после ввода пароля. Молчит, значит всё в порядке :) Если же у вас это не так, то вот возможные проблемы на этом этапе:

kinit: krb5_get_init_creds: Client (Admin@MYDOMAIN.DOMAIN) unknown — Надо проверить правильность ввода логина\пароль админа.

kinit: krb5_get_init_creds: unable to reach any KDC in realm (MYDOMAIN.DOMAIN) — Проверьте правильность настроек DNS и конфига krb5.conf

kinit: krb5_get_init_creds: Clock skew too great — Рассинхронизация времени на контроллере домена и клиентом

Итак, если же проблем нет, то выполняем вторую команду:

net ads join -U Admin

Если у вас выйдет сообщение:

Using short domain name — MYDOMAIN
Joined 'SAMBA' to realm 'mydomain.domain'

то значит всё в порядке. Перезагрузимся.
Теперь, давайте проверим, хорошо ли наш SAMBA-сервер чувствует себя в домене. Вводим команду:

wbinfo -t

Вывод должен быть таким:

checking the trust secret via RPC calls succeeded

Проверим пользователей и группы. Эти команды должны вывести список пользователей и групп АД:

wbinfo -u
wbinfo -g

Заметьте, что группы и пользователи должны отобразиться как из домена mydomain.domain, так и из домена mydomain1.domain ! Если это не так, то SAMBA, скорее всего, тут не причём, и надо проверять как у вас в доменах настроены доверительные отношения и ДНС-серверы.

Проверяем аутентификацию в домене:

wbinfo -a user%123
wbinfo -a "MYDOMAIN1\user"%123

где user и MYDOMAIN1\user - пользователь домена, 123 - пароль. Если в обоих случаях ответ:

plaintext password authentication succeeded
сhallenge/response password authentication succeeded

значит аутентификация в доменах работает.

Проверим, видит ли наша самба пользователей обоих доменов:

id user
id "MYDOMAIN1\user"

Команда должна вывести id пользователя домена и группы, к которым он относится.

Итак, все тесты пройдены, мы в домене, и самба настроена правильно. Переходим ко второму этапу.

Этап 2. Настройка прав доступа на файловое хранилище.

Теперь пора приступить к расшариванию каталогов и раздаче прав на них. Будем это делать на примере вот этой схемы:

-2

Перед тем, как продолжить, я рекомендую вам ознакомиться с тем, как организована система назначения прав доступа в файловой системе ext3 и ext4, а также изучить команды chown, chmod и setfacl. Этот материал можно найти в интернете. Мне помогли вот эти статьи:

http://tmbu.info/linux-file-system-manage-owners-and-rights-chmod-chown
http://help.ubuntu.ru/wiki/access_control_list

Итак, предположим, что в AD в обоих доменах у нас уже заведены группы пользователей «отдел продаж», «бухгалтерия» и «руководство», в которых содержатся соответствующие пользователи. Вообще, по уму, желательно бы расшаренные каталоги поместить на отдельный raid-массив. Но, мы пока рассмотрим вариант попроще и разместим наши каталоге на том же жёстком диске, где у нас и система. Перейдём в каталог /home и создадим там каталог «shares»:

cd /home
mkdir shares

А уже в каталоге «shares» создадим каталог «Общие Документы», в котором уже дальше пойдут каталоги «Отдел продаж», «Бухгалтерия», «Руководство» и т.д..

После того, как мы создали дерево каталогов, нужно правильно задать права на них. Переходим в каталог /home и выполняем команду:

chown -R admin:"Пользователи домена" shares

где admin — это учётка доменного администратора (у вас она, естественно, может называться иначе). Этой командой мы назначили владельцем всего дерева пользователя admin и владеющую группу «Пользователи домена», в которую, обычно, входят все пользователи Компании. Обратите внимание, что линукс чувствителен к регистру, поэтому, когда пишете команду, то название папок и файлов указывайте с соблюдением регистра! Теперь выполним команду:

chmod -R 750 shares

Этой командой мы задали владельцу права на изменение всего дерева, а владеющей группе только чтение. Также, нам надо добавить права на чтение этого дерева ещё и пользователям mydomain1.domain:

setfacl -R -m g:"MYDOMAIN1\пользователи домена":r-x shares

Теперь, перейдём в каталог «Общие документы» и выполним в нём команду:

chown -R admin:"отдел продаж" "Отдел продаж"

Этой командой мы задали на каталог "Отдел продаж" и его подкаталоги владельцем админа, а владеющую группу — «отдел продаж». Теперь сделаем команду для пользователей mydomain1.domain:

setfacl -R -b "Отдел продаж"
setfacl -m g:"MYDOMAIN1\отдел продаж":r-x "Отдел продаж"

Первой командой мы очистили наследование прав для группы «MYDOMAIN1\пользователи домена» для папки «Отдел продаж» и её подпапок. А второй командой дали права чтения группе «MYDOMAIN1\отдел продаж» на папку «Отдел продаж». Это значит, что сейчас в этот каталог смогут попасть только пользователи из группы «отдел продаж» и «MYDOMAIN1\отдел продаж». Давайте убедимся в этом, введя команду:

getfacl "Отдел продаж"

Вывод должен быть примерно таким:

# file: Отдел продаж
# owner: admin
# group: отдел\040продаж
user::rwx
group::r-x
group:MYDOMAIN1\134отдел\040продаж:r-x
mask::r-x
other::---

Команда getfacl нам показала, что владелец папки, то бишь админ, имеет полные права, а группы «отдел продаж» и «MYDOMAIN1\отдел продаж» имеют права только на чтение.

Теперь уже перейдём в этот самый каталог «Отдел продаж» и введём команду:

chmod -R 700 "Начальник отдела"

Таким образом, мы назначили доступ на папку «Начальник отдела» только админу. А сейчас, дадим ещё доступ и самому начальнику отдела:

setfacl -m u:"начальник_отдела":rwx "Начальник отдела"

где начальник_отдела — это учётная запись в АД вашего начальника отдела. Более того, нам надо сделать так, чтобы в этом каталоге, при дальнейшем создании файлов и каталогов, доступ на них наследовался. Потому как, если, например, начальник_отдела создаст какой-либо файл, то владельцем этого файла, автоматически, станет начальник_отдела, и админ к этому файлу доступа иметь не будет. Поэтому, выполним следующую команду:

setfacl -d -m u::rwx,u:admin:rwx,u:"начальник_отдела":rwx "Начальник отдела"

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

getfacl "Начальник отдела"

Вывод должен быть примерно таким:

# file: Начальник отдела
# owner: admin
# group: отдел\040продаж
user::rwx
user:начальник_отдела:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:admin:rwx
default:user:начальник_отдела:rwx
default:group::---
default:mask::rwx
default:other::---

Обратим внимание на строчки, начинающиеся с «default» -- именно они и говорят нам о том, что на создаваемые файлы и каталоги будет иметь полные права: владелец, админ и начальник_отдела. А также, видим, что владелец папки, то бишь, админ, имеет полные права на текущий каталог, и начальник_отдела, также, имеет полные права на текущий каталог. Этого мы и добивались.

Сейчас нам надо предоставить доступ в папку «Общая» всем пользователям группы «отдел продаж» и «MYDOMAIN1\отдел продаж» и сделать эти права наследуемыми. Введём команды:

chmod -R 770 "Общая"
setfacl -m g:"MYDOMAIN1\отдел продаж":rwx,d:u:admin:rwx,d:g"MYDOMAIN1\отдел продаж":rwx,d:g:"отдел продаж":rwx "Общая"
getfacl "Общая"

Обращаю внимание, что командой во второй строчке мы сразу дали доступ группе «MYDOMAIN1\отдел продаж» и установили наследование прав для админа и групп «отдел продаж» и «MYDOMAIN1\отдел продаж».
Проверяем, что сделали:

# file: Общая
# owner: admin
# group: отдел\040продаж
user::rwx
group::rwx
group:MYDOMAIN1\134отдел\040продаж:rwx
mask::rwx
other::---
default:user::rwx
default:user:admin:rwx
default:group::rwx
default:group:отдел\040продаж:rwx
default:group:MYDOMAIN1\134отдел\040продаж:rwx
default:mask::rwx
default:other::---

Админу — полные права, у групп «отдел продаж» и «MYDOMAIN1\отдел продаж» тоже полные права. Наследование прав также назначено для админа, «отдел продаж» и «MYDOMAIN1\отдел продаж». Идём далее.

Остались папки «Манагер1» и «Манагер2», в которые нам нужно дать доступ пользователям MYDOMAIN\манагер и MYDOMAIN1\манагер соответственно, а также, начальнику отдела и админу. Ну и, конечно же, не забудем про наследие этих прав.

Делаем для папки «Манагер1»:

chmod -R 700 "Манагер1"
setfacl -m u:манагер:rwx,d:u:манагер:rwx "Манагер1"
setfacl -m u:"начальник_отдела":rwx,d:u:"начальник_отдела":rwx "Манагер1"
setfacl -d -m u:admin:rwx "Манагер1"
getfacl "Манагер1"

И если вывод примерно такой:

# file: Манагер1
# owner: admin
# group: отдел\040продаж
user::rwx
user:манагер:rwx
user:начальник_отдела:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:admin:rwx
default:user:манагер:rwx
default:user:начальник_отдела:rwx
default:group::---
default:mask::rwx
default:other::---

То мы всё сделали правильно. Для папки «Манагер2» делаем аналогично, только пользователь из другого домена:

chmod -R 700 "Манагер2"
setfacl -m u:"MYDOMAIN1\манагер":rwx,d:u:"MYDOMAIN1\манагер":rwx "Манагер2"
setfacl -m u:начальник_отдела:rwx,d:u:начальник_отдела:rwx "Манагер2"
setfacl -d -m u:admin:rwx "Манагер2"
getfacl "Манагер2"

Смотрим вывод:

# file: Манагер2
# owner: admin
# group: отдел\040продаж
user::rwx
user:начальник_отдела:rwx
user:MYDOMAIN1\134манагер:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:admin:rwx
default:user:MYDOMAIN1\134манагер:rwx
default:user:начальник_отдела:rwx
default:group::---
default:mask::rwx
default:other::---

Всё, как нам надо. Попробуйте самостоятельно назначить права на папку «Бухгалтерия» и на её подпапки.

Раздадим права на папку «Руководство». Перейдём в каталог «Общие документы» и выполним команду:

setfacl -R -b "Руководство"
chown -R admin:"руководство" "Руководство"

Первой командой мы очистили наследование прав для группы «MYDOMAIN1\пользователи домена» на папку «Руководство» и её подпапки. Второй командой, как вы уже поняли, мы назначили доступ к папке «Руководство» только админу и группе «руководство».

Переходим в папку «Руководство» и делаем:

chmod -R 700 "Генеральный директор"
setfacl -m u:гендир:rwx,d:u:гендир:rwx "Генеральный директор"
setfacl -d -m u:admin:rwx "Генеральный директор"
getfacl "Генеральный директор"

Если вывод такой:

# file: Генеральный директор
# owner: admin
# group: руководство
user::rwx
user:гендир:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:admin:rwx
default:user:гендир:rwx
default:group::---
default:mask::rwx
default:other::---

То всё правильно. Аналогично делаем для папки исполнительного директора. Ну, и, как дать права на общую папку, вы уже знаете.
Сейчас нам осталось разобраться с последней папкой. Это папка обмена, на которую надо дать права всем пользователям на чтение, изменение и выполнение. Поэтому, перейдём в папку «Общие документы» и выполним команду:

chmod 770 "ОБМЕН"
setfacl -m g:"MYDOMAIN1\пользователи домена":rwx,d:g:"MYDOMAIN1\пользователи домена":rwx "ОБМЕН"
setfacl -d -m g:"Пользователи домена":rwx,g:admin:rwx "ОБМЕН"
getfacl "ОБМЕН"

Вывод должен быть таким:

# file: ОБМЕН
# owner: admin
# group: пользователи\040домена
user::rwx
group::rwx
group:MYDOMAIN1\134пользователи\040домена:rwx
mask::rwx
other::---
default:user::rwx
default:user:admin:rwx
default:group::rwx
default:group:MYDOMAIN1\134пользователи\040домена:rwx
default:group:пользователи\040домена:rwx
default:mask::rwx
default:other::---

Ну вот и всё! Мы успешно раздали права на наше дерево каталогов. Теперь, осталось только его расшарить. Для этого нам нужно снова найти файл /etc/samba/smb.conf и в его конец дописать вот это:

[Общие документы]
path = "/home/shares/Общие Документы"
browseable = yes
writeable = yes
veto files = /*.mp3/*.wma/*.ogg/*.wav/*.avi/*.mp4/*.vob/*.flv/*.mpg/
delete veto files = yes
directory mask = 770
create mask = 660
valid users = @"Администраторы домена", @"Пользователи домена", @"MYDOMAIN1\пользователи домена"

В параметре «veto files» мы перечисляем расширения файлов, которые нельзя будет положить на наш файловый сервер.

Сохраним изменения и перезапустим демоны smb, nmb и winbind:

service smb restart
service nmb restart
service winbind restart

Вот, собственно говоря, и всё! Осталось только с рабочей станции зайти под тем, или иным, пользователем и протестировать работу сервера, и можно приступать к настройке резервного копирования.

Этап 3. Настройка резервного копирования.

Для резервного копирования мы воспользуемся программой «backup manager». Установим её из репозитория:

yum -y install backup-manager

Для её настройки, я воспользовался вот этой статьёй. Программа эта довольно простая, и для наших потребностей её хватит за глаза. А потребности наши весьма скромны: нам нужно каждый день делать инкрементную копию наших расшаренных папок на другой диск, либо же на какую-нибудь удалённую машину, расшаренный диск которой примонтирован к нашему серверу.

Итак, найдём файл /etc/backup-manager.conf и в нём некоторые строчки приведём к следующему виду:

export BM_DAILY_CRON="true"
export BM_REPOSITORY_ROOT="/var/backup-manager"
# строчкой выше, мы указали путь, куда у нас будут складываться резервные копии. Вставьте сюда свой путь, который пожелаете
export BM_ARCHIVE_TTL="10"
# количество дней, через которое будет удаляться старый архив.
export BM_ARCHIVE_NICE_LEVEL="10"
# приоритет, с которым будет выполняться архивирование
export BM_ARCHIVE_METHOD="tarball-incremental"
# здесь мы указали, что архивирование будет инкрементным
BM_TARBALL_TARGETS[0]="/home/shares"
# тут мы указали, какую директорию будем архивировать.
# Если вдруг понадобится архивировать ещё какую-либо директорию, то, тут же, можно будет добавить следующую строчку:
# BM_TARBALL_TARGETS[1]="пусть до директории"
# export BM_TARBALL_BLACKLIST="/dev /sys /proc /tmp"
# export BM_TARBALL_SLICESIZE="1000M"
# две строчки выше нам не нужны, поэтому закомментируем их. В них указываются исключения и максимальный размер архивов, после которого архив будет резаться на куски.
export BM_TARBALLINC_MASTERDATETYPE="monthly"
export BM_TARBALLINC_MASTERDATEVALUE="1"
# Две строчки выше указывают, как часто будет создаваться полная копия. В нашем случае, это каждый первый день каждого месяца.

На этом, редактирование конфига закончим. А для того, чтобы проверить, как оно работает, просто наберём команду:

backup-manager

Если всё правильно настроено, то, при выполнении команды, должно быть типичное линуксовое молчание. А после выполнения, в папке, которую мы указали в конфиге в качестве склада архивов, должен появиться архив нашего каталога /home/shares.

Для того, чтобы такая процедура срабатывала систематично, нужно в каталоге /root создать файлик с именем, например, «cron_backup» и заполнить его вот таким содержимым:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

0 1 * * * backup-manager

А затем, надо набрать команду:

crontab /root/cron_backup

После этого, в каталоге /var/spool/cron будет создан файл "root" с таким же содержимым, что и файл /root/cron_backup. Что означает о том, что каждый день в 1:00 будет запускаться программа backup-manager и делать резервное копирование.

На этом, настройку сервера можно считать завершённой.

Донаты принимаются на кошельки:

Yoomoney:
4100118091867315

BTC:
bc1qzw9vam8mv6derwscxl0vrnd6m9t2rpjg273mna

ETH / BNB BSC / Polygon MATIC:
0x5cc07FF76490350ac6112fbFdA1B545Bc794602F

Tron:
TJUz8sJr9XYMjVqzmFNnCzzRWfPa57X2RV

USDT/USDC в сетях ETH/BSC/Polygon:
0x5cc07FF76490350ac6112fbFdA1B545Bc794602F

USDT в сети TRX (Tron):
TJUz8sJr9XYMjVqzmFNnCzzRWfPa57X2RV

LTC:
LRMZaFCSyCT6FUF62WEX1BokWV7v2dh2zo

Doge:
DTEnGLZRps9XaWNtAhchJWSeD4uTNDRxg7

XMR:
4A6uP1WxEc7HktToZFyiJuK6YmjdL8bSn2aY653qPwABhT4Y56iFuedgHcmpvLwWE55u8qkjGc715ZJs761FqedA8gkgznr

TON:
UQB6qMQyrrREZlpCMGDcHNOeV2GD6P2u0bBnQVFD0C6Rz_bI

#Fedora #Ntp #Samba #Active Directory #Setfacl #Backup Manager #Установка #Настройка #Linux

Рекомендуем почитать
Документы, вакансии и контакты