Автор | Сообщение |
|
| |
Пост N: 268
Зарегистрирован: 17.06.10
|
|
Отправлено: 30.01.15 14:54. Заголовок: Видимость папки
На сервере MS 2012 есть папка. Одни юзеры могут ее видеть и править в ней файлы. Другие эту папку не видят(или не могут править), но на их компах запускается прога, которая берет инфу из этой папки. Можно запаролить папку. Из проги открывать доступ к ней через netuse() Одна после этого папка становится доступной этому юзеру - изменяй/удаляй Каким путем можно разрешить данную прблемку ?
|
|
|
Ответов - 22
, стр:
1
2
All
[только новые]
|
|
|
| |
Пост N: 4442
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.01.15 15:07. Заголовок: netredir не поможет ..
netredir не поможет ? 1. Сперва подключаешь 2. Считал инфу 3. А вот тут не проверял. Делаешь повторное подключение но с неверным паролем. Поиграться надо. fil пишет: Это из какой оперы ? Не нашел такой функции в Harbour PS У себя в проге аналогичную папку сделал с атрибутом Скрытая
|
|
|
|
| |
Пост N: 269
Зарегистрирован: 17.06.10
|
|
Отправлено: 30.01.15 15:16. Заголовок: Ну.. на самом деле n..
Ну.. на самом деле net use Эт я под FW, случайно
|
|
|
|
| |
Пост N: 270
Зарегистрирован: 17.06.10
|
|
Отправлено: 30.01.15 15:21. Заголовок: Ну это если у юзера ..
Ну это если у юзера не стоит "Показывать скрытые файлы папки"
|
|
|
|
| |
Пост N: 4443
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.01.15 15:26. Заголовок: fil пишет: Ну это е..
fil пишет: цитата: | Ну это если у юзера не стоит "Показывать скрытые файлы папки" |
| Эт я не правильно выразился. Писал о скрытом сетевом ресурсе. Что касается Net Use то он может не только подключать но и отключать.
|
|
|
|
| |
Пост N: 271
Зарегистрирован: 17.06.10
|
|
Отправлено: 30.01.15 15:51. Заголовок: Да, скрытый сетевой ..
Да, скрытый сетевой ресурс это мысль. Только Total Commander (ежели таковой присутствует) надо будет глушить. Хотя может еще какие проги видят скрытые ресурсы
|
|
|
|
| |
Пост N: 425
Зарегистрирован: 20.02.11
|
|
Отправлено: 30.01.15 16:24. Заголовок: Есть вариант запуска..
Есть вариант запуска программы от имени другого пользователя , которому эта папака видна по сетевым настройкам. Локальный пользователь на компе останется при своих правах и папку не увидит. Вариантов запуска от имени другого пользователя в гугле мульён описано ) , я когда-то специальный запускатор писал , в нем не больше пяти строк кода было, а в самой программе - проверка от нужного пользователя запуск или нет.
|
|
|
|
| |
Пост N: 4444
Зарегистрирован: 17.05.05
|
|
Отправлено: 30.01.15 17:01. Заголовок: Haz :sm36: Хороший..
Haz Хороший вариант.
|
|
|
|
| |
Пост N: 272
Зарегистрирован: 17.06.10
|
|
Отправлено: 30.01.15 23:06. Заголовок: Да, простенько и со ..
Да, простенько и со вкусом.. Спасибо Haz
|
|
|
|
| |
Пост N: 426
Зарегистрирован: 20.02.11
|
|
Отправлено: 31.01.15 11:22. Заголовок: На форуме здксь Паша..
|
|
|
|
| |
Пост N: 4446
Зарегистрирован: 17.05.05
|
|
Отправлено: 31.01.15 23:59. Заголовок: Haz пишет: На фору..
Haz пишет: цитата: | На форуме здесь Петр выкладывал Исходник запуска от другого пользователя . |
| Игорь ты что то меня запутал ;) То Павел выкладывал то Пётр. Где же истина ? ;) Если есть правильный исходник , выложи пожалуйста. Лично я потерялся
|
|
|
|
| |
Пост N: 427
Зарегистрирован: 20.02.11
|
|
Отправлено: 01.02.15 10:45. Заголовок: Dima пишет: То Паве..
Dima пишет: цитата: | То Павел выкладывал то Пётр. |
| Да я сам запутался . Давно было, казалось Паша тогда помогал кому то решать проблемку. Еле нашел и оказалось не Паша а Петр Исходник рабочий вот, только вторым параметром в CreateProcessWithLogonW имя домена указывал function Main() ? cccc("notepad.exe") return nil #pragma BEGINDUMP #define UNICODE #define _WIN32_WINNT 0x0500 #include "windows.h" #include "hbapi.h" HB_FUNC( CCCC ) { wchar_t * szMsg; PROCESS_INFORMATION ProcInfo = {0}; STARTUPINFOW StartInfo = {0}; StartInfo.cb = sizeof(STARTUPINFOW); szMsg = hb_mbtowc( (const char *) hb_parc(1) ); //MessageBox( GetActiveWindow(), szMsg, L"Info", 0x40 ); hb_retni( CreateProcessWithLogonW(L"adm0n", L".", L"password", 1, NULL, szMsg, CREATE_DEFAULT_ERROR_MODE|CREATE_NEW_CONSOLE, NULL, NULL, &StartInfo, &ProcInfo) ); hb_xfree( (void *) szMsg ); } #pragma ENDDUMP
|
|
|
|
|
| |
Пост N: 4447
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.02.15 11:37. Заголовок: Haz Спасибо !..
Haz Спасибо !
|
|
|
|
| |
Пост N: 273
Зарегистрирован: 17.06.10
|
|
Отправлено: 02.02.15 14:33. Заголовок: Процесс создался А к..
Процесс создался А как его визуализировать ?
|
|
|
|
| |
Пост N: 437
Зарегистрирован: 20.02.11
|
|
Отправлено: 02.02.15 15:27. Заголовок: fil пишет: Процесс ..
fil пишет: цитата: | Процесс создался А как его визуализировать |
| Этот процесс - запуск внешнего приложения. Либо запускается либо нет. Мы тут говорили о том что можно сделать загрузчик для программы , который ее запускает по именем пользователя которому видны нужные папки в сети. Приведенный пример просто запускает внешнюю программу под указанным пользователем. Fil не совсем понял провизуализацию Можно напрячься и написать подобный загрузчик функции в отдельном потоке и с правами нужного пользователя , но там возможны трудности с видимостью рабочих областей и прочего. Проще всю задачу с правами запускать
|
|
|
|
| |
Пост N: 438
Зарегистрирован: 20.02.11
|
|
Отправлено: 02.02.15 15:38. Заголовок: Fil идея в том, чт..
Fil идея в том, чтобы твою задачу запускать от имени пользователя которому видна нужная папка , при том что за компом ее запускает пользователь которому ее не видно. 1 Пишем загрузчик для твоей программы и из него запускаем твою программу скажем под "админом" 2 в твоей программе первыми строками делаем проверку если GetUseerName() <> "админ" то сообщаем что нужно запускать загрузчик и выходим таким образом и папка видна из программы будет и пользователь компа туда не залезет и программа работает только с правами нужного пользователя
|
|
|
|
| |
Пост N: 274
Зарегистрирован: 17.06.10
|
|
Отправлено: 02.02.15 17:00. Заголовок: Я понимал это так, ч..
Я понимал это так, что через загрузчика пользователь запускает мою прогу. Работает в ней с инфой в нужных папках. Но при этом если он залезет в какой-нить Total Commander, то этих папок не увидит. Вот я и спросил про визуализацию notepad.exe (поскоку он используется для примера). Ну висит он как процесс, а работать в нем как ? Хотя, скорее, не догоняю я
|
|
|
|
| постоянный участник
|
Пост N: 1022
Зарегистрирован: 27.01.07
|
|
Отправлено: 02.02.15 17:20. Заголовок: fil пишет: Ну висит..
fil пишет: цитата: | Ну висит он как процесс, а работать в нем как ? |
| Если он запущен от имени другого пользователя, то никак. В сеансе текущего пользователя он не будет отображаться.
|
|
|
|
| |
Пост N: 439
Зарегистрирован: 20.02.11
|
|
Отправлено: 02.02.15 18:07. Заголовок: PSP пишет: Если он ..
PSP пишет: цитата: | Если он запущен от имени другого пользователя, то никак. |
| а вот тут действительно облом ... Даже от админа не будет отображаться ? PS на локальном компе без сети запустил от имени админа - и вижу его
|
|
|
|
| постоянный участник
|
Пост N: 1023
Зарегистрирован: 27.01.07
|
|
Отправлено: 02.02.15 18:25. Заголовок: Haz пишет: PS на ло..
Haz пишет: цитата: | PS на локальном компе без сети запустил от имени админа - и вижу его |
| Да, странно. Надо разобраться.
|
|
|
|
| |
Пост N: 440
Зарегистрирован: 20.02.11
|
|
Отправлено: 02.02.15 18:35. Заголовок: PSP пишет: Надо ра..
PSP пишет: Скорее всего действительно надо разбираться. Функция CreateProcessWithLogonW имеет два флага запуска BOOL CreateProcessWithLogonW( LPCWSTR lpUsername, // имя пользователя LPCWSTR lpDomain, // домен пользователя LPCWSTR lpPassword, // пароль пользователя DWORD dwLogonFlags, // опция входа в сеть LPCWSTR lpApplicationName, // имя исполняемого модуля LPWSTR lpCommandLine , // командная строка DWORD dwCreationFlags, // флажки создания LPVOID lpEnvironment, // блок новой конфигурации LPCWSTR lpCurrentDirectory, // имя текущей папки LPSTARTUPINFOW lpStartupInfo, // информация предустановки LPPROCESS_INFORMATION lpProcessInfo // информация о процессе ); первый определяет будет ли грузиться профиль пользователя , второй - наследование консоли может в них проблема. Тут без бутылки не понять , но ведь работает же в винде " запуск от имени администротора" - с Shift который по ярлыку и запускаемый процесс виден в сеансе текущего пользователя.
|
|
|
|
| |
Пост N: 275
Зарегистрирован: 17.06.10
|
|
Отправлено: 02.02.15 23:04. Заголовок: Можно, видимо, так ..
Можно, видимо, так oShell:= CreateObject("Shell.Application") oShell:ShellExecute ("E:\demo\batchScript.cmd", "", "", "runas", 1)
|
|
|
|
|
| |
Пост N: 441
Зарегистрирован: 20.02.11
|
|
Отправлено: 03.02.15 10:42. Заголовок: fil пишет: oShell:S..
fil пишет: цитата: | oShell:ShellExecute ("E:\demo\batchScript.cmd", "", "", "runas", 1) |
| Это тоже самое , что использовать виндовую утилиту RunAs.exe. Также будет запрос на ввод пароля и выбор пользователя. Попробуй кстати через нее, но в XP она пароль не запоминает вроде. PS. а если через CreateProcessWithLogonW() notepаd.exe под своей учеткой запустить - процесс виден ? PPS. Запускаемый процесс должен быть виден. от сюда http://vsokovikov.narod.ru/New_MSDN_API/Process_thread/str_startupinfo.htm " Для функции CreateProcessWithLogonW, если lpDesktop имеет значение ПУСТО (NULL) или он пустая строка, новый процесс наследует рабочий стол и оконный терминал своего родительского процесса. а в исходнике sInfo.lpDesktop не переопределялся
|
|
|
Ответов - 22
, стр:
1
2
All
[только новые]
|
|