linux 本地账号密码无法登陆(shell可以登录),一直返回 登陆的login界面

简介:

 今天我在我虚拟机测试的时候遇到了一个问题。登陆centos一直是返回login,账号和密码没错,我也换了两个用户。

    1.问题描述

    我正常的输入用户名和密码

   

  错误提示截图:返回登陆界面,我重新试了另外的oracle用户发现也是一样的返回login

 

2.错误分析

 我百度了一下错误,后来发现了一篇与这个问题有关的文章http://blog.itpub.net/35489/viewspace-620915/,因为我昨天刚用我虚拟机测试安装了oracle.

我发现了原因是因为昨天我安装oracle时候做了修改/etc/pam.d/login文件。  后来查询才知道我加的语句有问题

 

 

    原来我的语句限制语句有问题:

   

#session required /lib64/security/pam_limits.so  这是对应64位的,
session required /lib/security/pam_limits.so  这是对应32位的,我出现问题的原因是我用的是32位的语句而我是64位系统

 

3.解决方法

 我查了好久,差点就重装系统后来找到了两种解决办法。

 

   我网上查了资料http://blog.itpub.net/15480802/viewspace-1406088/,发现  pam_securetty.so读取/etc/securrety,设定root用户可以登陆的终端,一般只设置tty而没有pts/0,telnet使用该模块故无法使用root用户登录,而sshd没有使用到该模块故不受限制;

 

       通过这个分析和资料查找,我找到了两个解决办法。

   a).  针对电脑可连接ssh crt,且知道ip的

     通过ssh crt类的软件远程连接系统,然后更改文件   vi /etc/pam.d/login  ,把 session required /lib/security/pam_limits.so 更改为session required /lib64/security/pam_limits.so 

 (附1:crt连接截图。 刚工作时候我也不会,都没人跟我说,我不会又不好意思问,问了周围人也都不肯认真的告诉我)

  

 

  (附2: vim编辑器的操作  进入后 按键盘 i 进入文本模式方可编辑,不然命令模式下不可以编辑。  退出文本模式是  esc(键) 然后再按 :(符号,键盘上 shif + ;:键)  然后保存是 输入 wq,  如果做了操作不保存是 q!  。  这个虽然简单,但是如果不知道也尴尬,我就是工作中第一次接触这个不太会的时候被周围同事斥责和嘲笑了。只要肯用心就行。)

    如图  

   第二张方法: 针对练不上网,不能连接SSH crt软件的

   此种方法比较笨,就是重启系统,进入linux的但模式  模式。  如何进入单模式系统 http://jingyan.baidu.com/article/7e440953f87f4a2fc0e2ef90.html

  此方法还可以应用于找回密码。但是这次这个进入但模式模式重置密码是不管用的,至少我试了重置密码还是不行。

    进入单模式模式后,直接 然后更改文件   vi /etc/pam.d/login  ,把 session required /lib/security/pam_limits.so 更改为session required /lib64/security/pam_limits.so 

 

  附3:如何进入单模式模式简单介绍:  重启系统,然后在登陆界面,  按键盘e进入如下图  

选择第二内核,然后 输入1或者 single 并回车,然后 按 b 这样等待一下就进入 单用户模式了,在这个模式下进行修改操作。

 

 

 

 4.重新登陆即可正常使用

文章可以转载,必须以链接形式标明出处。

本文转自 张冲andy 博客园博客,原文链接: http://www.cnblogs.com/andy6/p/7257512.html   ,如需转载请自行联系原作者


相关文章
|
3月前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
466 9
|
3月前
|
算法 Linux Shell
Linux实用技能:打包压缩、热键、Shell与权限管理
本文详解Linux打包压缩技巧、常用命令与原理,涵盖.zip与.tgz格式操作、跨系统传文件方法、Shell运行机制及权限管理,助你高效使用Linux系统。
Linux实用技能:打包压缩、热键、Shell与权限管理
|
3月前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
395 2
|
5月前
|
Web App开发 缓存 安全
Linux一键清理系统垃圾:释放30GB空间的Shell脚本实战​
这篇博客介绍了一个实用的Linux系统盘清理脚本,主要功能包括: 安全权限检查和旧内核清理,保留当前使用内核 7天以上日志文件清理和系统日志压缩 浏览器缓存(Chrome/Firefox)、APT缓存、临时文件清理 智能清理Snap旧版本和Docker无用数据 提供磁盘空间使用前后对比和大文件查找功能 脚本采用交互式设计确保安全性,适合定期维护开发环境、服务器和个人电脑。文章详细解析了脚本的关键功能代码,并给出了使用建议。完整脚本已开源,用户可根据需求自定义调整清理策略。
714 1
|
7月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
236 4
|
7月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
463 3
|
8月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
722 25
|
8月前
|
Linux Shell
shell_42:Linux参数移动
总的来说,参数移动是Linux shell脚本中的一个重要概念,掌握它可以帮助我们更好地处理和管理脚本中的参数。希望这个解释能帮助你理解和使用参数移动。
201 18
|
10月前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
333 13
|
10月前
|
Linux Shell
问题记录:解决Linux登录故障,/etc/passwd配置受损该怎么操作
修复/etc/passwd文件是解决Linux登录故障的重要步骤。通过进入单用户模式、挂载文件系统、恢复或手动修复/etc/passwd文件,可以有效解决该问题。保持定期备份系统配置文件是预防此类问题的最佳实践。
357 5