Linux 无法从本地字符界面(tty1-tty6)登陆深度解析

作者:吴伟龙(PrudentWoo)

问题描述:

每次装完Oracle数据库之后,本地的tty1-tty6就无法登陆,只能通过vtty或tty7图形终端登陆。

问题现象:

输入完用户名密码之后,自动弹回如下界面:

日志信息:

[root@nec3 ~]# tail -f /var/log/messages

Dec 13 09:27:58 nec3 init: tty (/dev/tty1) main process ended, respawning

Dec 13 09:28:03 nec3 init: tty (/dev/tty1) main process (2782) terminated with status 1

Dec 13 09:28:03 nec3 init: tty (/dev/tty1) main process ended, respawning

Dec 13 09:28:43 nec3 init: tty (/dev/tty1) main process (2787) terminated with status 1

Dec 13 09:28:43 nec3 init: tty (/dev/tty1) main process ended, respawning

Dec 13 09:29:51 nec3 init: tty (/dev/tty1) main process (2793) terminated with status 1

Dec 13 09:29:51 nec3 init: tty (/dev/tty1) main process ended, respawning

我们可以从上面的message日志中看到本地tty1登陆的这个动作,但是没有报错,那么登陆无非要去进行用户名和密码验证,那么用户密码验证信息会记录在名为secure的日志中,如果报密码错误日志中会显示验证失败,日志条目为:FAILED LOGIN 1 FROM (null) FOR root, Authentication failure。

实际上我们在secure日志中看到的信息是Module is unknow以及无法打开pam_limits.so模块。

[root@nec3 ~]# tail -f /var/log/secure

Dec 13 09:28:03 nec3 login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)

Dec 13 09:28:03 nec3 login: Module is unknown

Dec 13 09:28:08 nec3 login: PAM unable to dlopen(/lib/security/pam_limits.so): /lib/security/pam_limits.so: cannot open shared object file: No such file or directory

Dec 13 09:28:08 nec3 login: PAM adding faulty module: /lib/security/pam_limits.so

Dec 13 09:28:43 nec3 login: pam_unix(login:session): session opened for user root by LOGIN(uid=0)

Dec 13 09:28:43 nec3 login: Module is unknown

日志分析:

根据上面的日志条目中我们可以看到有无效模块,而这个无效的模块信息是我们在数据库安装过程中添加到/etc/pam.d/login配置文件中的,我现在需要判断下这个模块是否存在,为什么需要这个模块。

[root@nec3 ~]# grep pam_limits /etc/pam.d/login

session    required     /lib/security/pam_limits.so

[root@nec3 ~]# ls -rtl /lib

lib/   lib64/

[root@nec3 ~]# ls -rtl /lib/security/pam*

ls: cannot access /lib/security/pam*: No such file or directory

那么我们可以看到该模块是不存在的,随即我们再看下lib64这个目录中是否有oracle安装所需的该模块。

[root@nec3 ~]# ls -rtl /lib64/security/pam_limits.so

-rwxr-xr-x. 1 root root 18592 Oct  7  2013 /lib64/security/pam_limits.so

那么我们可以清楚的看到在这里是存在这个模块的。

问题处理:

既然已经看到问题的原因,那么将会有如下三个解决方案:

1、    拷贝条目:

[root@nec3 ~]# cp /lib64/security/pam_limits.so /lib/security/pam_limits.so

[root@nec3 ~]# ls -rtl /lib/security/pam_limits.so

-rwxr-xr-x. 1 root root 18592 Oct  7  2013 /lib/security/pam_limits.so

2、    ln pam_limits.so

[root@nec3 ~]# ln -s /lib64/security/pam_limits.so /lib/security/pam_limits.so

3、    修改配置文件login为如下:

[root@nec3 ~]# grep pam_limits /etc/pam.d/login

session    required     /lib64/security/pam_limits.so

后记:

文中提到为什么要用pam_limits.so这个模块,因为我们在配置Oracle部署环境的时候配置了limits.conf限制文件,那么我们要使这个配置生效,必须要确保pam_limits.so被加入到登陆配置文件中应用生效。

参考:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/5/html/Tuning_and_Optimizing_Red_Hat_Enterprise_Linux_for_Oracle_9i_and_10g_Databases/chap-Oracle_9i_and_10g_Tuning_Guide-Setting_Shell_Limits_for_the_Oracle_User.html

That these limits work you also need to ensure thatpam_limitsis configured in the/etc/pam.d/system-authfile, or in/etc/pam.d/sshdforssh,/etc/pam.d/suforsu, or/etc/pam.d/loginfor local access andtelnetand disable telnet for all log in methods. Here are examples of the two session entries in the/etc/pam.d/system-authfile:

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20674423/viewspace-2130362/,如需转载,请注明出处,否则将追究法律责任。

Linux tty1密码,Linux 无法从本地字符界面(tty1-tty6)登陆深度解析相关推荐

  1. 批量修改linux服务器密码,Linux下批量修改服务器用户密码方法步骤

    Linux下批量修改服务器用户密码方法步骤 密码快要过期.由于机器数量众多,因此采用批量修改密码的方式来进行处理. 下面是具体步骤: 1.配置ssh免key # ssh-keygen -t rsa - ...

  2. linux 动态密码,Linux动态密码

    关于Linux动态密码的好处就不用多说了. 我的系统的是rhel5 安装软件包: expect-5.43.0-5.1.i386.rpm        ## RHEL5自带有 利用命令mkpasswd生 ...

  3. linux rcp 密码,Linux rcp命令

    Linux rcp命令 Linux rcp命令用于复制远程文件或目录. rcp指令用在远端复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件 ...

  4. vmware linux忘记密码,linux虚拟机忘了密码怎么办?

    针对楼主的提问,大致分几个不同版本的Linux系统(redhat Linux;Ubuntu;CentOS)来讨论: 1,redhat Linux系统: 具体操作过程如下: 1.重新启动虚拟机,在出现启 ...

  5. X64 Linux 无法从本地字符界面登陆。

    2019独角兽企业重金招聘Python工程师标准>>> 经常有怪事发生.话说,我有一台负责squid的服务器,远程登陆好好的就一直由她好好地. 今天要改个网关,于是就接了个显示器在本 ...

  6. linux 嗅探密码,Linux下嗅探又一实例截取

    在SecureCRT下利用rz命令上传我们用到的arpsniffer.c,然后编译: [root@bbs111 root]# gcc -I/usr/local/include -L/usr/local ...

  7. linux ntfs 密码,linux 加载ntfs和fat32分区

    原标题:linux 加载ntfs和fat32分区 纯手工打造每一篇开源资讯与技术干货,数十万程序员和Linuxer已经关注. 导读 关于加载ntfs和fat文件系统的文章极多,但写的不太明确,新手上路 ...

  8. Linux基础知识系统学习.NO2——基础字符界面命令

    2.4.简单基础命令 Ps:实际命令为把加号替换为空格 (1)whoami:查询当前登陆用户用户名 (2)pwd:打印当前工作目录 (3)mkdir -p+[新目录名]:创建新目录,-p表示可以创建多 ...

  9. 服务器忘记linux系统密码,linux系统服务器忘记密码怎么办

    linux系统服务器忘记密码重置和修改密码方法略有不同,需要的步骤也比之前越多,忘记密码后重新设置root密码的方法这里Jimcloud安安企鹅四九四四一七三五一来告诉你: 1:重启电脑 2:在电脑启 ...

最新文章

  1. 如何检查当TextBox设置为多行时是不是超长了?
  2. python文件的用法_Python文件读写常见用法总结
  3. 如何自学python数据分析-如何轻松学习Python数据分析?
  4. JSON,java对象转json
  5. 一次 Java 内存泄漏排查过程,学习学习
  6. .NetCore 下开发独立的(RPL)含有界面的组件包 (四)授权过滤
  7. EJB 3.0注入和查找简介
  8. REVERSE-PRACTICE-JarvisOJ-4
  9. java打印两个小人_[原创]Java画小人与阶梯问题的解答
  10. 注册Tomcat到Window Service服务
  11. javascript 正则表达式小案例
  12. 这些配色方案让数据可视化图表更加高大上
  13. android drm框架分析,如何使用android.drm框架
  14. cidaemon.exe进程
  15. (原創) 如何將16進位的ACSII值轉成相對應的字元? (C/C++) (C)
  16. php自学难_php难吗?自学要多久?需要报培训班吗?
  17. 16 通道 65MSPS 14 bit 直流耦合 AD 采集卡/ FMC 子卡
  18. c语言实现去除字符串中空格
  19. python中函数的定义意思
  20. 微信小程序 消息订阅 长期订阅 一次授权 多次接收 微信服务通知

热门文章

  1. (二十四)树莓派3B+ Node.js驱动MPU6050
  2. SecureCRT录制和添加自动登录脚本
  3. 了解语言模型Model Language,NLP必备
  4. Java字符串中判断是否有汉字
  5. crmeb多商户二开文档
  6. 关于python中的setup.py
  7. css旋转不围绕圆心,无法围绕中心css旋转图像
  8. ADPCM(自适应差分脉冲编码调制)的原理和计算
  9. 交大BBS上一个失恋的女生无意下写的却感动了万人的真实的帖...
  10. 高中计算机网页制作难点,网页制作的操作难点.doc