database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
ㆍCUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
CUBRID Q&A 625 게시물 읽기
No. 625
Q.DB 사용자 계정 문제
작성자
조성배
작성일
2007-10-18 13:53
조회수
3,620

CUBRID의 계정의 길이는 여러가지 이유로 32byte가 max인 것으로 알고 있습니다.

그치만 사용자 생성 시 그 길이를 넘어도 오류를 내거나 하지 않습니다.

 

사실, 로그인 시에 31byte까지 인식을 하는 것으로 보여지기에, 사용자 생성을 할 때 같은 이름으로 31byte까지 동일한 유저와 33byte로 유저가 생성이 된다면 매니저에서는 동일한 계정인 것으로 인식하고 유저가 생성됩니다.

 

위와 같은 일로 큰 문제가 발생 할 소지는 없다고 여겨집니다만, 다음과 같은 곤란한 상황이 생길 수도 있겠지요..

 

A유저명 : cubrid_personal_user_account001

B유저명 : cubrid_personal_user_account001_mb01

C유저명 : cubrid_personal_user_account001_mb02

 

상황을 가정 해 보도록 하겠습니다.

 

상황 1

B 유저를 혼자 생성합니다. 다른 계정은 존재하지 않습니다. B유저의 이름은 32바이트를 넘습니다.

 

문제

B 유저가 로그인을 하면 에러 메시지를 보이지만 접속이 됩니다! 문제는 대부분의 정보를 볼 수는 있지만 스키마 등이나 쿼리 에디터를 실행할 때 뷰를 생성할 수 없다던지 하는 에러메시지를 보이면서 문제가 발생합니다.

(로그인이 되는 문제는 실제 접속 시에는 보낸 데이터와 서버에 존재하는 유저명이 동일하기 때문인 것으로 판단됩니다)

 

상황 2

위에 보이는 A, B, C 유저 모두를 생성하였습니다. 이 때 B 유저나 C 유저가 로그인을 합니다.

B 유저와 C 유저는 모두 32바이트를 넘깁니다.

 

문제

B와 C 유저는 모두 로그인에서 부터 스키마 뷰, 쿼리 에디터 등 모든 것에 문제 없이 사용하게 됩니다. 대신 B와 C 유저는 실제적으로는 존재하지만 //매니저에서 사용할 때에는 A 유저의 계정을 사용하게 됩니다//. Manager에서도 분명 계정이 존재하고 서버 상에서도 A, B, C유저 모두 존재하는 것으로 나옵니다. (JDBC를 사용한 로그인 시에는 32byte Max로 유저명을 전송하게 되어 있는 것으로 알고 있습니다만, 매니저에서 로그인 할 때에는 전송에는 제한이 없는 듯 합니다)

 

================

 

뭐, 간단하게 매니저에서 32byte를 넘지 못하도록 UI를 수정하는 등의 문제로 기본적인 문제는 해결 될 수 있겠으나, 서버에서는 이미 32byte 이상의 사용자 계정을 생성 해 낸다는게 큰 문제점으로 작용할 수도 있을 것 같습니다. 악용의 소지가 있을수도 있으니까요..

 

음.. 별 문제가 아닌 것을 장황하게 써 놓아 죄송합니다. ^^

 

아 참, 별도 질문입니다만, Password를 8byte로 제한을 한 이유가 있나요? 패스워드는 더 길게 생성할 수도 있을 듯 한데요..

 

Hopi

이 글에 대한 댓글이 총 1건 있습니다.

자세한 설명에 감사합니다. ^^

말씀하신 사항은 이미 큐브리드 내부 이슈 트랙킹 시스템인 ITrack에 등록되어 관리되고 있습니다. 개발 마일스톤을 정하고 해당 마일스톤에 태울 아이템 중에서 그나마 조금은 우선 순위가 뒤라고 판단했기 때문에 이번 10월말 릴리스에 태우지 못했습니다. 그리고 특별한 의미를 두고 크기를 제한한 것은 아닙니다. 처음 그렇게 만들어졌고, 그 후 특별한 이슈 제기가 되지 않아 현재까지 온 것입니다. 다음 릴리스 마일스톤에서 적극 검토하도록 하겠습니다. 감사합니다.

 

--------------------------

 

>CUBRID의 계정의 길이는 여러가지 이유로 32byte가 max인 것으로 알고 있습니다.

>그치만 사용자 생성 시 그 길이를 넘어도 오류를 내거나 하지 않습니다.

>

>사실, 로그인 시에 31byte까지 인식을 하는 것으로 보여지기에, 사용자 생성을 할 때 같은 이름으로 31byte까지 동일한 유저와 33byte로 유저가 생성이 된다면 매니저에서는 동일한 계정인 것으로 인식하고 유저가 생성됩니다.

>

>위와 같은 일로 큰 문제가 발생 할 소지는 없다고 여겨집니다만, 다음과 같은 곤란한 상황이 생길 수도 있겠지요..

>

>A유저명 : cubrid_personal_user_account001

>B유저명 : cubrid_personal_user_account001_mb01

>C유저명 : cubrid_personal_user_account001_mb02

>

>상황을 가정 해 보도록 하겠습니다.

>

>상황 1

>B 유저를 혼자 생성합니다. 다른 계정은 존재하지 않습니다. B유저의 이름은 32바이트를 넘습니다.

>

>문제

>B 유저가 로그인을 하면 에러 메시지를 보이지만 접속이 됩니다! 문제는 대부분의 정보를 볼 수는 있지만 스키마 등이나 쿼리 에디터를 실행할 때 뷰를 생성할 수 없다던지 하는 에러메시지를 보이면서 문제가 발생합니다.

>(로그인이 되는 문제는 실제 접속 시에는 보낸 데이터와 서버에 존재하는 유저명이 동일하기 때문인 것으로 판단됩니다)

>

>상황 2

>위에 보이는 A, B, C 유저 모두를 생성하였습니다. 이 때 B 유저나 C 유저가 로그인을 합니다.

>B 유저와 C 유저는 모두 32바이트를 넘깁니다.

>

>문제

>B와 C 유저는 모두 로그인에서 부터 스키마 뷰, 쿼리 에디터 등 모든 것에 문제 없이 사용하게 됩니다. 대신 B와 C 유저는 실제적으로는 존재하지만 //매니저에서 사용할 때에는 A 유저의 계정을 사용하게 됩니다//. Manager에서도 분명 계정이 존재하고 서버 상에서도 A, B, C유저 모두 존재하는 것으로 나옵니다. (JDBC를 사용한 로그인 시에는 32byte Max로 유저명을 전송하게 되어 있는 것으로 알고 있습니다만, 매니저에서 로그인 할 때에는 전송에는 제한이 없는 듯 합니다)

>

>================

>

>뭐, 간단하게 매니저에서 32byte를 넘지 못하도록 UI를 수정하는 등의 문제로 기본적인 문제는 해결 될 수 있겠으나, 서버에서는 이미 32byte 이상의 사용자 계정을 생성 해 낸다는게 큰 문제점으로 작용할 수도 있을 것 같습니다. 악용의 소지가 있을수도 있으니까요..

>

>음.. 별 문제가 아닌 것을 장황하게 써 놓아 죄송합니다. ^^

>

>아 참, 별도 질문입니다만, Password를 8byte로 제한을 한 이유가 있나요? 패스워드는 더 길게 생성할 수도 있을 듯 한데요..

>

>Hopi

 

백정한님이 2007-10-18 14:13에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
629Q.[문의] start 후 에러 로그 [1]
장현정
2007-10-23
3705
628Q.오라클에 있는 start with connect by 계층형 쿼리가 있나요? [1]
유기준
2007-10-22
3917
626Q.Query Editor 개선 요청사항.. [1]
조성배
2007-10-18
3588
625Q.DB 사용자 계정 문제 [1]
조성배
2007-10-18
3620
624Q.iReport 사용중 다음과 같은 에러 발생.. [1]
곽태영
2007-10-18
4402
623Q.phpCubAdmin 접속이 안됩니다. 어떻게 해야 하는걸까요? [1]
박진호
2007-10-17
3564
622Q.7.3은 언제 출시되나요? [1]
초짜
2007-10-17
3450
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.021초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다