Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 1287 - Нет доступа к файлу, если пользователь не является владельцем   Make a simular bug
Summary: Нет доступа к файлу, если пользователь не является владельцем
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Общее (show other bugs)
Version: 1.0.9
Hardware: PC Linux
: P5 normal
Target Milestone: ---
Assignee: Константин Кондратюк
QA Contact:
URL:
Whiteboard:
Keywords:
: 371 (view as bug list)
Depends on:
Blocks: 692 777 1115
  Show dependency treegraph
 
In work:
Reported: 2008-03-05 11:16 MSK by Константин Кондратюк
Modified: 2008-11-01 13:47 MSK (History)
1 user (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Константин Кондратюк 2008-03-05 11:16:44 MSK
Попытка обратиться к доступному файлу (644) в доступной директории (775) заканчивается ошибкой. При этом пользователь является владельцем и директории, и файла.
Пример проявления - установка MSI в #1115 баге.
Comment 1 Vitaly Lipatov 2008-03-05 12:37:36 MSK
Ну так пример команды, и кусок WINEDEBUG=+file
Comment 2 Константин Кондратюк 2008-03-05 13:48:32 MSK
Для воспроизведения баги нужно два пользователя, входящие в группу wineadmin, и общее окружение, созданное с помощью административной установки.

При выполнении c:\windows\downloads\InstMsiA.exe одним из пользователей возникает ошибка. После удаления c:\windows\Installer\, содержимого c:\windows\temp и c:\Config.Msi установка начинает проходить.

Ошибок в трейсах по +file нет, из непонятных явлений - только закрепляющий бит на temp, но снятие его ситуацию не исправляет.
Comment 3 Константин Кондратюк 2008-03-05 15:06:27 MSK
Всё дело в том, что проблемные директории может изменять только владелец файла. После chown на все директории отдельно или на весь /var/lib/wine/default сразу проблема уходит (от одного пользователя к другому).
Comment 4 Константин Кондратюк 2008-03-05 18:35:21 MSK
Ошибка кроется в функции SetFileAttributesW(), в которую передаётся флаг 6 (HIDDEN и SYSTEM)

Разбор функции показывает, что отсюда возвращается не STATUS_SUCCESS:
status = NtSetInformationFile( handle, &io, &info, sizeof(info), FileBasicInformation );
Comment 5 Константин Кондратюк 2008-03-05 19:59:47 MSK
Патч отправлен в wine-patches@, после его принятия закрою багу.
Comment 6 Константин Кондратюк 2008-03-07 09:47:38 MSK
Пока приложил к нашему patches.list.
Comment 7 Константин Кондратюк 2008-11-01 13:46:15 MSK
*** Bug 371 has been marked as a duplicate of this bug. ***
Comment 8 Константин Кондратюк 2008-11-01 13:47:14 MSK
В wine не приняли, у нас в сборке исправление успешно работает.