Страница 1 из 1
бэкап - rsync, jail, ACL
Добавлено: 2010-12-22 13:11:50
dmtr
скрипт бэкапа запускается на основной системе и бэкапит данные jail на отдельный винт.
в jail ACL установлены
Код: Выделить всё
[web]# getfacl project
# file: project
# owner: username
# group: groupname
user::rwx
user:www:rwx
group::rwx
group:www:rwx
mask::rwx
other::---
винт бэкапов смонтирован также с опцией
acls. проблема в том что rsync не переносит ACL
rsync запускается с ключами
Код: Выделить всё
rsync -aAv --ignore-errors --delete --delete-excluded --exclude-from="$EXCLUDES"
в /var/mail/root пишется
Код: Выделить всё
rsync: set_acl: sys_acl_set_file(clients/project, ACL_TYPE_ACCESS): Operation not supported (45)
rsync: set_acl: sys_acl_set_file(clients/project, ACL_TYPE_DEFAULT): Operation not supported (45)
rsync: set_acl: sys_acl_set_file(clients/project/host.conf, ACL_TYPE_ACCESS): Operation not supported (45)
rsync: set_acl: sys_acl_set_file(clients/project/nginx.conf, ACL_TYPE_ACCESS): Operation not supported (45)
rsync: set_acl: sys_acl_set_file(clients/project/cgi-bin, ACL_TYPE_ACCESS): Operation not supported (45)
rsync: set_acl: sys_acl_set_file(clients/project/cgi-bin, ACL_TYPE_DEFAULT): Operation not supported (45)
в
man rsync говорится:
Код: Выделить всё
-A, --acls
This option causes rsync to update the destination ACLs to be
the same as the source ACLs. The option also implies --perms.
The source and destination systems must have compatible ACL
entries for this option to work properly. See the --fake-super
option for a way to backup and restore ACLs that are not compat-
ible.
в чем может заключаться "incompatible ACL entries"?
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-22 22:51:41
unix-admin
rsync запускается внутри клетки?
отдельный винт примонтирован в клетке ?
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-23 9:53:28
Alex Keda
его когда собираешь галочка есть - про ACL как раз
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-23 10:55:42
dmtr
rsync запускается внутри клетки?
отдельный винт примонтирован в клетке ?
запускается на основной системе, отдельный винт смонтирован на основной системе. каталог бэкапов смонтирован в jail через nullfs
его когда собираешь галочка есть - про ACL как раз
Код: Выделить всё
# cat /var/db/ports/rsync/options|grep ACL
WITH_ACL=true
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-23 11:37:51
unix-admin
пользователи/uid-ы не пересекаются в основной системе и jail ?
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-23 12:02:54
dmtr
нет
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-23 12:50:54
unix-admin
Значит смотрите, что у вас с правами
Код: Выделить всё
The source and destination systems must have compatible ACL entries for this option to work properly.
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-23 13:19:46
dmtr
э... собственно в первом посте вопрос сформулирован
в чем может заключаться "incompatible ACL entries"?
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-23 13:29:12
unix-admin
в том, что в source и destination разные ACL
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-23 14:05:51
dmtr
ладно, сдаюсь, попробую --fake-super
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-23 14:39:19
unix-admin
Сдавайся уже до конца...
Зачем тогда вообще использовать acl?
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-23 15:23:23
dmtr
эта, когда тогда?
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-24 0:16:11
unix-admin
dmtr писал(а):эта, когда тогда?
Когда нет возможности поиграться (попробовать запустить ту же команду хотя бы в др. директорию, или для др. директории).
Кстати, из man rsync:
Код: Выделить всё
-a, --archive archive mode; equals -rlptgoD (no -H,-A,-X)
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-24 10:16:11
dmtr
no -H,-A,-X
значит, что эти опции не включены или несовместимы? я так понял что не включены, и если надо, то указывать дополнительно
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-24 10:40:53
dmtr
--fake-super не помогла, но проблема походу не в rsync, руками в основной системе тоже не ставится ACL
Код: Выделить всё
# setfacl -m u:2001:rw,g:2001:rw,m::rw host.conf
setfacl: acl_get_file() failed: Operation not supported
в jail ставится.
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-24 10:48:47
dmtr
Код: Выделить всё
# man setfacl|grep acl_get_file
# man 3 acl|grep acl_get_file
что-то в манах про acl_get_file() ничего нету

Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-24 11:00:59
unix-admin
dmtr писал(а):Код: Выделить всё
# setfacl -m u:2001:rw,g:2001:rw,m::rw host.conf
setfacl: acl_get_file() failed: Operation not supported
в jail ставится.
да, и я это уже вот тут увидел:
http://varsync.googlecode.com/svn-histo ... unk/acls.c:
Код: Выделить всё
if (sys_acl_set_file(fname, type, duo_item->sacl) < 0) {
rsyserr(FERROR_XFER, errno, "set_acl: sys_acl_set_file(%s, %s)",
fname, str_acl_type(type));
return -1;
}
Ошибка происходит в процессе установки acl.
p.s. на счет -аА я погорячился, прошу прощения.
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-24 11:42:28
dmtr
причем проблема не в системе, а c винтом для бэкапов.
/etc/fstab:
Код: Выделить всё
# Device Mountpoint FStype Options Dump Pass#
/dev/mirror/gm0s1b none swap sw 0 0
/dev/mirror/gm0s1a / ufs rw 1 1
/dev/mirror/gm0s1d /tmp ufs rw 2 2
/dev/mirror/gm0s1f /usr ufs rw 2 2
/dev/mirror/gm0s1h /usr/local ufs rw,userquota,groupquota,acls 2 2
/dev/mirror/gm0s1g /usr/src ufs rw 2 2
/dev/mirror/gm0s1e /var ufs rw 2 2
/dev/acd0 /cdrom cd9660 ro,noauto 0 0
/dev/ad4s1d /usr/local/_backup ufs rw,acls 2 2
на файлы в /usr/local/ acl ставятся нормально, в /usr/local/_backup не ставятся
Код: Выделить всё
# fdisk -s /dev/ad4s1d
/dev/ad4s1d: 969015 cyl 16 hd 63 sec
Part Start Size Type Flags
4: 0 50000 0xa5 0x80
# fdisk -p /dev/ad4s1d
# /dev/ad4s1d
g c969015 h16 s63
p 4 0xa5 0 50000
a 4
0xa5 - это же ufs2?
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-24 13:41:20
dmtr
разобрался. не была включена поддержка acl для диска бэкапов.
строка в /etc/fstab
Код: Выделить всё
/dev/ad4s1d /usr/local/_backup ufs rw,acls 2 2
похоже была добавлена после создания раздела и монтирования руками /dev/ad4s1d, для следующих перезагрузок (которые так до сих пор и не последовали)
проблему решил установкой флага ACL в заголовке файловой системы:
при отмонтированном диске
Код: Выделить всё
# tunefs -a enable /dev/ad4s1d
tunefs: ACLs set
сейчас руками acl ставится, работу rsync с флагом -А покажет ночной бэкап ))
полезные ссылки
http://www.freebsd.org/doc/ru/books/han ... s-acl.html
http://www.opennet.ru/base/sec/freebsd_acl.txt.html
спасибо за помощь
Re: бэкап - rsync, jail, ACL
Добавлено: 2010-12-29 23:54:05
FiL
dmtr писал(а):винт бэкапов смонтирован также с опцией acls. проблема в том что rsync не переносит ACL
Вот так обычно и бывает. Человек с самого начала выдаёт ложные вводные, а потом долго мучается с тем, чтоб заставить нечто работать.