powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Windows [игнор отключен] [закрыт для гостей] / Проблема с правами доступа
35 сообщений из 35, показаны все 2 страниц
Проблема с правами доступа
    #39000899
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я программист самоучка. Иногда пишу для себя программы на C++ Builder 2010 для автоматизации своей работы.
Столкнулся с необычным багом: если экзешник программы лежит на диске D:, то программа не может осуществить запись файла на любой диск кроме D:


Если этот же экзешник программы перенести на любой другой диск кроме D:, то программа без проблем пишет файлы на любой диск, в т.ч. и на D:
В чем магия влияния диска D: на права лежащих на нем программ?

Я владелец диска, права у меня: стоят все галки. Запуск из под админа - ничего не дает. Антивирус отключал, перезагружался.
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39000931
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39000936
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я как раз и описал симптомы.
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39000945
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы описываете симптомы в стиле "У меня в подполе происходит стук"...

Где код, вызывающий ошибку? Где расширенный код ошибки? где сведения об учётной записи, от имени которой выполняется операция, текущих правах в файловой системе, информация из системных журналов (или сообщение, что там пусто, хотя бы)?
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39000961
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код, вызывающий ошибку: Memo1->Lines->SaveToFile("E:\\proba.txt");
Подскажите, где смотреть расширенный код ошибки?
Сведения о процессе:

ПроцессМонитор в момент попытки записи файла выдает такое:
Desired Access: Generic Read/Write
Disposition: OverwriteIf
Options: Synchronous IO Non-Alert, Non-Directory File
Attributes: N
ShareMode: None
AllocationSize: 0

Сведения о правах:


В журнале виндовс события моей программы не зафиксированы.
Скажите, какую еще информацию Вам нужно, я выложу.
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39000972
Sergey Orlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А за какой фигней у вас 2-а слеша подряд в полном имени файла...
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39000981
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergey OrlovА за какой фигней у вас 2-а слеша подряд в полном имени файла...
Это экранирование спецсимвола. В этом ошибки точно нет!
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001053
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай IIКод, вызывающий ошибку:
Код: plaintext
1.
Memo1->Lines->SaveToFile("E:\\proba.txt");


Сообщение об ошибке: Cannot create file...
Вопрос: этот файл в момент попытки записи - существует? т.е. - должен ли код его урезать либо удалить и пересоздать?
Вообще раз "Отказано в доступе" - создаётся впечатление, что файл уже существует, и заблокирован каким-то процессом. Для проверки - попробуй создать случайное имя и убедиться, что такого файла в каталоге нет, а потом записывать...

Николай IIгде смотреть расширенный код ошибки?Эммм... ну хотя бы GetLastError спроси для начала...
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001071
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай II,

Оберни код создания файла в try ... except, try ... catch и выведи сообщение об ошибке. Там же, в блоке обработки исключений, попроси вернуть тебе LastErrorCode (getLastError()). Ну и еще можно RaiseLastOSError() позвать - там более подробно об ошибке будет.
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001200
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaВопрос: этот файл в момент попытки записи - существует? т.е. - должен ли код его урезать либо удалить и пересоздать?
Вообще раз "Отказано в доступе" - создаётся впечатление, что файл уже существует, и заблокирован каким-то процессом. Для проверки - попробуй создать случайное имя и убедиться, что такого файла в каталоге нет, а потом записывать...
Попробовал случайное имя

А если переношу экзешник на диск отличный от D:, то все ОК!

try Catch выдает: "Cannot create file "E:\slychayniy.txt". Отказано в доступе"
GetLastError возвращает 0

RaiseLastOSError вернуло:
First chance exception at $747FB9BC. Exception class EOSError with message
'System Error. Code: 5.
Отказано в доступе'.
Process OriCatalogGrabbing.exe (6812)

Как по-мне, то ничего нового (
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001287
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странно, что
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
try
{
Memo1->Lines->SaveToFile(Edit1->Text+":\\slychayniy.txt");

}
catch (Exception &exception)
	{
	Memo1->Text=SysErrorMessage(GetLastError());
	}


Выдает "Операция успешно завершена"
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001289
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код 5 - это недостаточно прав в файловой системе.
Разбирайтесь.
Опять же покажите права, ежели нажать кнопочку "Дополнительно". Кстати, кто там овнер?
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001392
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник



...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001492
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Со стороны системы проблем не видно. Думаю, Вам следует обращаться в форум по С++. Причина скорее всего не в том, где лежит исполняемый модуль, а в том, что и как он делает.
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001640
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы форварднули парня с его проблемой сюда из С++
Что сучилось с правами доступа?
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001685
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай II,

Какой у вас системный диск С: Д:? Вроде винда в рут системника писать не дает, только в папку.
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001714
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic Hunterвинда в рут системника писать не дает
В таком случае было бы системное сообщение об ошибке 0x80070522 вне зависимости от наличия обработчика ошибок в программе емнип.
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001725
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterКакой у вас системный диск С: Д:?
Винда стоит на С. Файл подкачки на E.
Если перенести экзешник с программой на диск С, то пишет и на С, и на Д, и на Е, и на Ф (на все, короче говоря). А вот если экзешник на Д, то пишет только на Д.
В общем, если сегодня никому ничего в голову не придет, закрываем тему, буду запускать прогу с диска Е, хоть это и не совсем удобно.
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001734
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай II,

А диск Д: кто такой? Съемный? Другие ОС на нем устанавливались?
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001739
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я-бы сменил владельца диска Д: Имя владельца может совпадать с админом или вашим, а GUID другой. Я на такое нарывался. Отформатируйте диск Д:, посмотрим.
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001753
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterОтформатируйте диск Д:, посмотрим.
Вот это мне определённо понравилось...
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001760
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterА диск Д: кто такой? Съемный? Другие ОС на нем устанавливались?
Диск Д это отдельный физический диск с одним логическим разделом. никакие ОС на нем не стоят, только документы и другие файлы лежат.
Диск Е это тоже отдельный физический диск с одним логическим разделом.
Диски С и F это логические диски третьего физического диска.
Вот это мне определённо понравилось...
Я тоже оценил )
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001765
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай II,

А в папку на Д: писать не пробовал?
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001769
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterА в папку на Д: писать не пробовал?
Пробовал, на диск Д пишеться куда угодно и при любых условиях (независимо от того на каком диске лежит экзешник программы).
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001774
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай II,

А если UAC отключить (это-ж первое дело)?
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001810
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Relic HunterА если UAC отключить?
Не помогло (
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001821
Oleg_Martynov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не на BDE ли делаете?
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001829
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никакие базы данных у меня не используются.
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001841
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) Попробовал што-ли-б Run As Администратор...

2) И еще-б посмотреть DOS-овский атрибут R/O как я говорил.

3) И еще посмотреть нет ли заблоченного процессом (удаляемого в данный момент) или удалённого синонима proba.txt
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001851
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton1) Попробовал што-ли-б Run As Администратор...
Еще до обращения на форум пробовал
mayton2) И еще-б посмотреть DOS-овский атрибут R/O как я говорил.
Я DOS почти никогда не пользовался, но бегло почитав, понял, что таким атрибутом могут обладать только файлы, а речь идет о том, что не дает создать и потом записать файл. Т.е. сейчас файл, у которого смотреть этот атрибут, еще не существует.
mayton3) И еще посмотреть нет ли заблоченного процессом (удаляемого в данный момент) или удалённого синонима proba.txt
Нет синонима, пробовались другие имена файлов со случайными названиями
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001853
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вместо сохранения в файл можно вызвать cmd.exe?
И затем из него выполнить echo 1>e:\file.txt и echo 1>d:\file.txt.
Если проблема воспроизведется (то есть из cmd.exe не получится создать файл e:\file.txt, то это хорошо - проще будет диагностировать проблему.
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001860
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Вместо сохранения в файл можно вызвать cmd.exe?
И затем из него выполнить echo 1>e:\file.txt и echo 1>d:\file.txt.
Если проблема воспроизведется (то есть из cmd.exe не получится создать файл e:\file.txt, то это хорошо - проще будет диагностировать проблему.
Запустил так
Код: plaintext
1.
ShellExecute(Handle, NULL, L"cmd.exe", NULL, NULL, SW_RESTORE);


...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001868
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
e:\file.txt ?
c:\windows\temp\file.txt ?
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001878
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если права на E: как на скриншотах ранее, то действительно странно.
Я бы предположил, как указали ранее, что на одном из дисков (скорее всего D) файловая система создавалась в другой установке ОС; символические имена и RID совпадают, а SID отличается, и вылезают странные сбои.
Я бы попробовал с помощью, например, icacls просмотреть все ACL на диски D и E, может быть что-то прояснится.
...
Рейтинг: 0 / 0
Проблема с правами доступа
    #39001884
Николай II
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, спасибо всем за внимание к моему вопросу, я уже задолбался гуглить всякие икаклс. Переношу экзешник на диск Е и успокаиваюсь.
Еще раз всем спасибо!
...
Рейтинг: 0 / 0
35 сообщений из 35, показаны все 2 страниц
Форумы / Windows [игнор отключен] [закрыт для гостей] / Проблема с правами доступа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]