Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
mailslot создан приложением запущенным под System, клиент запущен под user
|
|||
|---|---|---|---|
|
#18+
Грубо, есть "сервис", т.е. App1 - запущен под System В App1 создан mailslot: Код: plaintext 1. 2. 3. 4. App2 запущено под 'User' и пытается положить сообщение в этот mailslot Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Дык вот в этой ситуации (Send(из под user) -> mailslot(под System) ) не работает. hFile возвращает INVALID_HANDLE_VALUE, т.е. -1 Хотя mailslot точно запущен и с ним все OK (т.е. он получает сообщения от других App кот. запущены под System) В коде ошибок нет, т.е. та же комбинация работает если: Send(из под user) -> mailslot( под user ) Ну и аналогичные взаимодействия у меня работают в комбинациях: Send(из под System) -> mailslot(под System) Send(из под System) -> mailslot(под User) Я подозреваю, что надо что-то поменять в LPSECURITY_ATTRIBUTES в CreateMailslot Т.е. мне надо чтоб mailslot под System был видим и принимал сообщения грубо от любого User. Есть идеи? P.S. На самом деле у меня вся эта кухня большей частью на VB, но это API, куски кодов для объяснения вопроса привел на C с сохранением используемых флагов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 18:26 |
|
||
|
mailslot создан приложением запущенным под System, клиент запущен под user
|
|||
|---|---|---|---|
|
#18+
Первая же ссылка в гугле: https://code.msdn.microsoft.com/windowsapps/CSMailslotCommunication-ec2a9639 The ACLs in the default security descriptor of a mailslot grant full control to the LocalSystem account, (elevated) dministrators, and the creator owner . They also give only read access to members of the Everyone group and the anonymous account. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 18:34 |
|
||
|
mailslot создан приложением запущенным под System, клиент запущен под user
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, Ну я понял. В приведенном тобой примере C#, понятно что обертка над API, но надо копаться. А на C/C++ примера нет, как эту LPSECURITY_ATTRIBUTES сформировать. Но судя по всему это очередной довольно таки тяжелый код. И еще. У меня на вооружении есть такая ф-ция: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. При запуске из-под admin (а System это тоже admin так понимаю, блин давно с этим копался) устанавливает full access к файлу или папке. Нельзя скажем создать mailslot с дефолтом LPSECURITY_ATTRIBUTES) NULL дабы не возиться, а потом бабахнуть Код: vbnet 1. ?? mailslot это ж вроде типа "файл". ...Но на дурака не прокатило, уже попробовал. Или надо готовить LPSECURITY_ATTRIBUTES именно при создании? И если приложение создающее mailslot запущено под System, оно не нарвется на Access Denined (err.5 кажется) когда будет делать эти установки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 19:07 |
|
||
|
mailslot создан приложением запущенным под System, клиент запущен под user
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, А впрочем спасибо за код. У меня все получилось ( сорри за VB код ): Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. Единственное, сначала глядя сюда: SID Strings пытался делать Код: vbnet 1. 2. Но оно мне отрубило доступ к mailslot из-под самого System. Потом таки доперло сделать "EveryOne" вместо "Пользователи": Код: vbnet 1. 2. Т.е. мне надо 1) mailslot может запускаться под User либо под System 2) в случае, если запущен под System, сообщения туда могут класть и User, и сама System "EveryOne"+GA(полный доступ) сойдет для снятия всех ограничений на запись? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.11.2015, 00:05 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39096903&tid=2018762]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
24ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 122ms |

| 0 / 0 |
