修改 /etc/pam.d/login, linux 本地账号密码无法登陆,一直返回 登陆的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.重新登陆即可正常使用
修改 /etc/pam.d/login, linux 本地账号密码无法登陆,一直返回 登陆的login界面的更多相关文章
- linux 本地账号密码无法登陆(shell可以登录),一直返回 登陆的login界面
今天我在我虚拟机测试的时候遇到了一个问题.登陆centos一直是返回login,账号和密码没错,我也换了两个用户. 1.问题描述 我正常的输入用户名和密码 错误提示截图:返回登陆界面,我重新试了另外的 ...
- linux服务器账号密码正确无法登录
登录服务器时,发现密码错误,输入后还是错误不能登录 最后发现登录日志中有pam_tally2(sshd:auth): user root (0) tally 53, deny 6 less /var/ ...
- Servlet生成验证码并进行账号密码和验证码的验证登陆!
前言: 人不是生来就懂事的,在编程的世界也是一样,想想在大一的时候我还是那个连输出Hello World!都不会的小孩子是,现在我已经可以编出属于我自己的小程序了.编程其实并不可怕,可怕的是你不去编. ...
- c#登录时保存账号密码到cookie
登陆界面有用户名.密码输入框,一个’记住账号密码‘的复选框. 1.登录时,勾选‘记住账号密码‘复选框,则会把用户名密码保存在客户端cookie里,保存时间为最大值(直到用户清除浏览器缓存或者取消勾选’ ...
- linux 用户,密码,用户组
linux 用户,密码,用户组 在root登陆的情况下: 用户密码: useradd <username> passwd <username> <提示输入密码>: ...
- windows删除或修改本地Git保存的账号密码
windows删除或修改本地Git保存的账号密码 学习了:https://blog.csdn.net/xudailong_blog/article/details/78798118 (一)进入控制面板 ...
- 基于Linux下的C语言项目实战--本地账号管理系统
C语言开发项目实战: C语言是一门通用计算机编程语言,广泛应用于底层开发.C语言的设计目标是提供一种能以简易的方式编译.处理低级存储器.产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言.尽 ...
- Linux学习-账号管理
新增与移除使用者: useradd, 相关配置文件, passwd, usermod, userdel 我们登入系统时会输入 (1)账号与 (2)密码,所以建立一个可用的账号同样的也需要这两个数据.那 ...
- Linux账号密码过期会导致crontab作业不能执行
今天一同事报告Linux服务器上的crontab作业没有运行,检查/var/log/cron日志后发现下面错误信息 Jan 19 16:30:01 xxxx crond[31399]: Authent ...
随机推荐
- VLC简介及使用说明
一.简介 VLC的全名是Video Lan Client,是一个开源的.跨平台的视频播放器.VLC支持大量的音视频传输.封装和编码格式,完整的功能特性列表可以在这里获得http://www.vi ...
- C++回调:利用函数指针
#include <iostream> using namespace std; /**************************************************** ...
- Android Sqlite 简单SQL语句
--- 创建表 create table student(_id integer primary key autoincrement, name text); --- 查询全部 select _id, ...
- python 实现判断一个用户输入字符串是否是小数的小程序
要判断一个字符串是否是小数:1先判断小数点的个数,即如果是小数,则必须有且仅有一个'.'号2再分别判断'.'号的左右两边是否是数字: 判断左边时,如果负数,则左边包含'-'号:必须以'-'号开头(校验 ...
- NGUI图集字体
UIFont里使用Symbols来指定字体时用Sprite前缀和名字自动分配的工具,前段时间工作需要时写的,具体用法有空时再写. using UnityEngine; using UnityEdito ...
- Day 20 Time 模块.
from collections import namedtuplePoint =namedtuple("Point",["x","y"]) ...
- 程序媛计划——python正则表达式
#定义 正则表达式是对字符串操作的一种逻辑公式,通过它我们能筛选过滤出我们需要的内容,如判断一串数字是否是电话号码. #原理 先把正则表达式的字符串转换成 Pattern 对象,接着用这个对象处理文本 ...
- jzoj100031
這題是結論題 好玄學,不懂 代碼: #include<bits/stdc++.h> using namespace std; struct no{ int v,p; bool operat ...
- C# MVC 与Java MVC
C# MVC与Java MVC都是三层结构:Controller.View.Model,基本上没有什么区别. 但是C# MVC有很多的变形模式: 上图所示就是C#里面MVC变向模型,里面包含BLL.C ...
- django -orm操作总结
前言 Django框架功能齐全自带数据库操作功能,本文主要介绍Django的ORM框架 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MyS ...