Здравствуйте!
В этой статье я хочу рассмотреть установку и настройку файлового сервера 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. Настройка прав доступа на файловое хранилище.
Теперь пора приступить к расшариванию каталогов и раздаче прав на них. Будем это делать на примере вот этой схемы:
Перед тем, как продолжить, я рекомендую вам ознакомиться с тем, как организована система назначения прав доступа в файловой системе 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