达梦数据库登录基于操作系统的身份验证
DM提供数据库身份验证模式和外部身份验证模式来保护对数据库访问的安全。数据库身份验证模式需要利用数据库口令,即在创建或修改用户时指定用户口令,用户在登录时输入对应口令进行身份验证;外部身份验证模式支持基于操作系统(OS)的身份验证、LDAP身份验证和KERBEROS身份验证。
SQL> CREATE USER dameng IDENTIFIED BY "dameng12345";
SQL> SP_SET_PARA_VALUE(2,'ENABLE_LOCAL_OSAUTH',1);
SQL> COMMIT;
方法一
用户的 gid要跟uid 一致才行呢,否则会报未经授权的用户
Select * from v$parameter where name in ('ENABLE_LOCAL_OSAUTH');
[dmdba@localhost bin]$ ./disql /@localhost:5236 as sysdba
[-2512]:未经授权的用户.
disql V8
用户名:^C
[dmdba@localhost bin]$ ^C
[dmdba@localhost bin]$ id
uid=1001(dmdba) gid=1001(dinstall) 组=1001(dinstall),1002(dmusers) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[dmdba@localhost bin]$ exit
登出
[root@localhost dmsoft]# groupadd dmdba
[root@localhost dmsoft]# usermod -g dmdba -G dmdba,dinstall dmdba
[root@localhost dmsoft]# su - dmdba
Last login: Thu Mar 3 22:02:40 PST 2022 on pts/0
[dmdba@localhost ~]$ cd /opt/dmdbms/bin
[dmdba@localhost bin]$ ./disql /@localhost:5236 as sysdba
服务器[localhost:5236]:处于普通打开状态
登录使用时间 : 2.646(ms)
disql V8
SQL> ^C
[dmdba@localhost bin]$ id
uid=1001(dmdba) gid=1003(dmdba) 组=1003(dmdba),1001(dinstall) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[dmdba@localhost bin]$
方法二
修配置文件改ENABLE_LOCAL_OSAUTH参数为1并重启数据库服务(开启操作系统用户本地授权):
增加dmdba组,并添加为dmdba用户的附组
[root@DM ~]# groupadd dmdba
[root@DM ~]# usermod -G dmdba dmdba
[root@DM ~]# id dmdba
uid=1001(dmdba) gid=2001(dinstall) 组=2001(dinstall),2002(dmdba)
以系统认证方式登录
[dmdba@DM ~]$ disql / as sysdba
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 1.006(ms)
disql V8
执行语句修改密码
SQL>alter user "SYSDBA" identified by "dameng123";