Операции с правами др. пользователя

Здесь можно оставить пожелание относительно функций, которых в программе нет, но которые вам хотелось бы в ней видеть.

Модератор: motyara

Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Правильно ли я понимаю, речь о запуске дополнительной копии с правами администратора? (я уже давно добавил возможность запустить вторую копию от имени другой учетной записи, запрос выдается при попытке входа в каталог на который нет доступа, например в "System Volume Information") Мне немного непонятно как через манифест или RunAs поднять права до уровня администраторских у текущей копии программы...
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm
Контактная информация:

Re: Операции с правами др. пользователя

Сообщение Alex »

у текущей не поднимешь. поднимешь только у *admin.exe.
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

TC каким-то образом повышает права у текущей копии (причем делает это каким-то образом через TCMADMIN.EXE), чтобы увидеть это в действии нужно попробовать зайти из-под пользовательской учетной записи в каталог, доступ к которому разрешен только из-под администраторской. То есть технически это как-то реализуемо (и в интернете упоминается о том что реализуемо), но технику эту мне найти пока что не удалось...
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm
Контактная информация:

Re: Операции с правами др. пользователя

Сообщение Alex »

может он дает tcmadmin-у каталог и тот через pipe возвращает
сод. каталога?( Гислер использует именно pipe)
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Хм... действительно, если посмотреть в процессах, то можно увидеть что текущая копия все еще запущена из-под пользовательской учетной записи. Должен признать, что используемый способ весьма необычный (ведь он позволяет и копирование тоже, а не только чтение списка).
balance
Сообщения: 6
Зарегистрирован: Пт июн 18, 2010 7:19 pm
Откуда: Новосибирск
Контактная информация:

Re: Операции с правами др. пользователя

Сообщение balance »

Процесс нужен отдельный - это абсолютно точно. Нужно реализовать безопасное общение между процессами. Вариантов масса: pipe, tcp, банальные файлы. В java красиво подходит для этого RMI. Только нужно хорошо продумать систему безопасности, проверять pid-ы, проверять корректность операции. Минус такого подхода - надо переносить всю GUI-ню этому процессу или реализовать возможность получения информации о состоянии процесса(для прогресс-бара например).

Есть альтернативный вариант: запуск с передачей аргументов процессу (char** argv), но тогда процесс не сможет висеть демоном и его придётся каждый раз запускать(что будет каждый раз доставлять юзера постоянными требованиями ввести пароль)
balance
Сообщения: 6
Зарегистрирован: Пт июн 18, 2010 7:19 pm
Откуда: Новосибирск
Контактная информация:

Re: Операции с правами др. пользователя

Сообщение balance »

Кстати 64-битное контекстное меню в TC тоже вынесено в отдельный процесс))) Зато не приходится перекомпиливать всё остальное
Закрыто