修改 /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 ...
随机推荐
- Android Studio注释摸版配置
随意创建一个类,就会自动生成注释摸版: 配置后的效果: 以下步骤是配置过程: 1.在创建类的过程中,对类进行自定义摸版,只需在 File->Settins->Editor->File ...
- Java返回当前对象的好处
自己使用了一个第三方框架,发现非常的灵活,于是去研究了下,才知道是返回当前对象,才可以做到,例如以下案例: // 可以不断的点出很多函数 Glide.with(PhotoPagerSlitherAct ...
- spring boot 使用 HandlerInterceptor
# 背景 在实际项目中,接口出于安全考虑,都会有验签的计算.目前接触的项目来看基本都是时间戳+干扰因子 然后md5计算的方式.现在学习,写一个简单demo, 其实如果不引入拦截器的话,验签计算全部在c ...
- MS SQL 分页存储过程
最近换了家新公司,但是新公司没有使用分页的存储过程.那我就自个写一个往项目上套 (效率怎么样就不怎么清楚没有详细的测试过) CREATE PROCEDURE [dbo].[pro_common_pag ...
- PhoneGap原理
http://www.oschina.net/question/213217_46380
- RabbitMQ实现的RPC
1.主要思路 1.生产者发布任务时,指定properties,告知消费者处理任务完毕之后,将结果存储到reply_to指定的Queue中,本次任务的id是correlation_id 2.消费者消费完 ...
- Elasticsearch-搜索推荐
对于es中搜索推荐的功能的实现: 1.使用match_phrase_prefix来实现search-time搜索推荐,原理根match_phrase类似,唯一的区别是把最后一个term作为前缀去搜索, ...
- 【JS深入学习】——函数创建和重载
今天做一个关注/取消的功能,由于需要向后台发送请求,想通过控制用户点击发送的频次减少不必要的请求,即在一定时间内,用户点击多次但只发送一次数据,自然而然想到了使用[函数节流]. function th ...
- Python中的运算符与表达式
你所编写的大多数语句(逻辑行)都包含了表达式(Expressions).一个表达式的简单例子便是 2+3.表达式可以拆分成运算符(Operators)与操作数(Operands).运算符(Operat ...
- RPC理解
RPC,英文名称Remote Procedure Call Protocol,即远程过程通讯协议. 可以设想一种情况,有一个人,叫A,A想要翻开一本书,非常简单,让大脑控制自己两只手,轻易就可以看到书 ...