1 (изменено: wildwolf007, 2014-04-20 14:15:43)

Тема: HTA+VBS: Расшаривание ресурса по запросу

Существует домен и в этом домене работает очень много пользователей. Иногда существует необходимость пользователям передавать в наш отдел файлики достаточно большого объема это бывает разовая необходимость и постоянно открывать или закрывать сетевые ресурсы немного проблематично.

Появилась идея реализовать HTA приложение при помощи которого бы пользователь мог выкладывать файлы.

Теперь алгоритм:
1) Пользователь запускает HTA форму и вбивает свою почту происходит windows - аутентификация.
2) При помощи формы выбирает файл который нужно передать.
3) Нажимает на кнопку передать.
4) Формируется запрос на сервер то, что пользователь с логином таким-то хочет передать файл размера такого-то.
5) На специальном ресурсе создается каталог с именем логина открывается доступ к данному каталогу для данного пользователя и копируется файл и формируется ссылка.
6) Приходит уведомление по outlook о том, что такой-то такой-то пользователь передал такой-то файл по данной ссылке. Т.к. я являюсь владельцем данного ресурса у меня будет доступ открыт и я смогу забрать данный файл.
7) После того как забрал пользователю приходит уведомление, о том, что файл передан.

Возникают следующие вопросы:
1) Как принять запрос от пользователя?
2) Как организовать что б не было проблем с безопасностью (всевозможный злоумышленник который что-то захочет поломать).
3) Ну и если кто знает какие необходимы библиотеки использовать для организации данной логики?


Ну и вообще кто что сможет посоветовать?

2

Re: HTA+VBS: Расшаривание ресурса по запросу

wildwolf007, не проще ли использовать для этого один единый ресурс?

3 (изменено: wildwolf007, 2014-04-20 19:30:18)

Re: HTA+VBS: Расшаривание ресурса по запросу

Тогда все будут видеть содержимое файлов. Это не есть хорошо.

4

Re: HTA+VBS: Расшаривание ресурса по запросу

А что вам мешает использовать внутреннюю почту? Работать с smtp внутри сети никаких проблем нет.

5

Re: HTA+VBS: Расшаривание ресурса по запросу

Иногда существует необходимость пользователям передавать в наш отдел файлики достаточно большого объема это бывает разовая необходимость и постоянно открывать или закрывать сетевые ресурсы немного проблематично.

6

Re: HTA+VBS: Расшаривание ресурса по запросу

Товарищи неужели нет никаких идей ? А то, руководство поставила задачу сделать и ограничило в сроках...

Алгоритм прост: большой файлик -> форма для отправки запроса с  -> открытие доступа для данного пользователя и выкладывание файлика.

Хотя б просто идеи как это лучше сделать...

7

Re: HTA+VBS: Расшаривание ресурса по запросу

Ну какие сложности? Создайте интранет, поднимите cms и заливайте файлики.

8

Re: HTA+VBS: Расшаривание ресурса по запросу

JSman А вы не могли немного подробней рассказать?

9 (изменено: dab00, 2014-04-26 16:46:01)

Re: HTA+VBS: Расшаривание ресурса по запросу

Если не исключаете возможность использования Node.js, то загрузку файлов можно решить так:
- на express + multer - пример
-- git clone https://github.com/jonjenkins/express-upload.git
-- cd express-upload
-- npm install
-- node server
- на formidable - пример
В первом варианте приложение висит на 3000-м порту, во втором - на 8080.
Аутентификацию прикрутить не проблема. Удачи.

10

Re: HTA+VBS: Расшаривание ресурса по запросу

wildwolf007, ПМСМ, Вы что-то странное делаете. Расшаривание сетевых ресурсов в домене очень хорошо продумано и изобретать "велосипед", а потом беспокоиться о его безопасности не логично как-то. Непонятно зачем вообще убирать шаринг. Когда нужно - тогда юзер и зальёт файлы. К тому же можно шаринг делать и на компе самого юзера. Если есть проблема подмены файлов, то можно в каталоге запретить удаление и изменение. Тогда скинув файлы один раз юзер уже не сможет их изменить или удалить, пока Вы их не уберёте из каталога.

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

11

Re: HTA+VBS: Расшаривание ресурса по запросу

Xameleon самое главное если создавать один ресурс при любых настройках в домене пользователи смогут видеть файлы других пользователей, что не допустимо в этом и проблема. Можно настроить все при помощи разных каталогов и групп, но муторно открывать каждому пользователю и закрывать потом ручками.

Как все организовывать примерно придумал как доделаю выложу на обсуждение. Остался единственный вопрос:

Как открыть сетевой доступ при помощи vbs с полными правами для "Folder_1" на сервере \\master\usersprofile\Folder_1 для сетевых пользователей домена с логинами Login1 и Login2.

Соответственно в итоге должно получиться, что только Login1 и Login2 могут читать содержимое каталога \\master\usersprofile\Folder_1 все остальные не смогут его читать ни записывать.

12

Re: HTA+VBS: Расшаривание ресурса по запросу

wildwolf007 Вот опять же - Зачем закрывать ? Для каждой группы или для каждого пользователя делаете свой каталог и разрешаете просмотр и изменение. Другие пользователи содержимое не увидят. И есть скрипты для автоматического программного расшаривания каталогов с нужными параметрами... Зачем городить ???

Передумал переделывать мир. Пашет и так, ну и ладно. Сделаю лучше свой !

13

Re: HTA+VBS: Расшаривание ресурса по запросу

Что б не заморачиваться что б открывать ресурс для данного пользователя. Пользователь запустил НТА и открылся доступ для него. И не нужно заходить и открывать для него доступ администратору. Соответственно получается ресурс открывается для него в автомате, а со стороны сервера все доступы и так будут. В принципе доступ можно будет и не забирать.
Мне нужна только команда при помощи которой для данного пользователя можно расшарить папку только для одного пользователя.

14

Re: HTA+VBS: Расшаривание ресурса по запросу

Подскажите, эта задача академическая, т.е. именно так, а не иначе, или нужно решение проблемы любым способом? (перефразируя, "Вам шашечки или ехать")
Я сам время от времени страдаю зацикливанием на своей идее, хотя решение бывает намного элегантнее.
Если вам всё-таки "ехать", то я бы рекомендовал один каталог с настроенными ACL. В частности, у пользователя есть возможность создать и удалить папку, но он не может видеть содержимое не своих папок. Из минусов - это обычно приводит к помойке и бардаку на шаре. Но если она темповая, то можно и чистить автоматом, скажем, раз в месяц.
Есть и другие варианты.
По вашей задаче ответить не смогу.

"Единство,- возвестил оракул наших дней: -
Быть может спаяно железом лишь и кровью"…
Но мы попробуем спаять его любовью,-
А там увидим, что прочней…    (Ф. Тютчев)       Тут хорошая справка по vbs.

15

Re: HTA+VBS: Расшаривание ресурса по запросу

wildwolf007 пишет:

Мне нужна только команда при помощи которой для данного пользователя можно расшарить папку только для одного пользователя.

net share /?

net share %username%$=D:\share\%username% /GRANT:%username%,CHANGE

"Единство,- возвестил оракул наших дней: -
Быть может спаяно железом лишь и кровью"…
Но мы попробуем спаять его любовью,-
А там увидим, что прочней…    (Ф. Тютчев)       Тут хорошая справка по vbs.

16

Re: HTA+VBS: Расшаривание ресурса по запросу

Правильно ли я понял для папки "D:\share\" в безопасности можем добавить полные права для всех, но расшарить только папку пользователя ?

Верно?

И получается пока папка для пользователя не будет расшарена никто ничего не сможет увидеть. Если так, то это то что нужно.  А уж подружить VBS, HTA и Bath тут не проблема.

17

Re: HTA+VBS: Расшаривание ресурса по запросу

wildwolf007 пишет:

Правильно ли я понял для папки "D:\share\" в безопасности можем добавить полные права для всех, но расшарить только папку пользователя ?

Да

"Единство,- возвестил оракул наших дней: -
Быть может спаяно железом лишь и кровью"…
Но мы попробуем спаять его любовью,-
А там увидим, что прочней…    (Ф. Тютчев)       Тут хорошая справка по vbs.

18 (изменено: BeS Yara, 2014-05-30 12:49:27)

Re: HTA+VBS: Расшаривание ресурса по запросу

Что-то подобное(по структуре) использую для бэкапов документов пользователей(через кобиан). Сделал общую папку со следующими правами(на уровне NTFS):

1. Администраторы - "для этой папки, её подпапок и файлов", полный доступ
2. Пользователи Домена - "только для этой папки"

  • Траверс папок/выполнение файлов

  • Содержание папки/чтение данных

  • Чтение атрибутов

  • Чтение дополнительных атрибутов

  • Создание папки/дозапись данных

3. СОЗДАТЕЛЬ-ВЛАДЕЛЕЦ - "для подпапок и файлов", полный доступ

Подпапки вида HOSTNAME@USER.NAME создаются автоматом(через подстановочные макросы), просмотреть папки может только создавший их пользователь, или члены админ-группы.

Таким образом ваша HTA-шка пусть просто кидает нужный файл по пути \\server\exchfolder\%username%, при необходимости(когда копируется впервые, например) создавая папку, а уж она создастся с нужными привелегиями.

Т.о. из  вашего списка-алгоритма, остаётся п.1-3(в п.3 копируем файл через fso) и отправка уведомления(п.6) через CDO.Message.

P.S. возможно что-то из второго пункта можно убрать - помню встречал реализацию когда в папку нельзя было войти, но можно было сбросить туда файл(перетащив его на папку мышкой). Но мне вполне хватает текущей реализации, да и общий ресурс скрытый, т.е. подавляющее число моих пользователей, если не все, просто не смогут туда сами попасть(для них и на обычную шару зайти проблема, если вдруг ярлык с рабочего стола пропал ).
P.P.S. права на уровне общего ресурса можно сделать "полный доступ" для авторизованных пользователей, можно "для всех" - права доступа формируются по самому жесткому ограничению из двух(share/NTFS).

19

Re: HTA+VBS: Расшаривание ресурса по запросу

BeS Yara

Обалденное решение у меня нет слов. Я уже думал поднимать web сервер что б принимать запросы от пользователей, а тут такое элегантное решение без костылей.

Просто супер!!!!!!!!!!! Завтра пойду настраиваться и тестить!



BeS Yara:

Подпапки вида HOSTNAME@USER.NAME создаются автоматом(через подстановочные макросы)

Вопрос что за подстановочные макросы ? И как определить автоматом адрес данного пользователя который создал папку ?

Пробовал использовать CDO.Message в нете нашел код подстроил под доменную сеть на работе, но почему-то пишет ошибку на строке objMessage.Send:



call sendMail()

Function sendMail()
strSmtpServer="msg-01" ' имя почтового сервера, в моем случае это Exchange
strSmtpPort=25
strSmtpAuth="no"
strSmtpSsl="no"
strDate=date
strSendingEmail="server1@winitpro.ru" ' Имя отправителя
strReportEmail="admin@winitpro.ru" ' Имя получателя
'WScript.Echo logPath & "\backup" & strDate & ".html"
Set objMessage = CreateObject("CDO.Message")
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSmtpServer
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = strSmtpPort
If strSmtpAuth = "yes" Then
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'use '2' for NTLM authentication
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = strSmtpUser
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = strSmtpPass
End If
If strSmtpSsl = "yes" Then
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
End If
objMessage.Configuration.Fields.Update
objMessage.Subject = "Тема письма" & strDate & "."
objMessage.From = strSendingEmail
objMessage.To = strReportEmail
objMessage.HTMLBody = "Текст сообщения"
objMessage.Send
End Function

В домене используется outlook 2010 аутентификация используется под текущим пользователем под которым был произведен вход, но почему-то здесь показывает ошибку. Попробую еще поковыряться, но чет пока нет идей с чего начать разбираться и проверить корректно ли получилось залогинется на сервер данным скриптом.

BeS Yara Огромное спасибо за идею. Еще раз.

20

Re: HTA+VBS: Расшаривание ресурса по запросу

wildwolf007 пишет:

BeS Yara
Вопрос что за подстановочные макросы ? И как определить автоматом адрес данного пользователя который создал папку ?

Не совсем точно выразился, в Cobian Backup есть некоторые переменные для подстановки в путь. В ОС они так же есть(даже больше, в кобиане переменные ОС на резолвит, а жаль). В данном случае это USERNAME и COMPUTERNAME. Полный список можно увидеть если выполнить команду SET в консоли.

Доступ к этим переменным в VBS происходит довольно просто:

Option Explicit
Dim WshShell, WshSysEnv
Set WshShell = WScript.Createobject("WScript.Shell")
Set WshSysEnv = WshShell.Environment("Process")
wscript.echo WshSysEnv("USERNAME")
wscript.echo WshSysEnv("COMPUTERNAME")

По поводу отправки, неплохо бы увидеть код/описание ошибки. В приведённом коде, авторизация отсутствует, а вы пишете что авторизация используется на уровне домена. Скорее всего в этом и проблема. Нужно или указать в явном виде логин-пароль(что не получится сделать автоматически), или попробовать использовать авторизацию доменную:

Настройка режима аутентификации производится при помощи того же объекта CDO.Configuration:

oMyMail.Configuration.Fields.Item _
("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1

Значение 1 означает, что используется базовая аутентификация, значение 0 – без аутентификации (анонимно), значение 2 – аутентификация NTLM.

Скрипт работает в локалке - стоит проверить что имя сервера нормально резолвится.

Так как скрипт затачивается под конкретные условия, не вижу смысла в IF-ах и лишних переменных. Так что его можно сократить:

Function sendMail()
strDate=date
strSendingEmail="server1@winitpro.ru" ' Имя отправителя
strReportEmail="admin@winitpro.ru" ' Имя получателя
'WScript.Echo logPath & "\backup" & strDate & ".html"
Set objMessage = CreateObject("CDO.Message")
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "msg-01"
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 2 'use '2' for NTLM authentication
objMessage.Configuration.Fields.Update
objMessage.Subject = "Тема письма" & strDate & "."
objMessage.From = strSendingEmail
objMessage.To = strReportEmail
objMessage.BodyPart.Charset = "windows-1251"
objMessage.TextBody = "Текст сообщения"
objMessage.Send
End Function

При работе с Exchange могут быть свои тонкости, как минимум среди методов отправки (CdoSendUsing Enum) есть такой вариант как cdoSendUsingExchange. Но во взаимодействии с Exchange помочь врядли смоге - не на чем тестировать.

По поводу кодировок и тела - с Бэтом у меня при отправке текстовых сообщений точно не было, про аутлук не помню, а вот на мобильных клиентах указание кодировки почему-то игнорировалось(давно было, может уже не актуально). Но если планируете использовать именно HTMLBody, тогда нужно ео формировать по полной - иненно в HTML и с указанием кодировки в заголовке. BodyPart.Charset тогда не нужен. Пример работы с HTML телом есть в этой теме. Как раз из-за необходимости читать сообщения на смартфоне и пришлось задействовать хтмл.

Если не удастся заставить работать с доменной авторизацией, есть ещё один костыль. Не знаю как в Exchange, но в sendmail можно разрешить отправку без авторизации на внутренние адреса. Тогда можно будет сделать пользователя для такой отправки(всё равно в скрипте указан какой-то сервисный емейл), и не указывать пароль в тексте HTA. Правда если найдётся продвинутый пользователь, может начать хулиганить .

Ну и третий вариант. Так как HTA-шка всё равно взаимодействует с пользователем, можно попробовать использовать непосредственно офисный аутлук - вызывать создание письма, указывать адресата, тему и текст. А кнопку "отправить" пусть пользователь нажмёт сам . Но при таком режиме работы аутлук скорее всего будет поругиваться на попытки программного взаимодействия с собой извне, и пользователям придётся разрешать "подозрительное действие".

21

Re: HTA+VBS: Расшаривание ресурса по запросу

Уберу if завтра еще раз попробую, ну а пока ошибка на 34 строке.

22 (изменено: wildwolf007, 2014-06-04 20:18:08)

Re: HTA+VBS: Расшаривание ресурса по запросу

Пока не могу понять какой используется метод  аутентификации outlook.
Пользователь производит вход в домен и при открытии  outlook происходит автоматическая аутентификация без каких либо паролей. При этом если мы заходит под логином User то почта будет начинаться с user@XXXX.ru.

Пробовал в строке objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") =

проставлять 0 не получается 1 нет логина и пароля 2 то же не получается. Какие еще есть возможности аутентификации при помощи vbs ?

Колдовать придется только с  Exchange другие методы точно будут закрыты. При этом пароли точно нельзя будет хранить в открытом виде.

23

Re: HTA+VBS: Расшаривание ресурса по запросу

Вы смешиваете тёплое с мягким.
Аутлук - это не то же самое, что CDO.
У меня работал следующий код
для mail.ru


Sub SendEMail (Message, Attach)

  objEmail.From = "login@mail.ru"
  objEmail.To = SendTo
  objEmail.Subject = MarkerR & " копия"
  objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
  objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SmtpServer
  objEmail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
  objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 'smtp сервак просит аутентификации
  objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "login@mail.ru" 'указываем логин
  objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" 'указываем пароль
  objEmail.Configuration.Fields.Update

  objEmail.Textbody = Message
  If Attach <> "" Then
    objEmail.AddAttachment Attach
  End If
  objEmail.Send
End Sub

для домена


Set objEmail = CreateObject("CDO.Message")

        With objEmail

          .From = "юзер@имядомена.ru"
          .To = SendTo

          For i = 0 To UBound(SplitAttach)

            .AddAttachment SplitAttach(i)

          Next
          '.AddAttachment  "c:\q.img"
          .Subject = Subj
          .Textbody = SendedBody

          With .Configuration.Fields

            .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "имясервера.имядомена.Local"
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 2
            .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
            .Update

          End With

          .Send

       End With

Оба кода рабочие, оба используются (на старой работе)
Но много зависит от настроек эксченджа, которые делал не я.

А ещё можно слать не через CDO, а через outlook, используя его как OLE. В интернетах масса примеров.

"Единство,- возвестил оракул наших дней: -
Быть может спаяно железом лишь и кровью"…
Но мы попробуем спаять его любовью,-
А там увидим, что прочней…    (Ф. Тютчев)       Тут хорошая справка по vbs.

24

Re: HTA+VBS: Расшаривание ресурса по запросу

BeS Yara

Таким образом ваша HTA-шка пусть просто кидает нужный файл по пути \\server\exchfolder\%username%, при необходимости(когда копируется впервые, например) создавая папку, а уж она создастся с нужными привелегиями.


Скажите, а на код HTA можно посмотреть когда разносятся права?

MikeSh
попробую Ваши решения. Спасибо.

25

Re: HTA+VBS: Расшаривание ресурса по запросу

wildwolf007 пишет:

BeS Yara

Таким образом ваша HTA-шка пусть просто кидает нужный файл по пути \\server\exchfolder\%username%, при необходимости(когда копируется впервые, например) создавая папку, а уж она создастся с нужными привелегиями.


Скажите, а на код HTA можно посмотреть когда разносятся права?

Не понял вопроса. В коде правами не занимаемся - это всё отдано на откуп NTFS. В коде просто проверяем что путь существует, если не существует - создаём. Потом копируем туда файл. Всё. Или нужна функция для проверки и создания пути? Вот мой шаблончик для пути:


'##############################################################################
'########            проверка-создание дерева каталогов              ##########
'##############################################################################
' 1/2
Dim s_chkPath : s_chkPath = ""
Sub chkFolder(s_path) ' проверка существования файла(логфайла, например)
 Dim s_fso, s_a
 Set s_fso = CreateObject("Scripting.FileSystemObject")
 If Not s_fso.FolderExists(s_path) Then ' если папка не существует
   If StrComp(right(s_path,1),"\") = 0 Then ' папка с пустым именем нам не нужна :)
     s_chkPath = left(s_path, len(s_path) - 1)
    Else
     s_chkPath = s_path
   End If
   ' разбиваем путь на состовляющие
   Dim s_arrFolderPath(), s_regEx, s_Match, s_Matches   ' Create variable.
   Set s_regEx = New RegExp   ' Create regular expression.
   s_regEx.Pattern = "(\\){1}?"   ' Set pattern.
   s_regEx.Global = True   ' Set global applicability.
   Set s_Matches = s_regEx.Execute(s_path)   ' Execute search.
   Redim s_arrFolderPath(s_Matches.count)
   s_chkPath = s_fso.BuildPath (s_chkPath,"")
   wscript.echo "проверяемый путь => " & s_path
   Call MkFldrTree(s_arrFolderPath, s_fso.BuildPath(s_chkPath,""), 0)
 End If
 Set s_a = Nothing
 Set s_fso = Nothing
End Sub
' 2/2
Sub MkFldrTree(Byref s_arr(), s_path2chk, s_fi) ' формирование дерева каталогов
 Dim s_fso
 Set s_fso = CreateObject("Scripting.FileSystemObject")
 If s_fso.FolderExists(s_path2chk) Then ' если полученный путь существует...
  If StrComp(s_path2chk, s_chkPath, vbTextCompare) <> 0 Then
    Dim s_fi2
    For s_fi2 = s_fi - 1 To 0 step - 1
     wscript.echo "создаю папку: " & s_path2chk & "\" & s_arr(s_fi2)
     s_fso.CreateFolder s_path2chk & "\" & s_arr(s_fi2)
     s_path2chk = s_path2chk & "\" & s_arr(s_fi2)
    Next
    wscript.echo "done"
  End If
 Else ' если полученный путь НЕ существует...
  wscript.echo s_path2chk & " - не найдена"
  ' укорачиваем путь на один уровень
  s_arr(s_fi) = Right(s_path2chk, Len(s_path2chk)-InStrRev(s_path2chk, "\", -1, vbTextCompare))
  s_path2chk = Left(s_path2chk, InStrRev(s_path2chk, "\", -1, vbTextCompare) - 1)
  s_fi = s_fi + 1
  Call MkFldrTree(s_arr, s_path2chk, s_fi)
 End If
 Set s_fso = Nothing
End Sub
'##############################################################################

Коментариев многова-то, где-то можно упростить-сократить(хоть убей - не помню зачем использовал регулярку а не Split), но у меня этот кусок работает давно(и локально, и по сети), со времён освоения мной vbs и переделывать лень

Для использование просто вызываем процедуру chkFolder с передачей ей пути, потом копируем туда файл.

26

Re: HTA+VBS: Расшаривание ресурса по запросу

Да, действительно, в коде с правами Вы ничего не делаете просто логика.

Потерял дня 3 пробовал настроить, так и не получилось. Вы не могли б подсказать что я делаю не так?

http://gfile.ru/a8pdm

Пользователи могут просматривать содержимое любого каталога в папке ExchengeFolder и удалять.

Буду признателен за помощь того, что я делаю не так... или кратенький мануал по настройке прав NTFS.

Я так думаю что-то накрутил с наследованием.

27

Re: HTA+VBS: Расшаривание ресурса по запросу

Создал версию на русском языке:

http://gfile.ru/a9GBO

Что сделано неправильно ?

И почему наследуется учетка гость.

28

Re: HTA+VBS: Расшаривание ресурса по запросу

wildwolf007, скорее всего проблема в авторизации - полагаю что компьютеры не в домене? Состояние авторизации можно увидеть на сервере в оснастке "Управление компьютером" - общие папки - сеансы. Если учётка на ПК отсутствует на сервере, пользователь будет авторизован как гость. Если учётка совпадает, а пароль нет - пользователь авторизован не будет. Если учётка и пароль совпали, то авторизация пройдёт нормально.

Для авторизации в такой ситуации(без домена, или для компа не включённого в домен) есть два варианта:
1. На сервере заводится такая же учётка с тем же паролем что и на ПК. При смене пользователем локального пароля начнётся головняк "не могу зайти в общую папку".
2. На сервере создаётся запароленная учётка для конкретного пользователя, а на ПК где работает пользователь добавляются данные для авторизации на конкретном сервере. Тогда не зависимо от вводимых пользователем локальных учётных данных, для авторизации на на сервере будут использованы сохранённые учётные данные.
На XP нужно выполнить команду:
control userpasswords2
Дальше всё интуитивно понятно .
На Win7-8 - панель управления - Учетные записи пользователей - Администрирование учётных записей - Добавить учётные данные Windows.

Если сервер доменный, то пользователя нужно указывать с доменом: имя_домена\имя_пользователя.

В обоих случаях действия выполняем в учётной записи пользователя.

P.S. на Windows XP Home мне сохранить учётные данные не удалось(интерфейс есть, ошибок не выдаёт, но учётные данные не добавляются). На Win7-8 всех не прошных редакций пробему не наблюдал.

29 (изменено: wildwolf007, 2014-06-16 21:34:57)

Re: HTA+VBS: Расшаривание ресурса по запросу

Да, возможно проверку проверял на домашнем ПК. На работе Windows Server 2008 и домен там попробую те же самые настройки сделать еще раз, но по - мойму проблему и на сервере какая-то была, завтра еще раз все перепроверю на сервере. Спасибо. Кстати пока копался обнаружил группу "Прошедшие проверку" - это на что-то влияет в нашем случае ?

30

Re: HTA+VBS: Расшаривание ресурса по запросу

обнаружил группу "Прошедшие проверку" - это на что-то влияет в нашем случае ?

Хорошо известные идентификаторы безопасности в операционных системах Windows
Well-known SIDs (Windows)
2.4.2.4 Well-Known SID Structures

31

Re: HTA+VBS: Расшаривание ресурса по запросу

Судя по MSKB, это группа аналог группы "Все" за исключением гостей(анонимных пользователей) - то есть включает всех пользователей(не зависимо от того в какие группы они входят), которые авторизовались на сервере. Добавлена в SP3 для NT 4.0 и NT 3.51 для повышения безопасности. Так как в домене обычно все пользователи входят в группу "Пользователи домена"(админов не считаем - для них отдельно полный доступ даём), я бы на этой группе и остановился. Более широкие права доступа имеют смысл для конкретных ситуаций.

32

Re: HTA+VBS: Расшаривание ресурса по запросу

bes yara Спасибо, все получилось произвел настройки в домене и все заработало. Сейчас пишу нта которая будет реализовывать необходимую логику. Еще раз спасибо за помощь.

33

Re: HTA+VBS: Расшаривание ресурса по запросу

Пытаюсь отправлять письма через свою учетку gmail, получаю ошибку
http://i.piccy.info/i9/05d0e0cf265ec9726ee6fd9e7fd3e9bd/1462635632/8074/967953/vbs_sendmail_error.png

Доступ к недоверенным приложениям включил. Или как оно там называется, не знаю. Вобщем то, что на этой странице.
http://i.stack.imgur.com/1T3EV.jpg

Что может быть? У кого работает?