WIN 2000 서버에 DBF 를 두고 여러 PC(win98) 에서 사용하고 > 유익한 싸이트

본문 바로가기
 

WIN 2000 서버에 DBF 를 두고 여러 PC(win98) 에서 사용하고

페이지 정보

작성자 이름으로 검색 댓글 0건 조회 18,203회 작성일 05-12-27 20:15

본문







자료 접근을 막고 싶은데요.. 도움을 바랍니다.

이미경 /

water


이미경님께 메시지 보내기
이미경님을 내 주소록에 추가합니다.
이미경님의 블로그가 없습니다

 



항상 도움에 감사하고 있습니다.



WIN 2000 서버에 DBF 를 두고 여러 PC(win98) 에서 사용하고 있습니다.

그런데 폴더 권한을 읽기,쓰기로 주고 사용하다 보니 누구나 네트웤 드라이브를 열어서

폴더 혹은 dbf 를 삭제하거나 복사 할 수 있더군요.



그래서 VFP 프로그램으로만 자료를 수정하거나 읽을 수 있도록 하고 싶습니다.

가능 할까요 ?





읽어 주셔셔 감사합니다.

 
 
 




글에 평점 주기:


0점
1점 ■
2점 ■■
3점 ■■■
4점 ■■■■
5점 ■■■■■
6점 ■■■■■■
7점 ■■■■■■■
8점 ■■■■■■■■
9점 ■■■■■■■■■


     





2002-09-05 오후 3:10:22 / 번호: 9262 / 평점: bullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gif (-)



sop_0.gif Re:
dbc를 사용하시면...

이학근 /

rainman


이학근님께 메시지 보내기
이학근님을 내 주소록에 추가합니다.

이학근님의 블로그 가기


 

dbc에 암호를 걸수잇습니다.

다른 프로그램이 열지를 못하죠.

VFP7.0의 기능입니다.

수고하세요



 
 
 




글에 평점 주기:


0점
1점 ■
2점 ■■
3점 ■■■
4점 ■■■■
5점 ■■■■■
6점 ■■■■■■
7점 ■■■■■■■
8점 ■■■■■■■■
9점 ■■■■■■■■■


     





2002-09-06 오후 10:55:07 / 번호: 9270 / 평점: bullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gif (-)



Re:
i'm afriad that 한번 더 생각할 필요가 있는것 같쒸미......

손상현 /

alpastar


손상현님께 메시지 보내기
손상현님을 내 주소록에 추가합니다.
손상현님의 블로그가 없습니다

 

이건 다음 세미나에서 강의할때 중요한 이슈중의 하나이기 때문에 특별히^^ 간단하게 설명드리겟읍니다.



1. os 차원에서 처리

fox 테이블은 한개의 파일입니다. 본질적으로 워드,액셀 등의 파일과 다를바 없다 라고

생각하셔도 무방할 겁니다.(ISAM 파일입니다)



파일을 관리할때는 서버의 파일시스템을 NTFS 형식으로 해놓으면 데렉토리별로, 파일별로 권한을

설정할수가 있읍니다. 이 점을 착안하시면 어느정도 해결책이 나올수 있을것같읍니다.

(안될수도 있읍니다.^^...장담을 못하겟거든요...)



서버쪽에서 도메인을 설정하고 사용유저/그룹을 만든뒤 테이블과 테이블이 존재하는 디렉토리에 권한을

셋팅해둡니다(이거 설계하는게 쉬운 작업이 아닙니다)



클라이언트에서는 초기 부팅시 사용자이름과 패스워드를 치고 들어가서 윈도우즈의 도메인안으로 들어갑니다.

그러면 서버쪽의 자원을 이용하려고 할시 서버에 설정된 액세스콘트롤의 지배를 받읍니다.

따라서 접근제한및 선별이 가능할것으로 사려되오나(이 통제작업을 하는주체가 OS 임)

장담은 못하겠쒸미다.



자원을 이용할려고 덤비는 놈은 궁극적으로 폭스프로그램이고 유닉스처럼 이놈(프로세스)의 소유자라는

개념이 없기 때문에 윈도우즈에서는 어떻게 되는지 장담을 못하겠쒸미다.



일단 저질러 보시고 다시 생각을 정리해 보는게 좋을듯 합니다.(무식하면 용감하다.....)



2. DBMS 차원에서 관리 (통제작업을 하는주체가 DBMS 임)

가장 좋은게 이것입니다마는

2.1. 서버에 폭스DBMS 를 설치하여 사용하는 것이 아니다(또 이렇게 하여서도 아니되옵니다..)

2.2. 단지 os 만 설치되어 있다.



2.2 방식이기 때문에 소위말하는 파일서버 방식입니다. 필자가 늘 무식하다고 주장하는....^^



2.1 번 형식이라면 소위 말하는 클라이언트-서버 방식이 되겟지요.

클라이언트쪽의 폭스엔진이 서버쪽의 폭스엔진과 대화를 하는 형식의....



ms-sql 이나 mysql 등에는 권한 테이블이라는게 있읍니다.

os 차원에서의 사용자/패스워드와는 전혀 별도로, 자기들 나름대로의 사용자/비밀번호를 부여하여

각 데이타베이스/테이블 /칼럼(피일드) 별로 권한을 아주 세부적으로 설정할수가 있읍니다.

(revoke/grant 명령을 사용합니다)



다시말하여 설사 os차원에서의 그 막강한 root(윈도우에서는 administrator)라 할지라도 전혀 힘을 쓸수가

없는상황이 된다는 얘깁니다. 그거는 너거동네(os) 얘기/사정이고 데이타베이스에 관한한 모든 행위는

나의 통치를 따라라 라는 식이 된다는것이지요.



폭스는 바로 이 권한시스템이 없읍니다. 언제나 싱글사용자모드 입니다.(이게 한계중의 하나입니다)

따라서 (클라이언트)프로그램에서 조절을 할수 밖에 없읍니다.

다시 애기하지만 서버쪽 프로그램이 아니라 클라이언트쪽 프로그램이 액션을 취할수밖에 없읍니다.



모든 테이블을 사용자에게서 격리시키고 오직 프로그램에서만 그위치와 경로를 알게한뒤에 아이디와 패스워드를

물어서 허용될 경우만 프로그램이 진행을 해 나가게 만드는것입니다.

다시 말하지만 서버쪽 프로그램이 아이디나 패스워드를 묻는게 아니라 클라이언트쪽 프로그램이 아이디와 패스워드를

묻게됩니다. 당연히 일치여부(지금까지의 모든 과정을 "인증" 이라고 합니다.)도 클라이언트에서 파악해야 되구요.



잘 생각해 보십시요, 결코 쉬운작업이 아닙니다.



만일 서버쪽이 권한 시스템을 가지고 있다면

1. 접속시에 이미 아이디와 패스워드를 제공하여 인증과정을 거칩니다.

2. 인증절차에 합격되면 무조건 접근을 합니다. dbms가 접속시의 id를 가지고 일일이 액션별로 권한이 있는지

일일이 점검을 한뒤 필요한 액션을 취해 줍니다.

(select,insert,update,delete 뿐만아니라 테이블의 삭제, 수정등등 모든 행위별로.......)

따라서 클라이언트는 서버쪽에 권한시스템만 셋팅해두면 더이상 신경쓸 필요가 없지요.

지금 요구하시는 모든 필요가 간단히(?) 충족됩니다.



3. odbc 를 통하여 접근

폭스 테이블인 경우는 아이디와 패스워드가 없는것으로 알고 있읍니다.(맞나, 기억이 가물가물...)

또 설사 아이디와 패스워드인증을 한다하여도 접속만 통제할 뿐이지 더이상의 통제는 불가합니다.

( 꼭 할려고 한다면 상상력을 이용한 편법을 동원하여야 겟지요.여기에는 정답이 없음)





필자가 얘기하고자 하는바를 한마디로 표현하기 위해서 단적인 비교를 pseudo-code 로 작성해보면

다음과 같읍니다.





***** visual fox

sqlconnect( 사용자이름,패스워드) -> 결과로 링크 identifier 를 얻는다.

접속은 되었다.

각 자원(데이타베이스, 테이블/피일드)별로 권한셋팅이 불가능

각자원별로 각 액션별 권한 셋팅이 블가능





**** mysql/ms-sql

connect함수(호스트이름, 사용자 이름,비밀번호)



서버쪽에서 자원별, 액션별로 권한을 셋팅

예)

grant select 권한 on 데이타베이스 1 from 사용자1 (권한 부여)

grant insert,delete,update 권한 on 데이타베이스 1.테이블1 from 사용자2 (권한 부여)

revoke inser권한 on 데이타베이스 1.테이블1 from 사용자2 (권한 박탈)



권한및 인증시스템이 없다는것이 얼마나 불편한것인지 피부로 느낄수 있는 좋은 예제이기에

잠시 길게 적어보았읍니다. 폭스의 한계를 애기할수 있는 좋은 예제이구요

(그래도 폭스는 너무 귀여워^^)



ps: dbc 가 물리적으로는 서버쪽 하드디스크위에 있지만 논리적으로 보면 클라이언트의 하드디스크위에 있는셈입니다.

(논리적이 더 중요합니다.)



더더욱 중요한 점은 어느쪽 cpu가 작동하는것일까요.? 서버쪽 cpu?, 클라이언트쪽 cpu?

잘 생각해보시기 바랍니다. dbc 의 기능문제가 아닐것 같다는 우려가 듭니다.



많이 생각해보시기 바랍니다. 이런 부분에서 헤매고 불편을 절감해야 발전이 있읍니다.^^



 
 
 




글에 평점 주기:


0점
1점 ■
2점 ■■
3점 ■■■
4점 ■■■■
5점 ■■■■■
6점 ■■■■■■
7점 ■■■■■■■
8점 ■■■■■■■■
9점 ■■■■■■■■■


     





2002-09-06 오전 12:31:18 / 번호: 9265 / 평점: bullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gif (-)



Re:
답변 감사합니다. 근데......

이미경 /

water


이미경님께 메시지 보내기
이미경님을 내 주소록에 추가합니다.
이미경님의 블로그가 없습니다

 



VFP 6.0 에서는 안 되는 것인가요 ?



제가 쓰고 있느 것이 6.0 이라서 ...



아님.. 다른 테크닉이나...

VFP 아닌 다른 방법이 있으면.. 부탁드립니다.





다시 한번 답변에 감사드립니다.

 
 
 




글에 평점 주기:


0점
1점 ■
2점 ■■
3점 ■■■
4점 ■■■■
5점 ■■■■■
6점 ■■■■■■
7점 ■■■■■■■
8점 ■■■■■■■■
9점 ■■■■■■■■■


     





2002-09-07 오전 9:04:10 / 번호: 9271 / 평점: bullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gif (-)



sop_0.gif Re:
dbc는..

이학근 /

rainman


이학근님께 메시지 보내기
이학근님을 내 주소록에 추가합니다.

이학근님의 블로그 가기


 

물리적으로도 client에 위치시킬 수 잇습니다.

동시접속자수가 많은 경우 dbc record가 view등을

읽어올때 record locking을 함으로 file is in use..를

피하기 위해 client에서 필요한 내용만 별개의 dbc로

만들어 client에 설치하여 위같은 경우를 막을수있습니다.

사족이엇습니다.

수고하세요







 
 
 




글에 평점 주기:


0점
1점 ■
2점 ■■
3점 ■■■
4점 ■■■■
5점 ■■■■■
6점 ■■■■■■
7점 ■■■■■■■
8점 ■■■■■■■■
9점 ■■■■■■■■■


     





2002-09-06 오전 4:30:34 / 번호: 9266 / 평점: bullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gif (-)



sop_0.gif Re:
6.0에는..

이학근 /

rainman


이학근님께 메시지 보내기
이학근님을 내 주소록에 추가합니다.

이학근님의 블로그 가기


 

그 기능이 없습니다.

7.0에 새로이 보강된 dbc event입니다.

그외 다른 방법은 마땅한 3D PARTY TOOL이

있는지 모르겠습니다.

아마 Stonfield Database toolkit에는 이 기능이 있을지..

업그레이드를 하시죠..^^

수고하세요

 
 
 




글에 평점 주기:


0점
1점 ■
2점 ■■
3점 ■■■
4점 ■■■■
5점 ■■■■■
6점 ■■■■■■
7점 ■■■■■■■
8점 ■■■■■■■■
9점 ■■■■■■■■■


     





2002-09-07 오전 9:23:54 / 번호: 9273 / 평점: bullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gif (-)



Re:
말씀 감사 합니다. 어느 것도 쉬운것이 업네요..^^ (냉무)

이미경 /

water


이미경님께 메시지 보내기
이미경님을 내 주소록에 추가합니다.
이미경님의 블로그가 없습니다

 

 
 




글에 평점 주기:


0점
1점 ■
2점 ■■
3점 ■■■
4점 ■■■■
5점 ■■■■■
6점 ■■■■■■
7점 ■■■■■■■
8점 ■■■■■■■■
9점 ■■■■■■■■■


     





2002-09-06 오전 9:56:32 / 번호: 9267 / 평점: bullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gifbullet.gif (-)



Re:
감사합니다. 7.0을 언제나 구할수 있으련지.. (냉무)

이미경 /

water


이미경님께 메시지 보내기
이미경님을 내 주소록에 추가합니다.
이미경님의 블로그가 없습니다

 

.



댓글목록

등록된 댓글이 없습니다.

Total 224건 7 페이지
유익한 싸이트 목록
번호 제목 글쓴이 조회 날짜
116 이름으로 검색 8417 03-17
115 이름으로 검색 16184 03-09
114 이름으로 검색 14699 03-05
113 이름으로 검색 15990 03-05
112 이름으로 검색 15378 03-05
111 이름으로 검색 20075 03-05
110 이름으로 검색 9383 02-14
109 이름으로 검색 15032 02-08
108 이름으로 검색 19612 02-08
107 이름으로 검색 15219 02-06
106 이름으로 검색 15727 02-06
105 이름으로 검색 13316 01-28
104 이름으로 검색 8111 01-20
103 이름으로 검색 15309 01-05
102 이름으로 검색 13983 12-27
101 이름으로 검색 16074 12-27
열람중 이름으로 검색 18204 12-27
99 이름으로 검색 8452 12-27
게시물 검색