Summary: | На рабочем столе пользователя отсутствует файл после применения политики копирования файлов пользователя | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Branch p10 | Reporter: | Vera Blagoveschenskaya <vercha> | ||||||||||||||
Component: | gpupdate | Assignee: | Valery Sinelnikov <greh> | ||||||||||||||
Status: | NEW --- | QA Contact: | qa-p10 <qa-p10> | ||||||||||||||
Severity: | normal | ||||||||||||||||
Priority: | P5 | CC: | august, lepata, lepata, shevchenkodyu, sova | ||||||||||||||
Version: | не указана | ||||||||||||||||
Hardware: | x86_64 | ||||||||||||||||
OS: | Linux | ||||||||||||||||
See Also: | https://bugzilla.altlinux.org/show_bug.cgi?id=48946 | ||||||||||||||||
Attachments: |
|
Created attachment 14610 [details]
Логи
Created attachment 14611 [details]
journalctl -b
Дополнительно:
- копирование файлов для компьютера работает корректно
- пробовала применять политику для старых и вновь созданных пользователей
В настройках создания файла в поле источник файла указано: - Источник файла: \\SAMBA.TESTDOMAIN\sysvol\samba.testdomain\test.txt Скорее всего - нет указания конкретного узла, поэтому вычитавания файла не происходит. Попробуйте использовать путь \\DC.SAMBA.TESTDOMAIN\sysvol\samba.testdomain\test.txt (Ответ для SoVa на комментарий #3) > В настройках создания файла в поле источник файла указано: > - Источник файла: \\SAMBA.TESTDOMAIN\sysvol\samba.testdomain\test.txt > > Скорее всего - нет указания конкретного узла, поэтому вычитавания файла не > происходит. Попробуйте использовать путь > \\DC.SAMBA.TESTDOMAIN\sysvol\samba.testdomain\test.txt Добрый день. Проверка работы данной политики выполнялась по инструкции Групповые_политики/Управление_файлами: https://www.altlinux.org/%D0%93%D1%80%D1%83%D0%BF%D0%BF%D0%BE%D0%B2%D1%8B%D0%B5_%D0%BF%D0%BE%D0%BB%D0%B8%D1%82%D0%B8%D0%BA%D0%B8/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%D0%BC%D0%B8 Если обратить внимание на скриншот, иллюстрирующий работу политики, то в поле источник файла указано имя домена, а не конкретного узла. (Ответ для Vera Blagoveschenskaya на комментарий #2) > Дополнительно: > - копирование файлов для компьютера работает корректно Источник файлов при этом был тот же, что и при копировании файлов для пользователя? (Ответ для SoVa на комментарий #3) > В настройках создания файла в поле источник файла указано: > - Источник файла: \\SAMBA.TESTDOMAIN\sysvol\samba.testdomain\test.txt > > Скорее всего - нет указания конкретного узла, поэтому вычитавания файла не > происходит. Попробуйте использовать путь > \\DC.SAMBA.TESTDOMAIN\sysvol\samba.testdomain\test.txt Имеем пользовательскую и групповые политики для файла: 2023-11-27 16:45:00.796|[D00024]| Поиск настроек в машинной части GPT|{'setting': 'files', 'prefpath': '/var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{96D5897A-CEFB-4A1B-90AF-5D83707130C4}/MACHINE/PREFERENCES/FILES/FILES.XML'} 2023-11-27 16:45:00.797|[D00023]| Поиск настроек в пользовательской части GPT|{'setting': 'files', 'prefpath': '/var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{96D5897A-CEFB-4A1B-90AF-5D83707130C4}/USER/PREFERENCES/FILES/FILES.XML'} Содержимое файла /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/{96D5897A-CEFB-4A1B-90AF-5D83707130C4}/MACHINE/PREFERENCES/FILES/FILES.XML <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <Files clsid="{215B2E53-57CE-475c-80FE-9EEC14635851}"> <File bypassErrors="0" changed="2023-11-27 16:33:11" clsid="{50BE44C8-567A-4ed1-B1D0-9234FE1F38AF}" desc="" image="0" name="new2.txt" removePolicy="0" status="" uid="{53c9a836-2249-4a7f-b332-3a318e2c1569}" userContext="0"> <Properties action="U" archive="0" executable="0" fromPath="//test.alt/sysvol/test.alt/test.txt" hidden="0" readOnly="0" suppress="0" targetPath="%DesktopDir%/new2.txt"/> </File> </Files> Содержимое файла /var/cache/samba/gpo_cache/TEST.ALT/POLICIES/\{96D5897A-CEFB-4A1B-90AF-5D83707130C4\}/USER/PREFERENCES/FILES/FILES.XML <?xml version="1.0" encoding="UTF-8" standalone="no" ?> <Files clsid="{215B2E53-57CE-475c-80FE-9EEC14635851}"> <File bypassErrors="0" changed="2023-11-27 16:33:12" clsid="{50BE44C8-567A-4ed1-B1D0-9234FE1F38AF}" desc="" image="0" name="new_user.txt" removePolicy="0" status="" uid="{9babd331-9d4a-480d-b8d8-79fb6cdbfc86}" userContext="1"> <Properties action="C" archive="0" executable="0" fromPath="//test.alt/sysvol/test.alt/test.txt" hidden="0" readOnly="0" targetPath="%DesktopDir%/New/new_user.txt"/> </File> </Files> Получаем: 1) Машинная политика применяется, но файл создаётся в странном месте: 2023-11-27 17:11:28.753|[D00028]| Вычитывание и слияние машинных настроек|{'pref': 'files.xml', 'sid': 'S-1-5-21-578923263-1107570656-1287136478-1104'} 2023-11-27 17:11:28.753|[D00162]| Сохранение информации о файле|{'targetPath': '%DesktopDir%/new2.txt', 'fromPath': '//test.alt/sysvol/test.alt/test.txt'} ... 2023-11-27 17:11:30.436|[D00167]| Запуск применение настроек копирования файлов для машины|{} 2023-11-27 17:11:30.519|[D00192]| Обновление файла|{'File': PosixPath('/etc/skel/Desktop/new2.txt')} 2) Пользовательская политика тоже применяется: Первый запуск # gpoa ivanov --loglevel 0. На раб.столе есть каталог New, созданный пользователем. Файл успешно копируется: 2023-11-27 16:45:01.003|[D00029]| Вычитывание и слияние пользовательских настроек|{'pref': 'files.xml', 'sid': 'S-1-5-21-578923263-1107570656-1287136478-1103'} 2023-11-27 16:45:01.003|[D00162]| Сохранение информации о файле|{'targetPath': '%DesktopDir%/New/new_user.txt', 'fromPath': '//test.alt/sysvol/test.alt/test.txt'} ... 2023-11-27 16:45:01.067|[D00169]| Запуск применение настроек копирования файлов для пользователя в контексте администратора|{} 2023-11-27 16:45:01.153|[D00191]| Копирование файла|{'File': PosixPath('/home/TEST.ALT/ivanov/Рабочий стол/New/new_user.txt')} Второй запуск # gpoa ivanov --loglevel 0. Файл уже создан при предыдущем запуске: 2023-11-27 16:47:46.609|[D00029]| Вычитывание и слияние пользовательских настроек|{'pref': 'files.xml', 'sid': 'S-1-5-21-578923263-1107570656-1287136478-1103'} 2023-11-27 16:47:46.609|[D00162]| Сохранение информации о файле|{'targetPath': '%DesktopDir%/New/new_user.txt', 'fromPath': '//test.alt/sysvol/test.alt/test.txt'} ... 2023-11-27 16:47:46.667|[D00169]| Запуск применение настроек копирования файлов для пользователя в контексте администратора|{} 2023-11-27 16:47:46.678|[D00173]| Запуск применение настроек ini файлов для пользователя в контексте администратора|{} Третий запуск # gpoa ivanov --loglevel 0. Предварительно удалили каталог New с рабочего стола: 2023-11-27 17:03:47.757|[D00169]| Запуск применение настроек копирования файлов для пользователя в контексте администратора|{} 2023-11-27 17:03:50.897|[D00164]| Не удалось создать файл|{'exc': FileNotFoundError(2, 'No such file or directory'), 'fromPath': '//test.alt/sysvol/test.alt/test.txt', 'targetPath': PosixPath('/home/TEST.ALT/ivanov/Рабочий стол/New/new_user.txt'), 'targetFile': PosixPath('/home/TEST.ALT/ivanov/Рабочий стол/New/new_user.txt')} Вероятно копирование не произошло, потому что на раб.столе создан каталог New с такими правами: drwxr-xr-x 2 root root 4096 ноя 27 17:03 New Итого: может всё-таки дело не скриншоте? Ниже комментарии, которые не влияют на результат, но могут помочь пониманию и моему в том числе. Если я не права, прошу коллег из Саратова меня поправить. (Ответ для Vera Blagoveschenskaya на комментарий #0) > 1. В GPUI включить поддержку экспериментальных групповых политик и > дополнительные политики: > > 1. Компьютер -> Административные шаблоны -> Система ALT -> > Групповые политики -> Экспериментальные групповые политики -> > Включено > 2. Компьютер -> Административные шаблоны -> Система ALT -> > Групповые политики -> Механизмы GPUpdate: > - Управление копированием файлов -> Включено > - Управление копированием файлов для пользователей -> Включено Достаточно выполнить один из этих пунктов. > 2. На другом клиенте в GPUI открыть раздел Пользователь - Настройки - > Настройки системы Почему на другом клиенте? Предпочтение Файлы и Экспериментальные политики добавлены к одному подразделению? > 5. Применить групповые политики и выполнить презагрузку клиента. > # gpupdate > # gpoa --loglevel 0 > # reboot Не понятно зачем столько действий. Если мы проверяем политику для пользователя, достаточно выполнить команду: # gpoa пользователь --loglevel 0 Если для компьютера: gpoa --loglevel 0 (Ответ для Elena Mishina на комментарий #5) > (Ответ для Vera Blagoveschenskaya на комментарий #2) > > > Дополнительно: > > - копирование файлов для компьютера работает корректно > Источник файлов при этом был тот же, что и при копировании файлов для > пользователя? Пока могу уверенно ответить только на этот вопрос (как мне помнится, да). По остальному нужно вновь разворачивать стенд и смотреть. Чуть позже отвечу. (Ответ для Elena Mishina на комментарий #6) > запуск # gpoa ivanov --loglevel 0. Предварительно удалили каталог New > с рабочего стола: > > 2023-11-27 17:03:47.757|[D00169]| Запуск применение настроек копирования > файлов для пользователя в контексте администратора|{} > 2023-11-27 17:03:50.897|[D00164]| Не удалось создать файл|{'exc': > FileNotFoundError(2, 'No such file or directory'), 'fromPath': > '//test.alt/sysvol/test.alt/test.txt', 'targetPath': > PosixPath('/home/TEST.ALT/ivanov/Рабочий стол/New/new_user.txt'), > 'targetFile': PosixPath('/home/TEST.ALT/ivanov/Рабочий > стол/New/new_user.txt')} > > Вероятно копирование не произошло, потому что на раб.столе создан каталог > New с такими правами: > drwxr-xr-x 2 root root 4096 ноя 27 17:03 New > Дополню. Если доменный пользователь первый раз входит в систему (команда gpoa вручную к пользователю не применялась), то политика копирования файлов успешно применяется , несмотря на права каталога New: В примере Kworkstation: [ivanov@comp05 ~]$ ls -l Desktop/ итого 4 drwxr-xr-x 1 root root 24 ноя 27 17:52 New -rw------- 1 ivanov domain users 12 ноя 27 17:52 new2.txt [ivanov@comp05 ~]$ ls -l Desktop/New/ итого 4 -rw-rw-r-- 1 ivanov root 12 ноя 27 17:52 new_user.txt Файл new2.txt результат применения машинной политики, New/new_user.txt - пользовательской. А если зайти под локальным пользователем, файла new2.txt на раб.столе не окажется, потому что как указывалось выше он будет создан не на рабочем столе: [user@comp05 ~]$ ls Рабочий\ стол/ indexhtml.desktop А в каталоге /etc/skel/Desktop/: [user@comp05 ~]$ ls -l /etc/skel/Desktop/ итого 4 -rw-rw-r-- 1 root root 12 ноя 27 18:00 new2.txt > По остальному нужно вновь разворачивать стенд и смотреть.
Еще раз выполнила тест + обновила описание шагов.
gpupdate-0.9.12.6-alt1.noarch
gpui-0.2.34-alt1.x86_64
На контроллере домена создать файлы лоя проверки машинной и пользовательской политик соответственно:
# echo 'Hello World' > /var/lib/samba/sysvol/samba.testdomain/test.txt
# echo 'Hello USER' > /var/lib/samba/sysvol/samba.testdomain/test2.txt
1) Создать подразделение OU1, добавить компьютер client2 в это подразделение
2) Клик на OU1 -> в контекстном меню подразделения (в папке «Объекты групповой политики») выбрать пункт «Создать политику и связать с этим подразделением»
3) В GPUI включить поддержку экспериментальных групповых политик и дополнительные политики:
1. Компьютер -> Административные шаблоны -> Система ALT ->
Групповые политики -> Экспериментальные групповые политики ->
Включено
2. Компьютер -> Административные шаблоны -> Система ALT ->
Групповые политики -> Механизмы GPUpdate:
- Управление копированием файлов -> Включено
- Управление копированием файлов для пользователей -> Включено
(на всякий случай включила все пункты)
4) Открыть раздел Компьютер - Настройки - Настройки системы - ПКМ на пустом поле справа - Новый - Файлы
Настроить файл:
- Действие: Создать
- Источник файла: \\SAMBA.TESTDOMAIN\sysvol\samba.testdomain\test.txt
- Место назначения: %DesktopDir%\New\test.txt
- Нажать OK
Cм. скриншот machine-file.png
5) Открыть раздел Пользователь - Настройки - Настройки системы - ПКМ на пустом поле справа - Новый - Файлы
Настроить файл:
- Действие: Создать
- Источник файла: \\SAMBA.TESTDOMAIN\sysvol\samba.testdomain\test2.txt
- Место назначения: %DesktopDir%\New2\test2.txt
- Нажать OK
Cм. скриншот user-file.png
6) Применить групповые политики и выполнить перезагрузку клиента.
# gpupdate
# gpoa --loglevel 0
# gpoa petrov --loglevel 0
# reboot
Выполнить презагрузку client2.
7) Войти в систему _новым пользователем_ client2.
Результат: машинные политики применились, файл test.txt создан, а пользовательские политики НЕ применились.
[petrov@client2 Desktop]$ ls -l New/
итого 4
-rw------- 1 petrov domain users 12 дек 27 10:47 test.txt
[petrov@client2 Desktop]$ ls -l New2/
ls: невозможно получить доступ к 'New2/': Нет такого файла или каталога
Также привожу содержимое Files.xml:
[root@dc ~]# cat /var/lib/samba/sysvol/samba.testdomain/Policies/\{1E911231-14FE-4E39-8831-CF7FC2CEBD44\}/Machine/Preferences/Files/Files.xml
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Files clsid="{215B2E53-57CE-475c-80FE-9EEC14635851}">
<File bypassErrors="0" changed="2023-12-27 10:44:14" clsid="{50BE44C8-567A-4ed1-B1D0-9234FE1F38AF}" desc="" image="0" name="test.txt" removePolicy="0" status="" uid="{1331bbdd-b14d-4601-9f29-4d3b1cfb152b}" userContext="0">
<Properties action="C" archive="0" executable="0" fromPath="\\SAMBA.TESTDOMAIN\sysvol\samba.testdomain\test.txt" hidden="0" readOnly="0" targetPath="%DesktopDir%\New\test.txt"/>
</File>
</Files>
[root@dc ~]# cat /var/lib/samba/sysvol/samba.testdomain/Policies/\{1E911231-14FE-4E39-8831-CF7FC2CEBD44\}/User/Preferences/Files/Files.xml<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Files clsid="{215B2E53-57CE-475c-80FE-9EEC14635851}">
<File bypassErrors="0" changed="2023-12-27 10:44:15" clsid="{50BE44C8-567A-4ed1-B1D0-9234FE1F38AF}" desc="" image="0" name="test2.txt" removePolicy="0" status="" uid="{d2c9eb5f-e6ea-4d5a-a6b6-368986e9d5fb}" userContext="1">
<Properties action="C" archive="0" executable="0" fromPath="\\SAMBA.TESTDOMAIN\sysvol\samba.testdomain\test2.txt" hidden="0" readOnly="0" targetPath="%DesktopDir%\New2\test2.txt"/>
</File>
</Files>
Created attachment 15295 [details]
journactl-b.txt
Created attachment 15296 [details]
machine-file.png
Created attachment 15297 [details]
user-file.png
(Ответ для Vera Blagoveschenskaya на комментарий #10) > > По остальному нужно вновь разворачивать стенд и смотреть. > > > 1) Создать подразделение OU1, добавить компьютер client2 в это подразделение А пользователь в подразделение добавляется? И если ответ да, и этот пользователь petrov, то можно вывод команды gpoa petrov --loglevel 0 ? (Ответ для Elena Mishina на комментарий #14) > (Ответ для Vera Blagoveschenskaya на комментарий #10) > > > По остальному нужно вновь разворачивать стенд и смотреть. > > > > > > 1) Создать подразделение OU1, добавить компьютер client2 в это подразделение > А пользователь в подразделение добавляется? > И если ответ да, и этот пользователь petrov, то можно вывод команды > gpoa petrov --loglevel 0 > ? Вот этот момент был упущен в описании. Повторила эксперимент со свежесозданным и добавленным пользователем: - создала пользователя volobuev - переместила его в OU1 - выполнила перезагрузку системы (НЕ выполнять предварительно gpoa volobuev --loglevel 0) Результат: На рабочем столе создана папка New2, но файла test2.txt в ней нет. Файл появляется лишь после _второй_ перезагрузки, и этот момент похож на описанное в https://bugzilla.altlinux.org/show_bug.cgi?id=47652#c9 $ ls -l итого 16 -rwxr-xr-x 1 volobuev domain users 222 дек 4 18:02 indexhtml.desktop drwx------ 2 volobuev domain users 4096 дек 27 11:49 New drwxr-xr-x 2 root root 4096 дек 27 11:51 New2 -rw------- 1 volobuev domain users 12 дек 27 11:49 test.txt Относительно текущей проблемы, у меня два замечания: 1) Каталог New2 с правами drwxr-xr-x 2 root root 4096 дек 27 11:51 New2 2) Появление файла test2.txt после _второй_ перезагрузки Прямое выполнение команды gpoa пользователь --loglevel 0 для свежесозданного пользователя приводит к невозможности входа в систему. Исследую это поведение безотносительно политики, связанной с файлами. (Ответ для Vera Blagoveschenskaya на комментарий #15) > Повторила эксперимент со свежесозданным и добавленным пользователем: > - создала пользователя volobuev > - переместила его в OU1 > - выполнила перезагрузку системы (НЕ выполнять предварительно gpoa volobuev > --loglevel 0) По идее пользовательские политики должны применяться при входе в систему (мы об этом везде заявляем), т.е. перезагружаться не обязательно) На остальные вопросы, думаю ответят разработчики. Моя задача была показать, что эта ошибка не возникла из-за неверного скриншота в документации (В поле "Источник файлов" указан путь без узла) (Ответ для Elena Mishina на комментарий #16) > На остальные вопросы, думаю ответят разработчики. Моя задача была показать, > что эта ошибка не возникла из-за неверного скриншота в документации (В поле > "Источник файлов" указан путь без узла) Я тоже думаю, что в документации было все правильно описано. Потому что машинная политика с теми же настройками применяется корректно. Предположение про узел (неверное) высказал комментатор тут: https://bugzilla.altlinux.org/show_bug.cgi?id=47777#c3 (Ответ для Vera Blagoveschenskaya на комментарий #15) > Прямое выполнение команды gpoa пользователь --loglevel 0 для свежесозданного > пользователя приводит к невозможности входа в систему. Исследую это > поведение безотносительно политики, связанной с файлами. С другой пользовательской настройкой не воспроизвела. Создала отдельную ошибку: https://bugzilla.altlinux.org/48946 |
Created attachment 14609 [details] screen gpui-0.2.34-alt1 gpupdate-0.9.12.6-alt1 Стенд - ALT Server в качестве Samba DC - ALT Workstation в качестве клиента На контроллере домена создать файл: # echo 'Hello World' > /var/lib/samba/sysvol/samba.testdomain/test.txt 1. В GPUI включить поддержку экспериментальных групповых политик и дополнительные политики: 1. Компьютер -> Административные шаблоны -> Система ALT -> Групповые политики -> Экспериментальные групповые политики -> Включено 2. Компьютер -> Административные шаблоны -> Система ALT -> Групповые политики -> Механизмы GPUpdate: - Управление копированием файлов -> Включено - Управление копированием файлов для пользователей -> Включено 2. На другом клиенте в GPUI открыть раздел Пользователь - Настройки - Настройки системы 3. ПКМ на пустом поле справа - Новый - Файлы 4. Настроить файл: - Действие: Создать - Источник файла: \\SAMBA.TESTDOMAIN\sysvol\samba.testdomain\test.txt - Место назначения: %DesktopDir%/test.txt или %DesktopDir%\test.txt - Нажать OK 5. Применить групповые политики и выполнить презагрузку клиента. # gpupdate # gpoa --loglevel 0 # reboot 6. Выполнить вход доменным пользователем Результат: На рабочем столе пользователя отсутствует файл test.txt Ожидаемый результат: На рабочем столе пользователя создан файл test.txt