Як отримати доступ до диска RamDisk з облікового запису користувача, який не використовується адміністратором у Windows XP


0

Мені успішно вдається створити / отримати доступ до дискового диску Ram об'ємом 20 Мб за допомогою зразка RAMDISK у WinDDK за допомогою мого облікового запису адміністратора.

Однак, коли я входжу як користувач без адміністрування на одній машині, я отримую помилку в доступі, заборонену при подвійному клацанні на той же диск Ram, щоб отримати доступ до нього. Будь-хто тут може розповісти, як надати доступ до цього диска всім користувачам.


Клацніть правою кнопкою миші, властивості, дозволи та шукайте спосіб надання привілеїв облікового запису користувача?
sarnold

Це насправді не питання програмування. Під час входу в систему як адміністратор додайте дозволи користувачеві, якого ви бажаєте, для необхідного рівня доступу. Клацніть правою кнопкою миші-Властивості-Безпека

AJG85, так, диск RamDisk створюється програмно за допомогою зразкового коду. Які параметри потрібно встановити в коді, щоб надати доступ до облікових записів, які не є адміністраторами ?? BTW, коли я, коли я клацаю правою кнопкою миші на цьому диску, немає такої вкладки / кнопки, як безпека. Я намагався додати дозволи на тестовий обліковий запис, який не використовується адміністратором, клацніть правою кнопкою миші>> вкладку Обмін-> дозвіл-> Додати-> Тест, але вона все ще дає мені помилку "доступ заборонено".

Відповіді:


1

Я не уявляю, чому Microsoft випустить зразок ramdisk, не встановивши його дозволів, але вони це зробили ... тож він за замовчуванням використовував дозволи лише для адміністратора.

Вам потрібно буде зателефонувати WdfDeviceInitAssignSDDLString () зсередини RamDiskEvtDeviceAdd (), після виклику до WdfDeviceInitAssignName () та перед викликом до WdfDeviceCreate (). Зауважте, що ця функція доступна лише в тому випадку, якщо ви посилаєтесь на файл wdmsec.lib, який потрібно буде додати до файлу "джерела". І, ймовірно, ви хочете використовувати один з рядків визначення ACL у wdmsec.h, хоча ви можете написати свій власний, якщо ви хочете дізнатися його структуру.

Інша проблема з драйвером зразка Microsoft ramdisk полягає в тому, що він не працюватиме понад 32 Мб (дійсно, він буде працювати лише до 31,99 МБ), оскільки код не обробляє переповнення 16-бітного bootSector-> bsSectors; виходячи із загального сектору 0x0000FFFF, слід встановити bootSector-> bsSectors до нуля і використовувати замість цього 32-бітний bootSector-> bsHugeSectors.

Зауважте, що після виправлення проблеми bootSector-> bsHugeSectors, ви налаштовуєте себе на те, щоб вичерпати пам'ять ядра непропанованого ядра, якщо ви не обережні ... хоча у більшості випадків ви безпечні до 96 Мб, оскільки в більшості (сучасні) випадків, коли у вашій системі WinXP доступно 128 МБ пам'яті непрогранованого ядра. Просто не забувайте, що ваш драйвер ramdisk - це не єдине, що використовує пул, що не використовується на сторінці.


0

Нижче я знайшов зразок, розміщений на веб-сайті підтримки Microsoft, який створює диск Ramdisk, доступ до якого можна отримати через облікові записи не адміністраторів. Він працює на 2000, xp, win7. Гавент приміряв Vista. http://support.microsoft.com/kb/257405

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.