Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
ed3753b3
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
ed3753b3
编写于
6月 24, 2022
作者:
dengyihao
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'mnode' into ndev
上级
72064580
e3698b0b
变更
16
隐藏空白更改
内联
并排
Showing
16 changed file
with
369 addition
and
314 deletion
+369
-314
source/dnode/mgmt/node_util/src/dmFile.c
source/dnode/mgmt/node_util/src/dmFile.c
+2
-2
source/dnode/mnode/impl/inc/mndAuth.h
source/dnode/mnode/impl/inc/mndAuth.h
+2
-1
source/dnode/mnode/impl/src/mndAuth.c
source/dnode/mnode/impl/src/mndAuth.c
+13
-2
source/dnode/mnode/impl/src/mndMain.c
source/dnode/mnode/impl/src/mndMain.c
+11
-7
source/dnode/mnode/impl/src/mndProfile.c
source/dnode/mnode/impl/src/mndProfile.c
+20
-13
source/dnode/mnode/impl/src/mndUser.c
source/dnode/mnode/impl/src/mndUser.c
+1
-1
source/dnode/mnode/impl/test/user/user.cpp
source/dnode/mnode/impl/test/user/user.cpp
+22
-4
tests/script/jenkins/basic.txt
tests/script/jenkins/basic.txt
+5
-7
tests/script/tsim/user/basic.sim
tests/script/tsim/user/basic.sim
+157
-0
tests/script/tsim/user/basic1.sim
tests/script/tsim/user/basic1.sim
+0
-74
tests/script/tsim/user/pass_len.sim
tests/script/tsim/user/pass_len.sim
+0
-79
tests/script/tsim/user/password.sim
tests/script/tsim/user/password.sim
+87
-0
tests/script/tsim/user/privilege2.sim
tests/script/tsim/user/privilege2.sim
+0
-38
tests/script/tsim/user/privilege_db.sim
tests/script/tsim/user/privilege_db.sim
+23
-1
tests/script/tsim/user/privilege_sysinfo.sim
tests/script/tsim/user/privilege_sysinfo.sim
+26
-0
tests/script/tsim/user/user_len.sim
tests/script/tsim/user/user_len.sim
+0
-85
未找到文件。
source/dnode/mgmt/node_util/src/dmFile.c
浏览文件 @
ed3753b3
...
...
@@ -133,10 +133,10 @@ TdFilePtr dmCheckRunning(const char *dataDir) {
ret
=
taosLockFile
(
pFile
);
if
(
ret
==
0
)
break
;
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
taosMsleep
(
100
);
taosMsleep
(
100
0
);
retryTimes
++
;
dError
(
"failed to lock file:%s since %s, retryTimes:%d"
,
filepath
,
terrstr
(),
retryTimes
);
}
while
(
retryTimes
<
12
0
);
}
while
(
retryTimes
<
12
);
if
(
ret
<
0
)
{
terrno
=
TAOS_SYSTEM_ERROR
(
errno
);
...
...
source/dnode/mnode/impl/inc/mndAuth.h
浏览文件 @
ed3753b3
...
...
@@ -23,7 +23,8 @@ extern "C" {
#endif
typedef
enum
{
MND_OPER_CREATE_USER
=
1
,
MND_OPER_CONNECT
=
1
,
MND_OPER_CREATE_USER
,
MND_OPER_DROP_USER
,
MND_OPER_ALTER_USER
,
MND_OPER_CREATE_BNODE
,
...
...
source/dnode/mnode/impl/src/mndAuth.c
浏览文件 @
ed3753b3
...
...
@@ -93,8 +93,13 @@ int32_t mndCheckOperAuth(SMnode *pMnode, const char *user, EOperType operType) {
goto
_OVER
;
}
terrno
=
TSDB_CODE_MND_NO_RIGHTS
;
code
=
-
1
;
switch
(
operType
)
{
case
MND_OPER_CONNECT
:
break
;
default:
terrno
=
TSDB_CODE_MND_NO_RIGHTS
;
code
=
-
1
;
}
_OVER:
mndReleaseUser
(
pMnode
,
pUser
);
...
...
@@ -102,7 +107,13 @@ _OVER:
}
int32_t
mndCheckAlterUserAuth
(
SUserObj
*
pOperUser
,
SUserObj
*
pUser
,
SAlterUserReq
*
pAlter
)
{
if
(
pUser
->
superUser
&&
pAlter
->
alterType
!=
TSDB_ALTER_USER_PASSWD
)
{
terrno
=
TSDB_CODE_MND_NO_RIGHTS
;
return
-
1
;
}
if
(
pOperUser
->
superUser
)
return
0
;
if
(
!
pOperUser
->
enable
)
{
terrno
=
TSDB_CODE_MND_USER_DISABLED
;
return
-
1
;
...
...
source/dnode/mnode/impl/src/mndMain.c
浏览文件 @
ed3753b3
...
...
@@ -529,16 +529,20 @@ static int32_t mndCheckMnodeState(SRpcMsg *pMsg) {
if
(
!
IsReq
(
pMsg
))
return
0
;
if
(
mndAcquireRpcRef
(
pMsg
->
info
.
node
)
==
0
)
return
0
;
if
(
pMsg
->
msgType
==
TDMT_MND_MQ_TIMER
||
pMsg
->
msgType
==
TDMT_MND_TELEM_TIMER
||
pMsg
->
msgType
==
TDMT_MND_TRANS_TIMER
||
TDMT_MND_TTL_TIMER
)
{
pMsg
->
msgType
==
TDMT_MND_TRANS_TIMER
||
pMsg
->
msgType
==
TDMT_MND_TTL_TIMER
)
{
return
-
1
;
}
const
STraceId
*
trace
=
&
pMsg
->
info
.
traceId
;
mError
(
"msg:%p, failed to check mnode state since %s, type:%s"
,
pMsg
,
terrstr
(),
TMSG_INFO
(
pMsg
->
msgType
));
SEpSet
epSet
=
{
0
};
mndGetMnodeEpSet
(
pMsg
->
info
.
node
,
&
epSet
);
const
STraceId
*
trace
=
&
pMsg
->
info
.
traceId
;
mError
(
"msg:%p, failed to check mnode state since %s, type:%s, numOfMnodes:%d inUse:%d"
,
pMsg
,
terrstr
(),
TMSG_INFO
(
pMsg
->
msgType
),
epSet
.
numOfEps
,
epSet
.
inUse
);
for
(
int32_t
i
=
0
;
i
<
epSet
.
numOfEps
;
++
i
)
{
mInfo
(
"mnode index:%d, ep:%s:%u"
,
i
,
epSet
.
eps
[
i
].
fqdn
,
epSet
.
eps
[
i
].
port
);
}
int32_t
contLen
=
tSerializeSEpSet
(
NULL
,
0
,
&
epSet
);
pMsg
->
info
.
rsp
=
rpcMallocCont
(
contLen
);
if
(
pMsg
->
info
.
rsp
!=
NULL
)
{
...
...
@@ -555,10 +559,10 @@ static int32_t mndCheckMnodeState(SRpcMsg *pMsg) {
static
int32_t
mndCheckMsgContent
(
SRpcMsg
*
pMsg
)
{
if
(
!
IsReq
(
pMsg
))
return
0
;
if
(
pMsg
->
contLen
!=
0
&&
pMsg
->
pCont
!=
NULL
)
return
0
;
const
STraceId
*
trace
=
&
pMsg
->
info
.
traceId
;
mGError
(
"msg:%p, failed to check msg, cont:%p contLen:%d, app:%p type:%s"
,
pMsg
,
pMsg
->
pCont
,
pMsg
->
contLen
,
pMsg
->
info
.
ahandle
,
TMSG_INFO
(
pMsg
->
msgType
));
pMsg
->
info
.
ahandle
,
TMSG_INFO
(
pMsg
->
msgType
));
terrno
=
TSDB_CODE_INVALID_MSG_LEN
;
return
-
1
;
}
...
...
@@ -723,7 +727,7 @@ int32_t mndGetMonitorInfo(SMnode *pMnode, SMonClusterInfo *pClusterInfo, SMonVgr
pIter
=
sdbFetch
(
pSdb
,
SDB_STB
,
pIter
,
(
void
**
)
&
pStb
);
if
(
pIter
==
NULL
)
break
;
SMonStbDesc
desc
=
{
0
};
SMonStbDesc
desc
=
{
0
};
SName
name1
=
{
0
};
tNameFromString
(
&
name1
,
pStb
->
db
,
T_NAME_ACCT
|
T_NAME_DB
|
T_NAME_TABLE
);
...
...
source/dnode/mnode/impl/src/mndProfile.c
浏览文件 @
ed3753b3
...
...
@@ -15,6 +15,7 @@
#define _DEFAULT_SOURCE
#include "mndProfile.h"
#include "mndAuth.h"
#include "mndDb.h"
#include "mndDnode.h"
#include "mndMnode.h"
...
...
@@ -217,36 +218,42 @@ static int32_t mndProcessConnectReq(SRpcMsg *pReq) {
SConnObj
*
pConn
=
NULL
;
int32_t
code
=
-
1
;
SConnectReq
connReq
=
{
0
};
char
ip
[
30
]
=
{
0
};
char
ip
[
24
]
=
{
0
};
const
STraceId
*
trace
=
&
pReq
->
info
.
traceId
;
if
(
tDeserializeSConnectReq
(
pReq
->
pCont
,
pReq
->
contLen
,
&
connReq
)
!=
0
)
{
terrno
=
TSDB_CODE_INVALID_MSG
;
goto
CONN
_OVER
;
goto
_OVER
;
}
taosIp2String
(
pReq
->
info
.
conn
.
clientIp
,
ip
);
pUser
=
mndAcquireUser
(
pMnode
,
pReq
->
info
.
conn
.
user
);
if
(
pUser
==
NULL
)
{
mGError
(
"user:%s, failed to login
while acquire user since %s"
,
pReq
->
info
.
conn
.
user
,
terrstr
());
goto
CONN
_OVER
;
mGError
(
"user:%s, failed to login
from %s while acquire user since %s"
,
pReq
->
info
.
conn
.
user
,
ip
,
terrstr
());
goto
_OVER
;
}
if
(
0
!=
strncmp
(
connReq
.
passwd
,
pUser
->
pass
,
TSDB_PASSWORD_LEN
-
1
))
{
mGError
(
"user:%s, failed to auth while acquire user, input:%s"
,
pReq
->
info
.
conn
.
user
,
connReq
.
passwd
);
if
(
strncmp
(
connReq
.
passwd
,
pUser
->
pass
,
TSDB_PASSWORD_LEN
-
1
)
!=
0
)
{
mGError
(
"user:%s, failed to login from %s since invalid pass, input:%s"
,
pReq
->
info
.
conn
.
user
,
ip
,
connReq
.
passwd
);
code
=
TSDB_CODE_RPC_AUTH_FAILURE
;
goto
CONN_OVER
;
goto
_OVER
;
}
if
(
mndCheckOperAuth
(
pMnode
,
pReq
->
info
.
conn
.
user
,
MND_OPER_CONNECT
)
!=
0
)
{
mGError
(
"user:%s, failed to login from %s since %s"
,
pReq
->
info
.
conn
.
user
,
ip
,
terrstr
());
goto
_OVER
;
}
if
(
connReq
.
db
[
0
])
{
char
db
[
TSDB_DB_FNAME_LEN
];
char
db
[
TSDB_DB_FNAME_LEN
]
=
{
0
}
;
snprintf
(
db
,
TSDB_DB_FNAME_LEN
,
"%d%s%s"
,
pUser
->
acctId
,
TS_PATH_DELIMITER
,
connReq
.
db
);
pDb
=
mndAcquireDb
(
pMnode
,
db
);
if
(
pDb
==
NULL
)
{
terrno
=
TSDB_CODE_MND_INVALID_DB
;
mGError
(
"user:%s, failed to login from %s while use db:%s since %s"
,
pReq
->
info
.
conn
.
user
,
ip
,
connReq
.
db
,
terrstr
());
goto
CONN
_OVER
;
goto
_OVER
;
}
}
...
...
@@ -254,7 +261,7 @@ static int32_t mndProcessConnectReq(SRpcMsg *pReq) {
pReq
->
info
.
conn
.
clientPort
,
connReq
.
pid
,
connReq
.
app
,
connReq
.
startTime
);
if
(
pConn
==
NULL
)
{
mGError
(
"user:%s, failed to login from %s while create connection since %s"
,
pReq
->
info
.
conn
.
user
,
ip
,
terrstr
());
goto
CONN
_OVER
;
goto
_OVER
;
}
SConnectRsp
connectRsp
=
{
0
};
...
...
@@ -271,9 +278,9 @@ static int32_t mndProcessConnectReq(SRpcMsg *pReq) {
mndGetMnodeEpSet
(
pMnode
,
&
connectRsp
.
epSet
);
int32_t
contLen
=
tSerializeSConnectRsp
(
NULL
,
0
,
&
connectRsp
);
if
(
contLen
<
0
)
goto
CONN
_OVER
;
if
(
contLen
<
0
)
goto
_OVER
;
void
*
pRsp
=
rpcMallocCont
(
contLen
);
if
(
pRsp
==
NULL
)
goto
CONN
_OVER
;
if
(
pRsp
==
NULL
)
goto
_OVER
;
tSerializeSConnectRsp
(
pRsp
,
contLen
,
&
connectRsp
);
pReq
->
info
.
rspLen
=
contLen
;
...
...
@@ -283,7 +290,7 @@ static int32_t mndProcessConnectReq(SRpcMsg *pReq) {
code
=
0
;
CONN
_OVER:
_OVER:
mndReleaseUser
(
pMnode
,
pUser
);
mndReleaseDb
(
pMnode
,
pDb
);
...
...
source/dnode/mnode/impl/src/mndUser.c
浏览文件 @
ed3753b3
...
...
@@ -295,7 +295,7 @@ static int32_t mndCreateUser(SMnode *pMnode, char *acct, SCreateUserReq *pCreate
tstrncpy
(
userObj
.
acct
,
acct
,
TSDB_USER_LEN
);
userObj
.
createdTime
=
taosGetTimestampMs
();
userObj
.
updateTime
=
userObj
.
createdTime
;
userObj
.
superUser
=
pCreate
->
superUser
;
userObj
.
superUser
=
0
;
//
pCreate->superUser;
userObj
.
sysInfo
=
pCreate
->
sysInfo
;
userObj
.
enable
=
pCreate
->
enable
;
...
...
source/dnode/mnode/impl/test/user/user.cpp
浏览文件 @
ed3753b3
...
...
@@ -33,6 +33,8 @@ TEST_F(MndTestUser, 01_Show_User) {
TEST_F
(
MndTestUser
,
02
_Create_User
)
{
{
SCreateUserReq
createReq
=
{
0
};
createReq
.
enable
=
1
;
createReq
.
sysInfo
=
1
;
strcpy
(
createReq
.
user
,
""
);
strcpy
(
createReq
.
pass
,
"p1"
);
...
...
@@ -47,6 +49,8 @@ TEST_F(MndTestUser, 02_Create_User) {
{
SCreateUserReq
createReq
=
{
0
};
createReq
.
enable
=
1
;
createReq
.
sysInfo
=
1
;
strcpy
(
createReq
.
user
,
"u1"
);
strcpy
(
createReq
.
pass
,
""
);
...
...
@@ -61,6 +65,8 @@ TEST_F(MndTestUser, 02_Create_User) {
{
SCreateUserReq
createReq
=
{
0
};
createReq
.
enable
=
1
;
createReq
.
sysInfo
=
1
;
strcpy
(
createReq
.
user
,
"root"
);
strcpy
(
createReq
.
pass
,
"1"
);
...
...
@@ -75,6 +81,8 @@ TEST_F(MndTestUser, 02_Create_User) {
{
SCreateUserReq
createReq
=
{
0
};
createReq
.
enable
=
1
;
createReq
.
sysInfo
=
1
;
strcpy
(
createReq
.
user
,
"u1"
);
strcpy
(
createReq
.
pass
,
"p1"
);
...
...
@@ -108,9 +116,11 @@ TEST_F(MndTestUser, 02_Create_User) {
{
SCreateUserReq
createReq
=
{
0
};
createReq
.
enable
=
1
;
createReq
.
sysInfo
=
1
;
strcpy
(
createReq
.
user
,
"u2"
);
strcpy
(
createReq
.
pass
,
"p1"
);
createReq
.
superUser
=
1
;
createReq
.
superUser
=
0
;
int32_t
contLen
=
tSerializeSCreateUserReq
(
NULL
,
0
,
&
createReq
);
void
*
pReq
=
rpcMallocCont
(
contLen
);
...
...
@@ -144,9 +154,11 @@ TEST_F(MndTestUser, 02_Create_User) {
TEST_F
(
MndTestUser
,
03
_Alter_User
)
{
{
SCreateUserReq
createReq
=
{
0
};
createReq
.
enable
=
1
;
createReq
.
sysInfo
=
1
;
strcpy
(
createReq
.
user
,
"u3"
);
strcpy
(
createReq
.
pass
,
"p1"
);
createReq
.
superUser
=
1
;
createReq
.
superUser
=
0
;
int32_t
contLen
=
tSerializeSCreateUserReq
(
NULL
,
0
,
&
createReq
);
void
*
pReq
=
rpcMallocCont
(
contLen
);
...
...
@@ -225,7 +237,7 @@ TEST_F(MndTestUser, 03_Alter_User) {
alterReq
.
alterType
=
TSDB_ALTER_USER_SUPERUSER
;
strcpy
(
alterReq
.
user
,
"u3"
);
strcpy
(
alterReq
.
pass
,
"1"
);
alterReq
.
superUser
=
1
;
alterReq
.
superUser
=
0
;
int32_t
contLen
=
tSerializeSAlterUserReq
(
NULL
,
0
,
&
alterReq
);
void
*
pReq
=
rpcMallocCont
(
contLen
);
...
...
@@ -361,7 +373,7 @@ TEST_F(MndTestUser, 03_Alter_User) {
SGetUserAuthRsp
authRsp
=
{
0
};
tDeserializeSGetUserAuthRsp
(
pRsp
->
pCont
,
pRsp
->
contLen
,
&
authRsp
);
EXPECT_STREQ
(
authRsp
.
user
,
"u3"
);
EXPECT_EQ
(
authRsp
.
superAuth
,
1
);
EXPECT_EQ
(
authRsp
.
superAuth
,
0
);
int32_t
numOfReadDbs
=
taosHashGetSize
(
authRsp
.
readDbs
);
int32_t
numOfWriteDbs
=
taosHashGetSize
(
authRsp
.
writeDbs
);
EXPECT_EQ
(
numOfReadDbs
,
1
);
...
...
@@ -436,6 +448,8 @@ TEST_F(MndTestUser, 05_Drop_User) {
{
SCreateUserReq
createReq
=
{
0
};
createReq
.
enable
=
1
;
createReq
.
sysInfo
=
1
;
strcpy
(
createReq
.
user
,
"u1"
);
strcpy
(
createReq
.
pass
,
"p1"
);
...
...
@@ -468,6 +482,8 @@ TEST_F(MndTestUser, 05_Drop_User) {
TEST_F
(
MndTestUser
,
06
_Create_Drop_Alter_User
)
{
{
SCreateUserReq
createReq
=
{
0
};
createReq
.
enable
=
1
;
createReq
.
sysInfo
=
1
;
strcpy
(
createReq
.
user
,
"u1"
);
strcpy
(
createReq
.
pass
,
"p1"
);
...
...
@@ -482,6 +498,8 @@ TEST_F(MndTestUser, 06_Create_Drop_Alter_User) {
{
SCreateUserReq
createReq
=
{
0
};
createReq
.
enable
=
1
;
createReq
.
sysInfo
=
1
;
strcpy
(
createReq
.
user
,
"u2"
);
strcpy
(
createReq
.
pass
,
"p2"
);
...
...
tests/script/jenkins/basic.txt
浏览文件 @
ed3753b3
...
...
@@ -2,12 +2,10 @@
#======================b1-start===============
# ---- user
./test.sh -f tsim/user/basic1.sim
./test.sh -f tsim/user/pass_alter.sim
./test.sh -f tsim/user/pass_len.sim
./test.sh -f tsim/user/user_len.sim
./test.sh -f tsim/user/privilege1.sim
./test.sh -f tsim/user/privilege2.sim
./test.sh -f tsim/user/basic.sim
./test.sh -f tsim/user/password.sim
./test.sh -f tsim/user/privilege_db.sim
./test.sh -f tsim/user/privilege_sysinfo.sim
## ---- db
./test.sh -f tsim/db/create_all_options.sim
...
...
@@ -135,7 +133,7 @@
./test.sh -f tsim/stable/tag_filter.sim
# --- for multi process mode
./test.sh -f tsim/user/basic
1
.sim -m
./test.sh -f tsim/user/basic.sim -m
./test.sh -f tsim/db/basic3.sim -m
./test.sh -f tsim/db/error1.sim -m
./test.sh -f tsim/insert/backquote.sim -m
...
...
tests/script/tsim/user/basic.sim
0 → 100644
浏览文件 @
ed3753b3
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/exec.sh -n dnode1 -s start
sql connect
print =============== step0
sql show users
if $data(root)[1] != 1 then
return -1
endi
if $data(root)[2] != 1 then
return -1
endi
if $data(root)[3] != 1 then
return -1
endi
sql alter user root pass 'taosdata'
sql_error ALTER USER root SYSINFO 0
sql_error ALTER USER root SYSINFO 1
sql_error ALTER USER root enable 0
sql_error ALTER USER root enable 1
sql_error create database db vgroups 1;
sql_error GRANT read ON db.* to root;
sql_error GRANT read ON *.* to root;
sql_error REVOKE read ON db.* from root;
sql_error REVOKE read ON *.* from root;
sql_error GRANT write ON db.* to root;
sql_error GRANT write ON *.* to root;
sql_error REVOKE write ON db.* from root;
sql_error REVOKE write ON *.* from root;
sql_error REVOKE write ON *.* from root;
sql_error GRANT all ON *.* to root;
sql_error REVOKE all ON *.* from root;
sql_error GRANT read,write ON *.* to root;
sql_error REVOKE read,write ON *.* from root;
print =============== step1: sysinfo create
sql CREATE USER u1 PASS 'taosdata' SYSINFO 0;
sql show users
if $rows != 2 then
return -1
endi
if $data(u1)[1] != 0 then
return -1
endi
if $data(u1)[2] != 1 then
return -1
endi
if $data(u1)[3] != 0 then
return -1
endi
sql CREATE USER u2 PASS 'taosdata' SYSINFO 1;
sql show users
if $rows != 3 then
return -1
endi
if $data(u2)[1] != 0 then
return -1
endi
if $data(u2)[2] != 1 then
return -1
endi
if $data(u2)[3] != 1 then
return -1
endi
print =============== step2: sysinfo alter
sql ALTER USER u1 SYSINFO 1
sql show users
if $data(u1)[1] != 0 then
return -1
endi
if $data(u1)[2] != 1 then
return -1
endi
if $data(u1)[3] != 1 then
return -1
endi
sql ALTER USER u1 SYSINFO 0
sql show users
if $data(u1)[1] != 0 then
return -1
endi
if $data(u1)[2] != 1 then
return -1
endi
if $data(u1)[3] != 0 then
return -1
endi
sql ALTER USER u1 SYSINFO 0
sql ALTER USER u1 SYSINFO 0
sql drop user u1
sql show users
if $rows != 2 then
return -1
endi
print =============== step3: enable alter
sql ALTER USER u2 enable 0
sql show users
if $rows != 2 then
return -1
endi
if $data(u2)[1] != 0 then
return -1
endi
if $data(u2)[2] != 0 then
return -1
endi
if $data(u2)[3] != 1 then
return -1
endi
sql ALTER USER u2 enable 1
sql show users
if $data(u2)[1] != 0 then
return -1
endi
if $data(u2)[2] != 1 then
return -1
endi
if $data(u2)[3] != 1 then
return -1
endi
sql ALTER USER u2 enable 1
sql ALTER USER u2 enable 1
print =============== restart taosd
system sh/exec.sh -n dnode1 -s stop
system sh/exec.sh -n dnode1 -s start
print =============== step4: enable privilege
sql show users
if $rows != 2 then
return -1
endi
if $data(u2)[1] != 0 then
return -1
endi
if $data(u2)[2] != 1 then
return -1
endi
if $data(u2)[3] != 1 then
return -1
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
tests/script/tsim/user/basic1.sim
已删除
100644 → 0
浏览文件 @
72064580
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/exec.sh -n dnode1 -s start
sql connect
print =============== show users
sql show users
if $rows != 1 then
return -1
endi
print $data[0][0] $data[0][1] $data[0][2]
print $data[1][0] $data[1][1] $data[1][2]
print $data[2][0] $data[1][2] $data[2][2]
sql_error show accounts;
sql_error create account a pass "a"
sql_error drop account a
sql_error drop account root
print =============== create user1
sql create user user1 PASS 'user1'
sql show users
if $rows != 2 then
return -1
endi
print $data[0][0] $data[0][1] $data[0][2]
print $data[1][0] $data[1][1] $data[1][2]
print $data[2][0] $data[1][2] $data[2][2]
print $data[3][0] $data[3][1] $data[3][2]
print =============== create user2
sql create user user2 PASS 'user2'
sql show users
if $rows != 3 then
return -1
endi
print $data[0][0] $data[0][1] $data[0][2]
print $data[1][0] $data[1][1] $data[1][2]
print $data[2][0] $data[1][2] $data[2][2]
print $data[3][0] $data[3][1] $data[3][2]
print $data40 $data41 $data42
print =============== drop user1
sql drop user user1
sql show users
if $rows != 2 then
return -1
endi
print $data[0][0] $data[0][1] $data[0][2]
print $data[1][0] $data[1][1] $data[1][2]
print $data[2][0] $data[1][2] $data[2][2]
print $data[3][0] $data[3][1] $data[3][2]
print =============== restart taosd
system sh/exec.sh -n dnode1 -s stop
sleep 1000
system sh/exec.sh -n dnode1 -s start
print =============== show users
sql show users
if $rows != 2 then
return -1
endi
print $data[0][0] $data[0][1] $data[0][2]
print $data[1][0] $data[1][1] $data[1][2]
print $data[2][0] $data[1][2] $data[2][2]
print $data[3][0] $data[3][1] $data[3][2]
system sh/exec.sh -n dnode1 -s stop -x SIGINT
tests/script/tsim/user/pass_len.sim
已删除
100644 → 0
浏览文件 @
72064580
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/exec.sh -n dnode1 -s start
sql connect
$i = 0
$dbPrefix = apdb
$tbPrefix = aptb
$db = $dbPrefix . $i
$tb = $tbPrefix . $i
$userPrefix = apusr
print =============== step1
$i = 0
$user = $userPrefix . $i
sql drop user $user -x step11
return -1
step11:
sql create user $user PASS -x step12
return -1
step12:
sql create user $user PASS 'taosdata'
sql show users
if $rows != 2 then
return -1
endi
print =============== step2
$i = 1
$user = $userPrefix . $i
sql drop user $user -x step2
step2:
sql create user $user PASS '1'
sql show users
if $rows != 3 then
return -1
endi
print =============== step3
$i = 2
$user = $userPrefix . $i
sql drop user $user -x step3
step3:
sql create user $user PASS 'abc0123456789'
sql show users
if $rows != 4 then
return -1
endi
print =============== step4
$i = 3
$user = $userPrefix . $i
sql create user $user PASS 'abcd012345678901234567891234567890abcd012345678901234567891234567890abcd012345678901234567891234567890abcd012345678901234567891234567890123' -x step4
return -1
step4:
sql show users
if $rows != 4 then
return -1
endi
$i = 0
while $i < 3
$user = $userPrefix . $i
sql drop user $user
$i = $i + 1
endw
sql show users
if $rows != 1 then
return -1
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
tests/script/tsim/user/pass
_alter
.sim
→
tests/script/tsim/user/pass
word
.sim
浏览文件 @
ed3753b3
...
...
@@ -16,14 +16,12 @@ if $rows != 3 then
endi
print ============= step2
sql close
sleep 2500
print user u_read login
sql close
sql connect u_read
sql alter user u_read pass 'taosdata'
sql alter user u_write pass 'taosdata1' -x step2
return -1
step2:
sql_error alter user u_write pass 'taosdata1'
sql_error create user read1 pass 'taosdata1'
sql_error create user write1 pass 'taosdata1'
...
...
@@ -34,17 +32,14 @@ if $rows != 3 then
endi
print ============= step3
sql close
sleep 2500
print user u_write login
sql close
sql connect u_write
sql_error create user read2 pass 'taosdata1'
sql_error create user write2 pass 'taosdata1'
sql alter user u_write pass 'taosdata'
sql alter user u_read pass 'taosdata' -x step3
return -1
step3:
sql_error alter user u_read pass 'taosdata'
sql show users
if $rows != 3 then
...
...
@@ -52,15 +47,41 @@ if $rows != 3 then
endi
print ============= step4
sql close
sleep 2500
print user root login
sql close
sql connect
sql create user oroot pass 'taosdata'
sql_error create user $user PASS 'abcd012345678901234567891234567890abcd012345678901234567891234567890abcd012345678901234567891234567890abcd012345678901234567891234567890123'
sql_error create userabcd012345678901234567891234567890abcd01234567890123456789123456789 PASS 'taosdata'
sql_error create user abcd0123456789012345678901234567890111 PASS '123'
sql create user abc01234567890123456789 PASS '123'
sql show users
if $rows !=
4
then
if $rows !=
5
then
return -1
endi
print ============= step5
sql create database db vgroups 1
sql_error ALTER USER o_root SYSINFO 0
sql_error ALTER USER o_root SYSINFO 1
sql_error ALTER USER o_root enable 0
sql_error ALTER USER o_root enable 1
sql_error create database db vgroups 1;
sql_error GRANT read ON db.* to o_root;
sql_error GRANT read ON *.* to o_root;
sql_error REVOKE read ON db.* from o_root;
sql_error REVOKE read ON *.* from o_root;
sql_error GRANT write ON db.* to o_root;
sql_error GRANT write ON *.* to o_root;
sql_error REVOKE write ON db.* from o_root;
sql_error REVOKE write ON *.* from o_root;
sql_error REVOKE write ON *.* from o_root;
sql_error GRANT all ON *.* to o_root;
sql_error REVOKE all ON *.* from o_root;
sql_error GRANT read,write ON *.* to o_root;
sql_error REVOKE read,write ON *.* from o_root;
system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
tests/script/tsim/user/privilege2.sim
已删除
100644 → 0
浏览文件 @
72064580
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/exec.sh -n dnode1 -s start
sql connect
print =============== show users
sql create database d1 vgroups 1;
sql create database d2 vgroups 1;
sql create database d3 vgroups 1;
sql show databases
if $rows != 5 then
return -1
endi
print =============== create users
sql create user user1 PASS 'taosdata'
sql create user user2 PASS 'taosdata'
sql show users
if $rows != 3 then
return -1
endi
sql GRANT read ON d1.* to user1;
sql GRANT write ON d2.* to user1;
print =============== re connect
sql close
sleep 2500
print user user1 login
sql connect user1
sql_error drop database d1;
sql_error drop database d2;
sql_error create stable d1.st (ts timestamp, i int) tags (j int)
sql create stable d2.st (ts timestamp, i int) tags (j int)
system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
tests/script/tsim/user/privilege
1
.sim
→
tests/script/tsim/user/privilege
_db
.sim
浏览文件 @
ed3753b3
...
...
@@ -3,7 +3,7 @@ system sh/deploy.sh -n dnode1 -i 1
system sh/exec.sh -n dnode1 -s start
sql connect
print ===============
show users
print ===============
create db
sql create database d1 vgroups 1;
sql create database d2 vgroups 1;
sql create database d3 vgroups 1;
...
...
@@ -68,4 +68,26 @@ sql REVOKE read,write ON d1.* from user1;
sql REVOKE read,write ON d2.* from user1;
sql REVOKE read,write ON *.* from user1;
print =============== create users
sql create user u1 PASS 'taosdata'
sql show users
if $rows != 4 then
return -1
endi
sql GRANT read ON d1.* to u1;
sql GRANT write ON d2.* to u1;
print =============== re connect
print user u1 login
sql close
sql connect u1
sql_error drop database d1;
sql_error drop database d2;
sql_error create stable d1.st (ts timestamp, i int) tags (j int)
sql create stable d2.st (ts timestamp, i int) tags (j int)
system sh/exec.sh -n dnode1 -s stop -x SIGINT
tests/script/tsim/user/privilege_sysinfo.sim
0 → 100644
浏览文件 @
ed3753b3
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/exec.sh -n dnode1 -s start
sql connect
print =============== create user and login
sql create user sysinfo0 pass 'taosdata'
sql create user sysinfo1 pass 'taosdata'
sql alter user sysinfo0 sysinfo 0
sql alter user sysinfo1 sysinfo 1
print user sysinfo0 login
sql close
sql connect sysinfo0
system sh/exec.sh -n dnode1 -s stop
return
print =============== check oper
sql_error create user u1 pass 'u1'
sql_error drop user sysinfo1
sql_error alter user sysinfo1 pass '1'
sql_error alter user sysinfo0 pass '1'
system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
tests/script/tsim/user/user_len.sim
已删除
100644 → 0
浏览文件 @
72064580
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/exec.sh -n dnode1 -s start
sql connect
$i = 0
$dbPrefix = lm_us_db
$tbPrefix = lm_us_tb
$db = $dbPrefix . $i
$tb = $tbPrefix . $i
print =============== step1
sql drop user ac -x step0
return -1
step0:
sql create user PASS '123' -x step1
return -1
step1:
sql show users
if $rows != 1 then
return -1
endi
print =============== step2
sql drop user a -x step2
step2:
sql create user a PASS '123'
sql show users
if $rows != 2 then
return -1
endi
sql drop user a
sql show users
if $rows != 1 then
return -1
endi
print =============== step3
sql drop user abc01234567890123456789 -x step3
step3:
sql create user abc01234567890123456789 PASS '123'
sql show users
if $rows != 2 then
return -1
endi
sql drop user abc01234567890123456789
sql show users
if $rows != 1 then
return -1
endi
print =============== step4
sql create user abcd0123456789012345678901234567890111 PASS '123' -x step4
return -1
step4:
sql show users
if $rows != 1 then
return -1
endi
print =============== step5
sql drop user 123 -x step5
step5:
sql create user 123 PASS '123' -x step61
return -1
step61:
sql create user a123 PASS '123'
sql show users
if $rows != 2 then
return -1
endi
sql drop user a123
sql show users
if $rows != 1 then
return -1
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录