修改conf目录下cassandra.yaml文件
1.将authenticator修改为PassWordAuthenticator ,决定是否继续用户登录
将authorizer修改为CassandraAuthorizer,通过授权决定登录之后用户具有哪些权限
重新启动cassandra并且根据默认用户登录cqlsh,用户名密码都是cassandra
2. ./cqlsh –u cassandra –p cassandra
如果要修改默认用户,进入cqlsh后,一般都是创建一个新的超级用户,然后删除默认的cassandra用户,或者将其用户类型修改为NOSUPERUSER
CREATE USER test WITH PASSWORD '123456' SUPERUSER; //创建一个超级用户
CREATE USER test1 WITH PASSWORD '123456' NOSUPERUSER; //创建一个普通用户
ALTER USER test WITH PASSWORD '654321' ( NOSUPERUSER |SUPERUSER ); //修改用户
DROP USER cassandra; //删除默认用户
LIST USERS; //显示所有用户和用户类型
3.创建一个新的超级用户作为管理员,然后就可以创建普通用户,通过授权使其只具有操作某一keyspace或者table的权限,对象权限管理基于内部授权,与关系型数据库GRANT/REVOKE语法类似,通过设置permissions_validity_in_ms选项调整权限有效期,授权语句如下:
GRANTpermission_name ON resource TO user_name //增加某一权限
REVOKEpermission_name ON resource FROM user_name//删掉某一权限
LISTpermission_nameON resource OF user_name
其中permission_name为如下,你可以赋予某几个权限,也可以赋予ALL
ALL,ALTER,AUTHORIZE,CREATE,DROP, MODIFY,SELECT
resource为
ALL KEYSPACES
KEYSPACE keyspace_name
TABLE keyspace_name.table_name
授权完毕之后,可以通过system_auth中的role_permissions表来查询用户的权限,如果所建立的普通用户只能操作特定的keyspace,这个时候就需要使用
管理员账号来登陆。
新闻热点
疑难解答