首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PAM -完全禁用密码登录

PAM -完全禁用密码登录
EN

Unix & Linux用户
提问于 2020-01-24 08:56:51
回答 3查看 8.6K关注 0票数 2

我试图提高我的整个IT基础设施的安全性,所以我开始使用智能卡登录。我已经成功地配置了一个带有私钥和x.509证书的PIV智能卡,并安装了pam_pkcs#11,这样智能卡登录就可以工作了。正如文档中所描述的,我添加了以下内容:

代码语言:javascript
运行
复制
auth    [success=2 default=ignore]      pam_pkcs11.so

etc/pam.d/common-auth和works的智能卡登录工作。但是现在,如果删除读取器和智能卡,系统将返回密码登录(在这种情况下是gnome)。

因此,我的目标是完全禁用密码登录,无论是否有图形界面。如果读取器和智能卡没有连接,则不应该可以登录。

在我读到的某个地方,passwd -l $(whoami)会为某个不活动的帐户设置密码,但这对我来说并不合适。

是否可以使用pam来实现这一点,例如整个机器都禁用了密码登录?

顺便说一句:我现在用的是ubuntu 19.10

EN

回答 3

Unix & Linux用户

回答已采纳

发布于 2020-01-24 09:58:35

pam_unix.so模块似乎负责standard Unix authentication

代码语言:javascript
运行
复制
PAM_UNIX(8)                           Linux-PAM Manual                           PAM_UNIX(8)

NAME
       pam_unix - Module for traditional password authentication

SYNOPSIS
       pam_unix.so [...]

DESCRIPTION
       This is the standard Unix authentication module. It uses standard calls from the
       system's libraries to retrieve and set account information as well as authentication.
       Usually this is obtained from the /etc/passwd and the /etc/shadow file as well if
       shadow is enabled.

因此,要完全禁用基于密码的身份验证,我认为应该对包含pam_unix.so/etc/pam.d目录中的每一行进行注释。

票数 3
EN

Unix & Linux用户

发布于 2020-01-24 09:51:02

有时,您需要将自动登录、shell脚本设置为用户的无密码登录,这样就不需要提供任何密码。这可以通过使用带-d选项的passwd命令来实现,该选项删除已经分配的密码。

示例:

passwd -d用户名

完成此更改后,/etc/影子字段中的密码字段更改为空,以便在没有密码的情况下,您可以从任何机器登录到本地计算机。更新:一些用户指出,这只对本地登录有效,但对于远程登录则不起作用。

票数 1
EN

Unix & Linux用户

发布于 2021-10-18 22:04:15

以下是试图禁用PAM时出现的问题的解决方案:

我是我的计算机的唯一用户,因此不喜欢PAM,但是如果您想避免PAM,请使用其他地方描述的禁用命令(“跳过身份验证”)。通常,您必须有根登录才能执行此处描述的任何操作。

以下内容已经在Ubuntu诉20.04.3 LTS中进行了测试;它并不强烈依赖于系统,下面描述的过程应该适用于任何最近的Ubuntu操作系统。

不幸的是,Ubuntu的当前版本将无法在没有特定PAM文件的情况下运行:当这些文件被删除或禁用时,Ubuntu将无法启动--并且尝试在Ubuntu“恢复模式”中重新启动也不起作用。我不知道为什么这种对PAM的完全依赖被设计成Ubuntu;这似乎是某种设计错误。

无论如何,在本文中,我将描述如何从致命的PAM错误中恢复,而不必重新安装Ubuntu。

预言片

首先,您必须创建一个Ubuntu重新安装DVD -这通常将是一个iso文件免费下载从互联网(也出售一个名义金额由不同的供应商)。还可以通过使用某些可下载的应用程序(例如K3b)来修改不可引导的DVD来创建可引导的DVD。

在创建此可引导DVD之后,您应该测试它,以确保它将自行启动。启动后,应该会提示您尝试或安装Ubuntu。退出或关闭计算机以避免任何更改。

其次,也可以选择地,您应该养成定期(比如每周)备份整个Ubuntu的习惯。然后,如果您必须重新安装Ubuntu,您也可以安装最新备份的数据。

从操作系统错误中

恢复

恢复的关键是永远不要删除OS文件,而不知道操作系统将在没有它们的情况下运行。当考虑删除OS文件(例如PAM文件)时,始终应该先重命名文件,然后重新启动并测试效果,从而使文件处于安装状态并禁用该文件。

我喜欢的重命名是将( file ).exe更改为(.exe_JMW_WAS),因为名为(.exe_JMW_WAS)的文件不是Ubuntu (或.exe_JMW_WAS)可执行文件。对所有*_JMW_WAS进行查找可以轻松地更正重命名错误(我使用"find / -name *_JMW_WAS -print")。

禁用几个已安装的PAM文件将防止重新启动;但是,如何纠正此错误?如果某些PAM文件被禁用或删除,正常的重新引导将挂起,即使是恢复模式的重新引导也会打印致命错误消息,永远不会继续。

首先:不要删除任何PAM文件,而是重命名它以防止执行。

第二:在发生灾难时,尝试Ubuntu恢复模式。如果发现恢复模式不起作用,请用重新安装DVD重新启动。

延迟一段时间后,这张DVD将为您提供以下选项:(a)试用Ubuntu或(b)安装Ubuntu。选择试用选项。

在更多的延迟之后,您将收到一些要运行的手动命令,请选择"FILES“命令。

文件显示有一个最后的“其他位置”选项,它将列出已安装的操作系统。这个列表将包括您无法引导的Ubuntu以及Windows (如果它已经安装)。

以根用户身份登录,并使用可用的终端命令,您现在可以选择/etc或/lib目录中的不可引导文件Ubuntu和cd,其中包含以前错误修改或禁用的PAM或其他文件(S) --当然,还可以重命名但没有删除。

将适当的文件重命名为它们原来的可执行文件名,并且,瞧!您的reboot现在将重新启动正常!

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/563818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档