我正在尝试提高整个 IT 基础架构的安全性,因此我开始使用智能卡进行登录。我已经设法使用私钥和 x.509 证书配置 PIV 智能卡并进行设置pam_pkcs#11
,以便智能卡登录工作。如文档中所述,我添加了以下内容:
auth [success=2 default=ignore] pam_pkcs11.so
toetc/pam.d/common-auth
和 since 比智能卡登录有效。但是现在,如果读取器和智能卡被移除,系统将退回到密码登录(在这种情况下是 gnome)。
所以我的目标是完全禁用密码登录,无论是否有图形界面。如果读卡器和智能卡没有连接,应该不能登录。
我读过的某处passwd -l $(whoami)
将某个帐户的密码设置为非活动状态,但这对我来说感觉不对。
是否可以这样做pam
,这样整个机器都禁用密码登录?
顺便说一句:现在我正在使用 ubuntu 19.10
该模块似乎
pam_unix.so
负责standard Unix authentication
:因此,要完全禁用基于密码的身份验证,我认为评论目录中包含
pam_unix.so
的每一行/etc/pam.d
就足够了。有时您需要为用户设置无密码登录以进行自动登录、shell 脚本,这样您就无需提供任何密码。这可以通过使用带有-d选项的passwd命令来实现,该选项删除已分配的密码。
例子:
passwd -d 用户名
完成此更改后,/etc/shadow 字段中的密码字段将更改为空,这样您就可以在没有密码的情况下从任何机器登录到本地机器。更新:一些用户指出这仅适用于本地登录,但对于远程登录,这将不起作用。
以下是尝试禁用 PAM 引起的问题的解决方案:
我是我计算机的唯一用户,因此不喜欢 PAM,但如果您想避免 PAM,请使用其他地方描述的禁用命令(“skip-authentication”)。通常,您必须拥有 root 登录才能执行此处描述的任何操作。
以下已使用 Ubuntu v. 20.04.3 LTS 进行了测试;它不是强烈依赖于系统的,下面描述的过程应该适用于任何最近的 Ubuntu 操作系统。
不幸的是,如果缺少某些 PAM 文件,Ubuntu 的当前版本将无法运行:当这些文件被删除或禁用时,Ubuntu 将无法启动——并且尝试在 Ubuntu“恢复模式”中重新启动也将不起作用。为什么这种对 PAM 的完全依赖被设计到 Ubuntu 中,我不知道;这似乎是某种设计错误。
无论如何,在本文中,我将描述如何从致命的 PAM 错误中恢复,而无需重新安装 Ubuntu 操作系统。
预赛
首先,您必须创建一个 Ubuntu 重新安装 DVD——它通常是一个可从 Internet 上免费下载的 iso 文件(并且也由各个供应商以象征性的价格出售)。可引导 DVD 也可以通过使用某些可下载的应用程序(例如,K3b)来修改不可引导的 DVD 来创建。
创建此可启动 DVD 后,您应该对其进行测试以确保它可以自行启动。启动后,它应该会提示您尝试或安装 Ubuntu。退出或关闭计算机以避免更改任何内容。
其次,你应该养成定期(比如每周)备份整个 Ubuntu 操作系统的习惯。然后,如果您必须重新安装 Ubuntu,您也可以安装最近备份的数据。
从操作系统错误中恢复
恢复的关键是永远不要在不知道操作系统将在没有它们的情况下运行的情况下删除操作系统文件。在考虑删除 OS 文件(例如,PAM 文件)时,应始终保持文件安装并通过先重命名文件来禁用文件,然后重新启动并测试效果。
我首选的重命名是将 (file).exe 更改为 (file).exe_JMW_WAS,因为名为 (whatever).exe_JMW_WAS 的文件不是 Ubuntu(或 Windows)可执行文件。查找所有 *_JMW_WAS 可以轻松纠正重命名错误(我使用“find / -name *_JMW_WAS -print”)。
禁用几个已安装的 PAM 文件将阻止重新启动;但是,如何纠正这样的错误?禁用或删除某些 PAM 文件后,正常重新启动将挂起,甚至恢复模式重新启动也会打印致命错误消息并且永远不会继续。
第一:不要删除任何PAM文件;相反,重命名它以防止执行。
第二:如果发生灾难,请尝试 Ubuntu 恢复模式。如果您发现恢复模式不起作用,请使用重新安装的 DVD 重新启动。
经过一段时间的延迟,这张 DVD 将为您提供 (a) 试用 Ubuntu 或 (b) 安装 Ubuntu 的选项。选择试用选项。
经过更多延迟后,您将看到一些手动命令要运行;选择“文件”命令。
文件显示有一个最终的“其他位置”选项,它将列出已安装的操作系统。此列表将包括您无法启动的 Ubuntu 操作系统以及 Windows(如果已安装)。
以 root 身份登录,并使用可用的终端命令,您现在可以选择无法启动的文件 Ubuntu OS 和 cd 到 /etc 或 /lib 目录,其中包含您之前错误修改或禁用的 PAM 或其他文件 - 和,当然,你重命名但没有删除。
将相应的文件重命名回它们原来的可执行文件名,瞧!您的 Ubunto 操作系统现在将正常重启!