今天我在我虚拟机测试的时候遇到了一个问题。登陆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.重新登陆即可正常使用

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

  1. 修改 /etc/pam.d/login, linux 本地账号密码无法登陆,一直返回 登陆的login界面

    今天我在我虚拟机测试的时候遇到了一个问题.登陆centos一直是返回login,账号和密码没错,我也换了两个用户. 1.问题描述 我正常的输入用户名和密码 错误提示截图:返回登陆界面,我重新试了另外的 ...

  2. linux服务器账号密码正确无法登录

    登录服务器时,发现密码错误,输入后还是错误不能登录 最后发现登录日志中有pam_tally2(sshd:auth): user root (0) tally 53, deny 6 less /var/ ...

  3. mysql 在linux 修改账号密码

    1.root用户登录到mysql数据库代码示例:/usr/local/mysql/bin/mysql -u root -p (输入密码进入mysql)2.进入mysql,输入:代码示例:use mys ...

  4. linux 如何初始化密码(解决mysql root用户登录不了的问题)

    这是我遇到的问题 然后就想这可能是mysql安全模式的问题,解决思路:首先改变mysql的安全模式及密码校验问题,jinrumysql后在更改用户名密码. 1.首先将my.ini中加入在[mysqld ...

  5. cocos2d JS 本地缓存存储登陆记住账号密码->相当于C++中的UserDefault

    在cocos-js 3.0以上的版本中,当我们用到本地存储的时候,发现以前用到的UserDefault在JS中并没有导出,而是换成了LocalStorage. 在LocalStorage.h文件中我们 ...

  6. Linux root用户密码重置,远程登陆,文件基本属性

    Linux root用户密码重置,远程登陆,文件基本属性 忘记Linux系统的root密码,linux系统忘记root密码的情况该怎么办呢?重新安装系统吗?当然不用!进入单用户模式更改一下root密码 ...

  7. 批量增加Linux系统账号、重置账号密码、FTP账号批量测试

    批量增加Linux系统账号.重置账号密码是用Linux Shell脚本来做的:批量FTP账号测试是用Python脚本来做的.这些脚本都是读取一个用户名和密码文件,然后基于该用户名密码文件进行自动批量测 ...

  8. Linux账号密码过期会导致crontab作业不能执行

    今天一同事报告Linux服务器上的crontab作业没有运行,检查/var/log/cron日志后发现下面错误信息 Jan 19 16:30:01 xxxx crond[31399]: Authent ...

  9. Linux和windows下清除svn保存的账号密码信息

    linux是什么用户登录就是什么用户的home下,如root用户就是/root,如果xiangdong就是/home/xiangdong 用Svn时会有一种需求是需要换个帐号测试一下什么的,但往往有缓 ...

随机推荐

  1. jsp——js事件修改属性样式的两种方法(直接赋值、修改属性)、验证表单符合某要求、阻止表单提交、告诉浏览器不要缓存

    代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodi ...

  2. 内核hlist的使用

    struct hlist_head { struct hlist_node *first; }; struct hlist_node { struct hlist_node *next, **ppre ...

  3. python技术

    要把zabbix弄成自动监控,下发任务,部署,事件恢复得功能

  4. NumPy在数组上的迭代

    NumPy - 数组上的迭代 NumPy 包包含一个迭代器对象numpy.nditer. 它是一个有效的多维迭代器对象,可以用于在数组上进行迭代. 数组的每个元素可使用 Python 的标准Itera ...

  5. scala学习手记28 - Execute Around模式

    我们访问资源需要关注对资源的锁定.对资源的申请和释放,还有考虑可能遇到的各种异常.这些事项本身与代码的逻辑操作无关,但我们不能遗漏.也就是说进入方法时获取资源,退出方法时释放资源.这种处理就进入了Ex ...

  6. Android Studio混淆打包

    1.apk混淆打包 如果要对apk进行混淆,你要先告知gradle这个app需要混淆,并告知其混淆规则. 告知gradle需要混淆的代码 在Project/app/build.gradle中把mini ...

  7. Android获取所有应用的资源id和对应的uri

    背景 在某些应用中,为了实现应用apk资源放入重复利用,或者使用反射得到本应用的资源,需要使用反射方式获得,但Resources类中也自带了这种获取方式,并且功能更加强大 你可以获取string,co ...

  8. Android 通过名称获取资源ID

    当我们获取网络数据的时候,解析之后往往都是一个字符串,而不是资源id,所有我们没有办法直接使用,只能通过名称来获取到资源id, package com.example.administrator.de ...

  9. Tavas and Karafs 二分+结论

    二分比较容易想到 #include<map> #include<set> #include<cmath> #include<queue> #includ ...

  10. Log4j 发送 EMail 的配置

    项目上线后,运行时往往也还会有异常发生,在异常抛出时,希望即时的得到反馈.所以需要配置LOG4J的发送EMAIL功能. 项目中原来使用的的Log4j版本为1.2.9 ,但此版本并不支持邮件服务的认证功 ...