密码是帐户安全的基石。我们将向您展示如何在Linux网络上重置密码、设置密码过期期限和强制更改密码。
自从20世纪60年代中期密码第一次出现以来,我们就一直在向计算机证明我们就是我们所说的那个人。必要性是发明之母,麻省理工学院开发的兼容分时系统需要一种方法来识别系统上不同的人。它还需要防止人们看到彼此的文件。
费尔南多J.科尔巴托提出了一个方案,为每个人分配一个唯一的用户名。为了证明某人就是他们所说的那个人,他们必须使用私人密码来访问他们的帐户。
密码的问题是,它们就像钥匙一样工作。有钥匙的人都可以用。如果有人发现、猜到或弄清楚你的密码,那个人可以访问你的帐户。在多因素身份验证普遍可用之前,密码是唯一能阻止未经授权的人(网络安全中的威胁参与者)进入系统的东西。
安全Shell(SSH)建立的远程连接可以配置为使用SSH密钥而不是密码,这很好。但是,这只是一种连接方法,它不包括本地登录。
显然,管理密码是至关重要的,管理使用这些密码的人也是如此。
相关:如何从Linux Shell创建和安装SSH密钥
到底是什么让密码好呢?好的密码应该具备以下所有属性:
“我被屏蔽了”(HIBP)网站包含超过100亿套被破坏的凭据。有这么高的数字,很可能是别人用了和你一样的密码。这意味着你的密码可能在数据库中,即使不是你的帐户被破坏。
如果您的密码在HIBP网站上,这意味着它在密码列表中,威胁参与者的暴力和字典攻击工具在试图破解帐户时使用。
一个真正随机的密码(比如4HW@HpJDBr%*Wt@#b~aP)几乎是无敌的,但是,当然,你永远不会记得它。我们强烈建议您对联机帐户使用密码管理器。它们为您的所有在线帐户生成复杂、随机的密码,您不必记住它们密码管理器为您提供正确的密码。
对于本地帐户,每个人都必须生成自己的密码。他们还需要知道什么是可接受的密码,什么是不可接受的密码,必须告诉他们不要在其他帐户上重复使用密码,等等。
此信息通常位于组织的密码策略中。它指导人们使用最少数量的字符,混合大小写字母,包括符号和标点符号,等等。
然而,根据卡内基梅隆大学一个研究小组的一篇全新论文,所有这些技巧对密码的健壮性几乎没有任何影响。研究人员发现,密码健壮性的两个关键因素是它们至少有12个字符长,而且足够强大。他们使用一些软件破解程序、统计技术和神经网络来测量密码强度。
最少12个字符一开始听起来可能让人望而生畏。但是,不要用密码来思考,而是用标点符号分隔三个或四个不相关单词的密码短语。
例如,Experte密码检查器说破解“chicago99”需要42分钟,但破解“chicago99”需要4000亿年烟囱.紫色.袋子“它也很容易记忆和打字,只包含18个字符。
相关:为什么你应该使用密码管理器,以及如何开始
在你去改变任何与某人的密码有关的事情之前,仔细看看他们当前的设置是明智的。使用passwd命令,可以使用-S(status)选项查看它们的当前设置。请注意,如果您使用的是其他人的密码设置,那么还必须使用sudo with passwd。
我们键入以下内容:
sudo passwd -S mary一行信息被打印到终端窗口,如下所示。
您可以在这个简短的响应中看到以下信息(从左到右):
要设置密码重置期限,可以使用-x(最大天数)选项和天数。在-x和数字之间不留空格,因此可以按如下方式键入:
sudo passwd -x45 mary我们被告知过期值已更改,如下所示。
使用-S(status)选项检查值现在是否为45:
sudo passwd -S mary现在,45天内,必须为此帐户设置新密码。提醒将在七天前开始。如果未及时设置新密码,则此帐户将立即锁定。
您还可以使用命令,以便您网络上的其他人下次登录时必须更改密码。为此,可以使用-e(expire)选项,如下所示:
sudo passwd -e mary然后我们被告知密码过期信息已更改。
让我们检查一下-s选项,看看发生了什么:
sudo passwd -S mary最后一次更改密码的日期设置为1970年的第一天。下次此人尝试登录时,必须更改其密码。在键入新密码之前,他们还必须提供当前密码。
强迫人们经常更改密码是常识。它是大多数安装的常规安全步骤之一,被认为是一个良好的业务实践。
现在的想法是极为相反的。在英国,国家网络安全中心强烈建议禁止使用常规密码更新,美国国家标准与技术研究所同意。只有当您知道或怀疑现有密码被其他组织知晓时,两个组织都建议强制执行密码更改。
强迫人们更改密码会变得单调乏味,而且会鼓励使用弱密码。人们通常开始重复使用带有日期或其他数字标签的基本密码。或者,他们会把它们写下来,因为他们不得不经常更改它们,以至于记不住它们。
我们在上面提到的两个组织建议密码安全的以下指导原则:
以上提示将允许您建立一个安全的方法来访问您的帐户。一旦你有了这些指导方针,就要坚持下去。如果你的密码安全可靠,为什么要修改它?如果它落入坏人之手或你怀疑它有你可以改变它然后。
不过,有时候,这个决定不在你的掌控之中。如果强制密码的权限发生变化,您就没有太多选择。你可以为自己辩护,表明自己的立场,但除非你是老板,否则你必须遵守公司的政策。
相关:你应该定期更改密码吗?
您可以使用chage命令更改有关密码老化的设置。此命令的名称来自“change aging”,它类似于passwd命令,删除了密码创建元素。
l(list)选项显示的信息与passwd-S命令相同,但更友好。
我们键入以下内容:
sudo chage -l eric另一个妙招是可以使用-E(expiry)选项设置帐户到期日期。我们将传递一个日期(以年-月-日期格式)以将到期日期设置为2020年11月30日。在那一天,帐户将被锁定。
我们键入以下内容:
sudo chage eric -E 2020-11-30接下来,我们键入以下内容以确保已完成此更改:
sudo chage -l eric我们看到账户到期日从“从不”改为2020年11月30日。
要设置密码过期期限,可以使用-M(maximum days)选项,以及密码在必须更改之前可以使用的最大天数。
我们键入以下内容:
sudo chage -M 45 mary我们使用-l(list)选项键入以下内容,以查看命令的效果:
sudo chage -l mary密码过期日期现在设置为45天,从我们设置的日期算起,如图所示,将是2020年12月8日。
创建帐户时,密码将使用一组默认值。您可以定义最小、最大和警告天数的默认值。这些文件保存在一个名为“/等”的文件中/登录.defs.”
可以键入以下内容在gedit中打开此文件:
sudo gedit /etc/login.defs滚动至密码老化控件。
您可以编辑这些以满足您的需求,保存更改,然后关闭编辑器。下次创建用户帐户时,将应用这些默认值。
如果要更改现有用户帐户的所有密码过期日期,可以通过脚本轻松完成。只需键入以下内容即可打开gedit编辑器并创建一个名为“password”的文件-日期.sh”:
sudo gedit password-date.sh接下来,将以下文本复制到编辑器中,保存文件,然后关闭gedit:
#!/bin/bash reset_days=28 for username in $(ls /home) do sudo chage $username -M $reset_days echo $username password expiry changed to $reset_days done这会将每个用户帐户的最大天数更改为28天,从而更改密码重置频率。您可以根据需要调整reset\u days变量的值。
首先,我们键入以下内容以使脚本可执行:
chmod +x password-date.sh现在,我们可以键入以下内容来运行脚本:
sudo ./password-date.sh然后处理每个帐户,如下所示。
我们键入以下内容以检查“mary”的帐户:
sudo change -l mary最大天数被设置为28天,我们被告知将在2020年11月21日下降。您还可以轻松地修改脚本并添加更多chage或passwd命令。
密码管理是必须认真对待的事情。现在,你有了控制局面的工具。
...便的Linux命令备忘单。如果您想运行其中的几个,请查看如何在带屏幕的Linux终端上执行多任务。 ...
...已经详细介绍了将Linux发行版安装到CD或USB的过程,以及如何重置密码。 ...
...但幸运的是,更改Linux密码很容易。今天我们将向您展示如何通过几个简单的命令更改当前用户的密码、其他用户的密码和超级用户的密码。 ...
...死他的进程之前,我们会锁定密码来冻结帐户。 相关:如何使用ps命令监视Linux进程 锁定帐户 在终止进程之前,我们将锁定帐户,因为当我们终止进程时,它将注销用户。如果我们已经更改了他的密码,他就无法登录了。 加密...
...期限,这样用户可以在一段时间后生成新密码。 相关:如何在Windows10中设置密码过期日期 pro和enterprise用户:通过组策略设置最小密码长度 对于不想与命令提示符混在一起的人,或者如果您对图形界面感到更舒服,Windows 10 Pro和...