Операции с правами др. пользователя
Модератор: motyara
- Max Diesel
- Автор программы
- Сообщения: 3431
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
- Контактная информация:
Правильно ли я понимаю, речь о запуске дополнительной копии с правами администратора? (я уже давно добавил возможность запустить вторую копию от имени другой учетной записи, запрос выдается при попытке входа в каталог на который нет доступа, например в "System Volume Information") Мне немного непонятно как через манифест или RunAs поднять права до уровня администраторских у текущей копии программы...
Re: Операции с правами др. пользователя
у текущей не поднимешь. поднимешь только у *admin.exe.
- Max Diesel
- Автор программы
- Сообщения: 3431
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
- Контактная информация:
TC каким-то образом повышает права у текущей копии (причем делает это каким-то образом через TCMADMIN.EXE), чтобы увидеть это в действии нужно попробовать зайти из-под пользовательской учетной записи в каталог, доступ к которому разрешен только из-под администраторской. То есть технически это как-то реализуемо (и в интернете упоминается о том что реализуемо), но технику эту мне найти пока что не удалось...
Re: Операции с правами др. пользователя
может он дает tcmadmin-у каталог и тот через pipe возвращает
сод. каталога?( Гислер использует именно pipe)
сод. каталога?( Гислер использует именно pipe)
- Max Diesel
- Автор программы
- Сообщения: 3431
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
- Контактная информация:
-
- Сообщения: 6
- Зарегистрирован: Пт июн 18, 2010 7:19 pm
- Откуда: Новосибирск
- Контактная информация:
Re: Операции с правами др. пользователя
Процесс нужен отдельный - это абсолютно точно. Нужно реализовать безопасное общение между процессами. Вариантов масса: pipe, tcp, банальные файлы. В java красиво подходит для этого RMI. Только нужно хорошо продумать систему безопасности, проверять pid-ы, проверять корректность операции. Минус такого подхода - надо переносить всю GUI-ню этому процессу или реализовать возможность получения информации о состоянии процесса(для прогресс-бара например).
Есть альтернативный вариант: запуск с передачей аргументов процессу (char** argv), но тогда процесс не сможет висеть демоном и его придётся каждый раз запускать(что будет каждый раз доставлять юзера постоянными требованиями ввести пароль)
Есть альтернативный вариант: запуск с передачей аргументов процессу (char** argv), но тогда процесс не сможет висеть демоном и его придётся каждый раз запускать(что будет каждый раз доставлять юзера постоянными требованиями ввести пароль)
-
- Сообщения: 6
- Зарегистрирован: Пт июн 18, 2010 7:19 pm
- Откуда: Новосибирск
- Контактная информация:
Re: Операции с правами др. пользователя
Кстати 64-битное контекстное меню в TC тоже вынесено в отдельный процесс))) Зато не приходится перекомпиливать всё остальное