重庆思庄Oracle、Redhat认证学习论坛

标题: 奇怪的su 切换用户报:could not open session [打印本页]

作者: 郑全    时间: 2022-7-18 11:02
标题: 奇怪的su 切换用户报:could not open session
本帖最后由 郑全 于 2022-7-18 11:03 编辑

今天遇到一用户说昨天停电,今天数据库没有起来,登录上去一看,数据库没有起来,但通过su - oracle 切换用户,一直报 : cannot open session
奇怪了,赶紧查BAIDU,结果网上的都说是nofile 限制设置为-1 导致

但我这里是 65536,没有问题

还看了其他一些参数,比如 nproc,都统统的修改了,设置去掉了,都不行 。


也包含/etc/sysctl.conf,一通修改,还是不顶用。

于是自己建立一个用户,useradd sztech
su - sztech

同样的报错,切换了。

这个时候,通过ssh 直接登录,结果可以正常的登录.

看来是在切换上,赶紧问用户最近做过什么操作,用户反馈是前面做过安全加固,还安装了LINUX下的杀毒软件,我想杀毒软件不会影响这个吧,排除,看看其他,一行行对
我把前面加的先屏蔽掉,结果可以切换用户了。
在注释时,发现一个比较奇怪,怎么在两行上:
password requisite pam_cracklib.so lcredit=-1 dcredit=-1 ocredit=-1
dictpath=/usr/share/cracklib/pw_dict enforce for root

应该是一样吧

赶紧把这个注释去掉,再去切换,又出现了:could not open session.
  把dictpath=/usr/share/cracklib/pw_dict enforce for root 放在上一行去,结果没有问题。

看来问题找到了,就是前面安全加固人员直接拷贝上去的,结果放到下一行了,由于修改后,没有重启过,所以没有感觉到。

正确的如下:
password requisite pam_cracklib.so lcredit=-1 dcredit=-1 ocredit=-1 dictpath=/usr/share/cracklib/pw_dict enforce for root


至此,问题解决。

说明一下:
   lcredit=-1 至少一个小写字母 dcredit=-1 至少一个数字 ocredit=-1 至少一个特殊字符 , enforce for root ,root也不例外





作者: 郑全    时间: 2022-7-18 11:06
4213162d4ce1ddb929.png
登录/注册后可看大图