Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Debian/Ubuntu - Как сделать backup Samba AD DC

Ответить
Настройки темы
Debian/Ubuntu - Как сделать backup Samba AD DC
zai zai вне форума

Аватара для zai

Ветеран


Сообщения: 4964
Благодарности: 724


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: zai
Дата: 08-07-2016
Прочитал вот эту статью и ничего не понял, кто нибудь может мне объяснить как все же сделать backup?

Samba AD DC на Ubuntu Server 16.04, устанавливал так:

1. apt-get update
apt-get upgrade
service lxd restart

2. nano /etc/network/interfaces

Код: Выделить весь код
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto enp0s3
iface enp0s3 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.100 192.168.1.1
3. nano /etc/hosts

Код: Выделить весь код
127.0.0.1       localhost.localdomain   localhost
192.168.1.100   server.test.local       server
4. nano /etc/hostname

Код: Выделить весь код
server
5. apt-get install samba smbclient winbind krb5-user ntp

6. rm /etc/samba/smb.conf

7. samba-tool domain provision --use-rfc2307 --interactive

Код: Выделить весь код
Realm [TEST.LOCAL]: TEST.LOCAL
 Domain [TEST]: TEST
 Server Role (dc, member, standalone) [dc]: dc
 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: SAMBA_INTERNAL
 DNS forwarder IP address (write 'none' to disable forwarding) [192.168.1.100]: 192.168.1.1
8. nano /etc/samba/smb.conf

Код: Выделить весь код
[global]
        workgroup = TEST
        realm = TEST.LOCAL
        netbios name = SERVER
        server role = active directory domain controller
        dns forwarder = 192.168.1.1
        idmap_ldb:use rfc2307 = yes
        server signing = auto
        client ldap sasl wrapping = plain
        interfaces = 127.0.0.1 192.168.1.100
        bind interfaces only = yes

[shara1]
        path = /home/share/shara1
        read only = no

[shara2]
        path = /home/share/shara2
        read only = no

[netlogon]
        path = /var/lib/samba/sysvol/test.local/scripts
        read only = No

[sysvol]
        path = /var/lib/samba/sysvol
        read only = No
9. mkdir -p /home/share/shara1
mkdir -p /home/share/shara2

10. chmod -R 777 /home/share/shara1
chmod -R 777 /home/share/shara2

11. ln -sf /var/lib/samba/private/krb5.conf /etc/krb5.conf

12. samba-tool domain passwordsettings set --max-pwd-age=999

13. nano /etc/network/interfaces

Код: Выделить весь код
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto enp0s3
iface enp0s3 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.100

-------
А зачем тебе жужжать, если ты не пчела? По-моему так.


Отправлено: 20:35, 20-06-2016

 
zai zai вне форума Автор темы

Аватара для zai

Ветеран


Сообщения: 4964
Благодарности: 724

Профиль | Отправить PM | Цитировать


Разобрался с бэкапом

То что написано тут РАБОТАТЬ НЕ БУДЕТ!!!

Если посмотреть структуру папок, то папка /var/lib/samba/sysvol и ее содержимое имеют особые права (+),



если ее удалить, то AD будет не работоспособен, поэтому эту папку НЕЛЬЗЯ бэкапить и удалять, но можно сбэкапить ее содержимое, а при восстановлении содержимого восстановятся все права.

Бэкап:

Код: Выделить весь код
#!/bin/sh

TARGETDIRS="/var/lib/samba/private /var/lib/samba/sysvol/test.local /etc/samba"
WHERE=/backup/samba
DAYS=100
WHEN=`date +%d%m%y`

if [ -n "$1" ] && [ "$1" = "-h" -o "$1" = "--usage" ]; then
echo "samba_backup '[provisiondirs]' [destinationdir]"
echo "Will backup your provision located in provisiondir to archive stored in destinationdir"
echo "Default Ubuntu provisiondirs: $TARGETDIRS"
echo "Default destinationdir: $WHERE"
exit 0
fi
if [ $# -gt 2 ]; then
echo "If you give provisiondirs parameter, Don't forget add Quotation!"
exit 0
fi
[ -n "$1" -a -d "$1" ]&&TARGETDIRS=$1
[ -n "$2" -a -d "$2" ]&&WHERE=$2
if [ ! -d $WHERE ]; then
echo "Missing backup directory $WHERE"
exit 1
fi
if [ ! -d $FROMWHERE ]; then
echo "Missing or wrong provision directory $FROMWHERE"
exit 1
fi
for tdir in $TARGETDIRS;do
cd `dirname $tdir`
d=`basename $tdir`
relativedirname=`find . -type d -name "$d" -prune`
if [ "$relativedirname" = "" ]; then
echo 'break!'
break
fi
n=`echo $tdir|sed 's|\/|_|g'|sed 's/^_//'`
if [ "$d" = "private" ]; then
find $relativedirname -name "*.ldb.bak" -exec rm {} \;
for ldb in `find $relativedirname -name "*.ldb"`; do
tdbbackup $ldb
if [ $? -ne 0 ]; then
echo "Error while backuping $ldb"
exit 1
fi
done
tar cjf ${WHERE}/samba4_${n}.${WHEN}.tar.bz2  $relativedirname --exclude=*.ldb --warning=no-file-ignored --transform 's/.ldb.bak$/.ldb/' >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Error while archiving ${WHERE}/samba4_${n}.${WHEN}.tar.bz2"
exit 1
fi
find $relativedirname -name "*.ldb.bak" -exec rm {} \;
else
tar cjf ${WHERE}/samba4_${n}.${WHEN}.tar.bz2  $relativedirname >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Error while archiving ${WHERE}/samba4_${n}.${WHEN}.tar.bz2"
exit 1
fi
fi
done
find $WHERE -name "samba4_*bz2" -mtime +$DAYS -exec rm {} \; >/dev/null 2>&1
Восстановление:

Код: Выделить весь код
#!/bin/sh

/etc/init.d/samba stop
/etc/init.d/samba-ad-dc stop
rm -rf /etc/samba
rm -rf /var/lib/samba/private
rm -rf /var/lib/samba/sysvol/test.local
tar -jxf samba4_etc_samba*.tar.bz2 -C /etc/
tar -jxf samba4_var_lib_samba_private*.tar.bz2 -C /var/lib/samba/
tar -jxf samba4_var_lib_samba_sysvol*.tar.bz2 -C /var/lib/samba/sysvol/

-------
А зачем тебе жужжать, если ты не пчела? По-моему так.


Последний раз редактировалось zai, 08-07-2016 в 23:05.

Это сообщение посчитали полезным следующие участники:

Отправлено: 22:52, 08-07-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 156
Благодарности: 13

Профиль | Отправить PM | Цитировать


Цитата zai:
Восстановление: »

zai, восстановление нужно доработать, что бы восстановить приходится копировать три архива с нужной датой в другую директорию, а из нее уже восстанавливать - это очень неудобно.

Отправлено: 12:08, 09-07-2016 | #3

zai zai вне форума Автор темы

Аватара для zai

Ветеран


Сообщения: 4964
Благодарности: 724

Профиль | Отправить PM | Цитировать


Цитата mnbv:
восстановление нужно доработать »
Доработай и скинь

-------
А зачем тебе жужжать, если ты не пчела? По-моему так.

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:53, 09-07-2016 | #4


Новый участник


Сообщения: 1
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата zai:
папка /var/lib/samba/sysvol и ее содержимое имеют особые права (+) »
Когда вы читали wiki, там был пункт "The script doesn't backup extended ACLs. So you will lose the permissions e. g. on the SysVol share. If you have a tar version that supports the --xattrs option (see the tar manpage), you should add this option to all 'tar' commands inside the script. This enables tar to keep extended ACLs in the archives."?

Отправлено: 11:33, 14-06-2017 | #5



Компьютерный форум OSzone.net » Linux и FreeBSD » Общий по Linux » Debian/Ubuntu - Как сделать backup Samba AD DC

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Debian/Ubuntu - Как добавить права на запись пользователям Samba, интегрированной в AD? funit09 Общий по Linux 3 09-05-2014 21:03
Установка - Как из Win7x64 backup сделать .iso? finwar.kennel@fb Microsoft Windows 7 1 07-11-2013 19:19
Delphi - Как сделать backup restor в interbase tarakan1983 Программирование и базы данных 1 06-09-2010 00:07
Linux+samba+win2k3 AD = файлопомойка. Как сделать? h2o Общий по Linux 11 11-09-2008 06:33
SAMBA. Как сделать все на русском? DANTIST Программное обеспечение Linux и FreeBSD 7 30-04-2003 14:50




 
Переход