sybase用户管理(创建、授权、删除)
一、登录用户管理:
1、创建用户:sp_addlogin loginame, passwd [, defdb] [, deflanguage] [, fullname] [, passwdexp] [, minpwdlen] [, maxfailedlogins] [, auth_mech]
如:创建用户rusky,密码:zxcvbnm,默认数据库testdb,默认语言:us_english
1> sp_addlogin rusky,zxcvbnm,testdb,us_english
2> go
2、修改密码
sp_password old_passwd, new_passwd [, loginame, immediate]
3、修改默认数据库
sp_modifylogin loginame , option, value
sp_modifylogin rusky,defdb,testdb2
4、修改登录用户的最大登录尝试失败次数:
sp_modifylogin rusky,"max failed_logins","2"
(用户尝试登录失败两次后,账号将被锁定。锁定后无法登录,提示内容跟输错密码一样,客户端无法区分出是输入有误,还是账号锁定)
5、解锁登录用户账号
sp_locklogin "rusky","unlock"
6、删除登录用户
1> sp_droplogin rusky
2> go
Account locked.
Login dropped.
(return status = 0)
1>
如果要删除的登录名是服务器上任意数据库中的用户,则sp_droplogin失败。需先使用sp_dropuser从数据库中删除该用户。如果用户在数据库中拥有任何对象,则不能从数据库删除此用户。
应该使用sp_dropuser rusky,再sp_droplogin。如果数据库处于脱机状态,则会删除登录名。
---------------
二、数据库用户管理:
1、关于登录用户和数据库用户:
由于Sybase是多数据库结构,为了对多个数据库中的用户进行统一管理,因此使用了登录用户和数据库用户。
登录用户:用来登录Sybase数据库,就是我们连接数据库时使用的用户。如果登录用户没有添加到某一个数据库中,它将无法操作某一数据库
数据库用户:用来管理使用数据库,在所属数据库中是唯一的。
因此同一个登录用户可以对应多个不同数据库的数据库用户。
为了使用Sybase ASE上的数据库,必须在数据库中有一个用户,这个用户是数据库所有者通过sp_adduser来增加的。
sp_adduser loginname,DBusername --创建数据库用户loginname和dbusername可以相同
sp_helpuser username--查看用户信息
sp_dropuser username--删除数据库用户
----------------------------------------------------测试案例
1> sp_addlogin abc,zxcvbnm,testdb,us_english 2> go Password correctly set. Account unlocked. New login created. (return status = 0) 1> sp_adduser abc,abc 2> go New user added. (return status = 0) 1> sp_adduser abc,abc 2> go New user added. (return status = 0) 1> sp_helpuser abc 2> go Users_name ID_in_db Group_name Login_name ---------------------------------------- -------------------------------- ---------------------------------------- ---------------------------------------- abc 4 public abc (1 row affected) (return status = 0) 1>
2、用户授权与撤销授权
授予用户创建对象的权限
授予用户ultranms创建表、缺省值、规则、存储过程还有视图的权限
grant create table,create default,create rule,create procedure,create view to abc
授予用户abc创建函数的权限
grant create function to abc
查看用户abc的权限
1> sp_helprotect abc
2> go
撤销用户abc创建函数的权限
revoke create function from abc