Имя: Пароль:
IT
 
Как ограничить доступ к базе данных 1С в файловом режиме
, ,
0 Xsander
 
11.01.13
15:50
База данных лежит в общей (расшареной) папке на сервере win 2k8, база не sql(вариант с переходом на базу данных sql, - не предлогать), а файловая(обычная папка с файлами).
Пользователи подключаются удаленно через терминальные подключения и стартуют 1С Предприятие с уже прописанной базой, при подключении также подключаются локальные диски машин пользователей, для обмена документами
Интернет на сервере отсутствует.
Интернет на локальных машинах пользователей есть.

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

Как исключить возможность копирования папки базы данных целиком на локальную машину и дальнейшей передачи в интернет?
1 tdm
 
11.01.13
15:50
v8 ?
2 Fragster
 
гуру
11.01.13
15:51
8.2 УФ - опубликовать на веб сервере
3 Aleksey
 
11.01.13
15:51
как по твоему отличить копирование от чтения?
4 Rovan
 
гуру
11.01.13
16:08
(0) допиши в конфу кусок кода, который будет проверять комп (сервер) на котором запускается.... если отличается - сразу выход
5 Fragster
 
гуру
11.01.13
16:11
(3) понимаешь ли какое дело. если у тебя правами зарезан доступ, но есть файл базы - то ты не спеша можешь брутфорсером отбрутфорсить пароль дома, или волшебным образом данные вытянуть низкоуровневой тулзой. А если на работе права правильно порезаны - то запустить левую программу ты не можешь.
6 Rovan
 
гуру
11.01.13
16:11
(+4) т.е. скопировать юзер сможет, а запустить нет
7 Холст
 
11.01.13
16:13
стартовать 1Ску другим юзером винды,  которому разрешен файловый доступ к шаре
8 Холст
 
11.01.13
16:14
но ушлый юзер может попробовать из 1С скопировать папку с базой - надо обрубать проводник
9 Ёпрст
 
11.01.13
16:15
(0) для начала, зарезать маппинг локальных дисков юзверя.
10 Fragster
 
гуру
11.01.13
16:31
(9) это не всегда возможно, например из 1ски производятся загрузки файлов каких-нибудь
11 Ёпрст
 
11.01.13
16:35
(10) фтп для таких есть со своими правилами
12 Fragster
 
гуру
11.01.13
16:45
(11) ну да, как ты отличишь 1cd переименованный в .zip или .xml от нормальных файлов с помощью "правил ftp"?
13 samozvanec
 
11.01.13
16:45
(0) ниче нельзя, файловая не для работы. если не скуль, то веб-сервер
14 ksmatut
 
14.01.13
10:36
Может кому пригодится код на VB6 прикрывающий Ctrl+c
(ставится в автозапуск):

Private Declare Function Getasynckeystate Lib "user32" Alias "GetAsyncKeyState" (ByVal VKEY As Long) As Integer
Private Declare Function GetForegroundWindow Lib "user32.dll" () As Long
Private Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" (ByVal hWnd As Long, ByVal lpString As String, ByVal cch As Long) As Long
Private Declare Function GetWindowTextLength Lib "user32" Alias "GetWindowTextLengthA" (ByVal hWnd As Long) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long

Private Const WM_CLOSE = &H10

Dim currentwindow As String


Private Sub Form_Load()
   If App.PrevInstance Then
       Unload Me
       End
   End If


End Sub


Private Sub Timer1_Timer()
   If currentwindow <> GetCaption(GetForegroundWindow) Then
       currentwindow = GetCaption(GetForegroundWindow)
       If (currentwindow = "Insert Object") Or (currentwindow = "Вставка объекта") Then
           Call PostMessage(GetForegroundWindow, WM_CLOSE, 0&, ByVal 0&)
       End If
   End If

Dim Ctrl As Long
   Ctrl = Getasynckeystate(vbKeyControl)

   If Ctrl <> 0 Then
       If (currentwindow = "Открыть") Or (currentwindow = "Сохранить") Or (currentwindow = "Печать в файл") Or (currentwindow = "File Save As") Or (currentwindow = "Выберите файл") Then
           Call PostMessage(GetForegroundWindow, WM_CLOSE, 0&, ByVal 0&)
       End If
       If (currentwindow = "Save As") Or (currentwindow = "Save a Copy...") Or (currentwindow = "Сохранить как") Or (currentwindow = "Open") Or (currentwindow = "Browse") Or (currentwindow = "Обзор") Then
           Call PostMessage(GetForegroundWindow, WM_CLOSE, 0&, ByVal 0&)
       End If
       If (currentwindow = "Сохранение документа") Or (currentwindow = "Открытие документа") Then
           Call PostMessage(GetForegroundWindow, WM_CLOSE, 0&, ByVal 0&)
       End If
   End If
End Sub


Function GetCaption(WindowHandle As Long) As String
   Dim Buffer As String, TextLength As Long
   TextLength& = GetWindowTextLength(WindowHandle&)
   Buffer$ = String(TextLength&, 0&)
   Call GetWindowText(WindowHandle&, Buffer$, TextLength& + 1)
   GetCaption$ = Buffer$
End Function


остальное правка груповых политик:)
15 ksmatut
 
14.01.13
10:44
да еще надо перекомпилировать стартер от Ромикса без кнопок <Добавить> и <Изменить>
16 antistaks
 
15.01.13
12:20
(2)+