:: Visual Foxpro, Foxpro for DOS
Как дать фоксу больше привелегий, чем локальному пользователю ?
Tesla

Сообщений: 8
Дата регистрации: 05.05.2018
Приветсвую! Есть VFP9 и юзеры с шаловливыми ручёнками. Решено порезать им права к некоторым папкам, в которых трудится программа на фоксе. Знаю, что SQL Express 2005 при установке создаёт группу SQLServer2005MSSQLUser$MyComp$MSSQLSERVER, с помощью которой MSSQLSERVER, т.е. службе, можно разрешить то, чего можно запретить локальным пользователям. Вобщем, хочу польностью закрыть доступ для юзера, но чтобы фокс мог работать свободно.

Прошу поделиться опытом



Исправлено 1 раз(а). Последнее : Tesla, 05.05.18 11:45
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Не понял, причем тут еще и MS SQL... но можно запускать фоксовую прогу под другим, специальным юзером (примерно как "Запустить от имени администратора"), и только этому юзеру и дать нужные права записи/чтения на папки... Как незаметно запускать прогу под другим юзером - хз, может "манифест" какой поможет, может запускать из .HTA ...
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
Tesla

Сообщений: 8
Дата регистрации: 05.05.2018
of63
Не понял, причем тут еще и MS SQL...
это как пример. Может быть и из фокса можно сделать службу...
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
Божья_коровка

Сообщений: 25731
Дата регистрации: 23.08.2001
Глупая возможно идея, а если юзерам просто скрыть эти папки? Они их видеть не будут и соответственно не полезут туда ручками....


------------------
Жись, она как зёбра, полоса белая, полоса черная, а мне всегда задница достается...
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
Tesla

Сообщений: 8
Дата регистрации: 05.05.2018
Божья_коровка
Глупая возможно идея, а если юзерам просто скрыть эти папки? Они их видеть не будут и соответственно не полезут туда ручками....
Больше скажу, я даже локальный диск скрыл, но спокойнее мне от этого не стало, так как: ПКМ-Свойства-Расположение объекта

пока попробую совет товарща of63 с запуском от имени администратора
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Службу то можно сделать - при помощи древней утилитки srvany из виндового ResKit
support.microsoft.com
Но толку от неё будет всего чуть.
Во-первых служба это не визуальная компонента - т.е. даже если какую логику в неё и понапихать, то всё одно придётся делать "обычную" программу, которая через эту службу будет что-то делать, и в которой и будут всякие там меню/формы/отчёты и т.п.
Во-вторых на фоксе проблематично написать достаточно надёжную программу, чтобы запускать её "как сервис" - ну точнее попарится придётся и с обработкой ошибок, и с "перезапусками" этой самой службы, да и в любом случае запуск её через srvany это уже кривоватый "костыль". Это не говоря уж про организацию IPC (межпроцессного взаимодействия - между визуальной частью и этим самым "сервисом").

Запуск от имени другого пользователя - это возможно, но по большому счёту бессмысленно, т.к. потребует либо вводить пароль этого "другого пользователя" (и что тогда помешает под ним же просто зайти на машину), либо так или иначе этот пароль включать в исполняемый код (скажем в какой батник, пусть и "шифруемый" одной из утилит). Кроме того есть куча мест в самом ПО, где потенциально пользователь может получить доступ к системе. Скажем тривиальный диалог выбора файла - по сути из него можно что угодно проделать - файлы скопировать/удалить/переименовать, даже запустит чего-нить на исполнение - и всё от имени того пользователя под которым работает программа.

Хорошей практикой будет:
1) Не ограничивать пользователя сверх обычного, даже "штатного для винды" (правда речь пойдёт всё же о Win7+ а не антиквариате типа XP) набора прав - т.е. не прятать диски, не ставить всякое убогое "закрывающее всё-всё-всё" ПО. По умолчанию у непривилегированного пользователя и так не очень то много прав - установить постороннее ПО он не сможет, залезть в системные папки, да даже в тот же "Program Files" - тоже. На "чужие" для него "обычные папки" вполне можно и забрать права даже на просмотр (да хоть и на весь диск D: или там E: - вот системный трогать не стоит, ну или очень чётко понимать последствия любого вносимого изменения в права), а в "своих" - пусть делает что пожелает. Можно настроить дисковые квоты, если машина "многопользовательская", и надо не дать одному юзеру зас..нять всё место своими файлами, ограничив тем самым других.
2) Критически важное ПО переписать на работу с каким-либо SQL сервером (удаление exe-файла самой проги лечится элементарно, а "удалить всю БД" уже никак не получится у юзера), или хотя-бы переместить с клиентских машин на терминальный сервер (правда это не самое дешёвое удовольствие - если не воровать, конечно, а легально всё делать).


------------------
WBR, Igor




Исправлено 1 раз(а). Последнее : Igor Korolyov, 05.05.18 17:14
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
youtu.be ) О "сложно"
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
Penner

Сообщений: 4102
Откуда: Muenster
Дата регистрации: 26.04.2002
делали такое лет 15/20 назад
создавали на каждом компъютере ползователя db_user$
написали программу db_start.exe, которая запускала нашу программу под пользоцателем db_user$


------------------
Никогда не откладывайте на завтра, то, о чем можно забыть навсегда
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
Tesla

Сообщений: 8
Дата регистрации: 05.05.2018
Penner
делали такое лет 15/20 назад
создавали на каждом компъютере ползователя db_user$
написали программу db_start.exe, которая запускала нашу программу под пользоцателем db_user$


виндовая runas тоже такое умеет, но вот только столкнулся с тем, что при запуске рабочий каталог для программы сменился на System32.0_о
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
of63

Сообщений: 25244
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
youtu.be - Шисгарес
youtu.be
Что за проблемы, " рабочий каталог не тот... ну SYS(16) есть конечно, но в это "дерьме" реально же разобраться?, не спрашивая ребят в впустую" ...



Исправлено 1 раз(а). Последнее : of63, 09.05.18 01:44
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Tesla
Приветсвую! Есть VFP9 и юзеры с шаловливыми ручёнками. Решено порезать им права к некоторым папкам, в которых трудится программа на фоксе. Знаю, что SQL Express 2005 при установке создаёт группу SQLServer2005MSSQLUser$MyComp$MSSQLSERVER, с помощью которой MSSQLSERVER, т.е. службе, можно разрешить то, чего можно запретить локальным пользователям. Вобщем, хочу польностью закрыть доступ для юзера, но чтобы фокс мог работать свободно.
Прошу поделиться опытом

Была статья: forum.foxclub.ru Возможно чем-то пригодится.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
Tesla

Сообщений: 8
Дата регистрации: 05.05.2018
Crispy
Была статья: forum.foxclub.ru Возможно чем-то пригодится.
Благодарю! Поизучаю...
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
_vit
Автор

Сообщений: 5175
Дата регистрации: 29.07.2002
#define LOGON32_PROVIDER_DEFAULT 0
#define LOGON32_LOGON_INTERACTIVE 2
#define LOGON32_LOGON_NETWORK 3
#define LOGON32_LOGON_BATCH 4
#define LOGON32_LOGON_SERVICE 5
#define LOGON32_LOGON_UNLOCK 7
DECLARE integer LogonUser IN AdvApi32.DLL;
string szUsername,;
string lpszDomain,;
string lpszPassword,;
integer dwLogonType,;
integer dwLogonProvider,;
integer @phToken
DECLARE integer ImpersonateLoggedOnUser IN AdvApi32.DLL integer hToken
DECLARE integer RevertToSelf IN AdvApi32.DLL
local nToken
nToken = 0
? LogonUser("username","domain","password",LOGON32_LOGON_INTERACTIVE, LOGON32_PROVIDER_DEFAULT, @nToken)
? nToken
? ImpersonateLoggedOnUser(nToken)
* Access will be granted, you are accessing the dbf as domain\user
USE "\\server\share\secret file.dbf"
? RevertToSelf()
* Now access will be denied, you are accessing the dbf as the currently user logged on at the computer's console.
MODIFY FILE "\\server\share\secret file.dbf"


fox.wikis.com
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Там были вопросы с правами требуемыми для "начального" пользователя - под Win2K по сути нужны были админские права чтобы это всё работало. Может быть на современных ОС что-то изменилось в лучшую сторону... В любом случае остаются 2 проблемы:
- Хранение пароля в теле программы (т.е. нужно шифрование и защита от декомпиляции).
- Работа в контексте другого пользователя - одно дело кратковременно переключится, взять данные из "закрытого" хранилища и вернуться назад (хотя и там есть нюансы - нужен адекватный обработчик ошибок и SET TABLEPROMPT OFF) - и совсем другое постоянно работать от имени другого пользователя. Т.к. любая ошибка приводящая к диалогу выбора файла (типа файл не найден/не доступен), не говоря уж о явном вызове такого диалога, позволяет натворить дел от имени "секретного" пользователя.


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Как дать фоксу больше привелегий, чем локальному пользователю ?
_vit
Автор

Сообщений: 5175
Дата регистрации: 29.07.2002
Понятно что ВСЕ решения имеют какие-то достоинства и недостатки.
Наше дело дать пищу для ума а выбор остается за ТС. ;)
Ratings: 0 negative/1 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 41 (Гостей: 41)

© 2000-2024 Fox Club 
Яндекс.Метрика