达梦8之非默认端口(5236)如何实现操作系统认证登录
1、背景
近期遇到诸多金融类项目,在实际生产环境中对达梦SYSDBA默认密码和实例端口,均不允许缺省设置,由此需修改SYSDBA默认密码和默认实例端口号,本文为大家介绍同时修改SYSDBA默认密码(SYSDBA)以及默认端口(5236)情况下实现本地OS免密码登录。
2、实现过程
2.1 实现思路
1)基于OS的身份本机验证需要将dm.ini的ENABLE_LOCAL_OSAUTH参数设为1
2)新建用户组dmdba,将免密的用户添加到dmdba用户组中
3)重启数据库实例,检查ENABLE_LOCAL_OSAUTH参数值
4)非默认端口(5236)本地登录小技巧
2.2 测试环境介绍
操作系统:Kylin Linux Advanced Server V10
架构:X86_64
达梦版本:8.1.2.159
3、具体操作过程
3.1未修改默认端口和密码,登录方式
su - dmdba
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/SYSDBA@localhost:5236
【用户名】:SYSDBA
【默认密码】:SYSDBA
【IP地址】:localhost(也可以127.0.0.1或实际的IP地址)
【端口号】:5236
3.2修改默认端口和密码后,登录方式
1)修改达梦参数文件dm.ini
根据自己的数据库目录下找到dm.ini修改
vim dm.ini
PORT_NUM=5236 把默认的端口改为:15236
2)修改SYSDBA默认密码
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/SYSDBA@localhost:5236
alter user SYSDBA identified by "dameng123";
3)重启下数据库实例
cd /home/dmdba/dmdbms/bin
./DmServicet1 restart
4)测试用明文登录,结果显而易见肯定是可以的
cd /home/dmdba/dmdbms/bin
./disql SYSDBA/dameng123@localhost:15236
注意:显然这种明文登录方式,几乎在任何生产环境中都不被允许,太容易泄密。
重点来了,往下看!!!!!!!
3.3 实现OS本地免密,登录方式
先尝试免密登录会是什么效果呢?
su - dmdba
cd /home/dmdba/dmdbms/bin
disql / as sysdba
结论:没配置ENABLE_LOCAL_OSAUTH参数之前,免密登录肯定是不行的。
**
下面来看如何实现免密登录详细过程:
**
1)用root添加用户组
groupadd -g 10002 dmdba
usermod -G dmdba dmdba
2)修改dm.ini参数ENABLE_LOCAL_OSAUTH=1
select para_name,para_value,file_value from v$dm_ini where para_name ='ENABLE_LOCAL_OSAUTH';
sp_set_para_value(2,'ENABLE_LOCAL_OSAUTH',1);
cd /home/dmdba/dmdbms/bin
./DmServicet1 restart
cd /home/dmdba/dmdbms/bin
./disql /:15236 as sysdba
4、总结
实现的关键其实就两个关键点:
1)添加dmdba用户组
2)修改参数enable_local_osauth
上达梦技术社区了解更多:https://eco.dameng.com