The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"tar и selinux - не востанавливает контекст"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"tar и selinux - не востанавливает контекст"  
Сообщение от aba email(??) on 22-Фев-08, 11:26 
Поставил Fedora 8. Включена SELinux.
Нужно сделать архив в котором сохраняются расширенние атрибути и с которого потом можно их извлечь. Проводим следующие команди

[root@edeldb /]# cd /tmp/
[root@edeldb tmp]# mkdir test
[root@edeldb tmp]# cd test

Находим что нибудь подходящее для теста

[root@edeldb test]# ls -ldZ /etc/y*
-rw-r--r--  root root system_u:object_r:net_conf_t:s0  /etc/yp.conf
drwxr-xr-x  root root system_u:object_r:etc_t:s0       /etc/yum
-rw-r-----  root root system_u:object_r:etc_t:s0       /etc/yum.conf
drwxr-xr-x  root root system_u:object_r:etc_t:s0       /etc/yum.repos.d

Проводим тест для tar с разними параметрами

[root@edeldb test]# tar -cz -f a_default.tgz /etc/y*
[root@edeldb test]# tar -cz --xattrs --acls --selinux -f a_xattrs.tgz /etc/y*
[root@edeldb test]# tar -cz --no-xattrs -f a_no_xattrs.tgz /etc/y*

Смотрим что получилось

[root@edeldb test]# ll
total 24
-rw-r--r-- 1 root root 2057 2008-02-22 10:08 a_default.tgz
-rw-r--r-- 1 root root 2057 2008-02-22 10:09 a_no_xattrs.tgz
-rw-r--r-- 1 root root 2430 2008-02-22 10:09 a_xattrs.tgz

По логике по дефаулту расширение атрибути отключени. Сразу первий вопрос: можно ли по дефаулту их включить? файла типа /etc/tar.conf нету.
Пробуєм извлечь. Извлекаем только с a_xattrs.tgz (в других архивах по логике нету расширених атрибутов, хотя я не уверен есть ли они в a_xattrs.tgz, как проверить не знаю)

[root@edeldb test]# tar -xz -f a_xattrs.tgz
[root@edeldb test]# ls -lZ etc
-rw-r--r--  root root system_u:object_r:unconfined_tmp_t:s0 yp.conf
drwxr-xr-x  root root system_u:object_r:unconfined_tmp_t:s0 yum
-rw-r-----  root root system_u:object_r:unconfined_tmp_t:s0 yum.conf
drwxr-xr-x  root root system_u:object_r:unconfined_tmp_t:s0 yum.repos.d

по дефаулту не извлекается контекст
пробуем принудительно (для чистоти експеримента удаляем созданий каталог /tmp/test/etc)

[root@edeldb test]# tar -xz --xattrs --acls --selinux -f a_xattrs.tgz
[root@edeldb test]# ls -lZ etc
-rw-r--r--  root root system_u:object_r:unconfined_tmp_t:s0 yp.conf
drwxr-xr-x  root root system_u:object_r:unconfined_tmp_t:s0 yum
-rw-r-----  root root system_u:object_r:unconfined_tmp_t:s0 yum.conf
drwxr-xr-x  root root system_u:object_r:unconfined_tmp_t:s0 yum.repos.d

Опять контекст не востановлен.
Подскажите в чем может бить причина и как побороть.

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "tar и selinux - не востанавливает контекст"  
Сообщение от PavelR (??) on 22-Фев-08, 11:49 

Контекст - это не свойство файла, а свойство операционной системы. В ОС есть файл, который определяет, в какой контекст относить конкретную директорию или файл, по абсолютному его имени.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "tar и selinux - не востанавливает контекст"  
Сообщение от aba email(??) on 22-Фев-08, 12:45 
>
>
> Контекст - это не свойство файла, а свойство операционной системы. В
>ОС есть файл, который определяет, в какой контекст относить конкретную директорию
>или файл, по абсолютному его имени.

А что тогда архивирует tar c опцией --selinux?
Теперь я окончательно запутался! Может подойду к вопросу с другой сторони, раскажу для чего мне ето надо.
Есть настроеная система. Хочу сделать резервний диск, которий использовать как для целей востановления так и для возможности клонирования на другой комп. Раньше стояла Федора3 с отключенним SELinux. Било достаточно заархивировать нужние папки а потом просто извлеч или все или частично файли (в зависимости от цели клонирование или востановление).
А как теперь поступать не знаю. Ну создам я архив всех папок системи. Загружусь с LiveCD разобю новий винт распакую туда файли, а оно не будет работать.Или будет?
Как правильно поступить.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "tar и selinux - не востанавливает контекст"  
Сообщение от PavelR (??) on 22-Фев-08, 13:42 
>>
>>
>> Контекст - это не свойство файла, а свойство операционной системы. В
>>ОС есть файл, который определяет, в какой контекст относить конкретную директорию
>>или файл, по абсолютному его имени.
>
>А что тогда архивирует tar c опцией --selinux?

Прошу прощения, видимо запутался и ошибся в этом случае я ...

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "tar и selinux - не востанавливает контекст"  
Сообщение от aba email(??) on 29-Фев-08, 11:00 
первое ето апгрейд tar'а. Большое подозрение на багу в програме.
yum update tar
В оригинале с Федорой8 идет tar-1.17-3.fc8 после апдейта ставит tar-1.17-7.fc8

Повторяем експеримент
tar -cz --xattrs --acls --selinux -f a_xattrs.tgz /etc/y*
tar -xz --xattrs --acls --selinux -f a_xattrs.tgz
смотрим что получилось
ls -ldZ *
-rw-r--r--  root root system_u:object_r:net_conf_t:s0  yp.conf
drwxr-xr-x  root root system_u:object_r:etc_t:s0       yum
-rw-r-----  root root system_u:object_r:etc_t:s0       yum.conf
drwxr-xr-x  root root system_u:object_r:etc_t:s0       yum.repos.d
Уже хорошо. Всетаки била глюка в tar'е

Но во время распаковки появляется следующее сообщение
[test]# tar -xz --xattrs --acls --selinux -f a_xattrs.tgz
tar: etc/yum/pluginconf.d: Попередження: Помилка у функції acl_from_text: Invalid argument
Что ето значит и насколько критично я не знаю. Подскажите.
[test]# tar -xz --xattrs --no-acls --selinux -f a_xattrs.tgz
Отрабативает без ошибок.

Заодно вилазит еще один нюанс. Для експеримента берем другие файли.
ls -ldZ /usr/lib/libsysfs*
lrwxrwxrwx  root root system_u:object_r:lib_t:s0       /usr/lib/libsysfs.so.2 -> libsysfs.so.2.0.1
-rwxr-xr-x  root root system_u:object_r:lib_t:s0       /usr/lib/libsysfs.so.2.0.1
Пакуем
tar -cz --xattrs --acls --selinux -f b_xattrs.tgz /usr/lib/libsysfs*
tar -xz --xattrs --acls --selinux -f b_xattrs.tgz
витянули и смотрим
[test]# ls -ldZ usr/lib/libsysfs*
lrwxrwxrwx  root root system_u:object_r:unconfined_tmp_t:s0 usr/lib/libsysfs.so.2 -> libsysfs.so.2.0.1
-rwxr-xr-x  root root system_u:object_r:lib_t:s0       usr/lib/libsysfs.so.2.0.1
Проблема с символьними ссилками. Подозрение что ссилка витягивается раньше чем файл и на нее не проставляется контекст. В манах по tar не нашел как заставить извлекасть символьние ссилки в конце. Повторное распаковивание архива у меня не решает проблему
tar -xz --xattrs --acls --selinux -f b_xattrs.tgz
ls -ldZ usr/lib/libsysfs*
lrwxrwxrwx  root root system_u:object_r:unconfined_tmp_t:s0 usr/lib/libsysfs.so.2 -> libsysfs.so.2.0.1
-rwxr-xr-x  root root system_u:object_r:lib_t:s0       usr/lib/libsysfs.so.2.0.1
Подскажите, как побороть

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру