扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
在Unix/Linux系统中,passwd这个指令可以用来变更使用者的密码,对于一般使用者而言(非root),执行passwd之后,会需要输入目前现行的密码,才可以允许密码的变更;而如果是root管理者的话,则可以在不需要现行密码的情况下,变更任何使用者的密码(包含root自己的密码)。
成都创新互联专注于綦江企业网站建设,自适应网站建设,商城网站建设。綦江网站建设公司,为綦江等地区提供建站服务。全流程定制网站,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
变更使用者密码
一般的使用者执行passwd即可变更自己的密码:
如果是root管理者的话,可以变更任何使用者的密码:
sudo passwd xxx
如果变更root管理者的密码,就跟一般使用者一样直接执行passwd即可。
显示密码状态资讯
若要显示密码的状态资讯,可以加上-S参数:
这个输出包含七个栏位:
帐号名称。
密码状态,状态包含锁定密码(L)、无密码(NP)与可用密码(P)。
上次修改密码的时间。
密码最短使用期限(minimum password age),单位为天。
密码最长使用期限(maximum password age),单位为天。
密码过期前警告期间(password warning period),单位为天。
密码过期后可使用的期间(password inactivity period),单位为天。
如果是root管理者,则可以查看特定使用者的密码资讯:
sudo passwd -S gtwang
root管理者可以使用-aS参数查阅所有使用者的密码状态资讯:
sudo passwd -a
移除使用者的密码
若要移除使用者的密码,可以使用-d参数,并加上使用者的名称:
sudo passwd -d xxxx
移除使用者的密码之后,可以检查一下状态资讯:
sudo passwd -S xxxx
xxxx NP 09/30/2015 0 99999 7 -1
在密码被移除之后,该使用者的帐号也会同时被停用,无法登入。
设定密码为过期状态
有时候因为某些原因(像是重新设定密码之后),我们会希望使用者立刻更改自己的密码,这时候我们可以使用-e参数:
sudo passwd -e xxx
passwd: password expiry information changed.
检查一下状态资讯:
sudo passwd -S xxx
xxx P 01/01/1970 0 99999 7 -1
这时候如果使用者使用SSH 登入的话,系统就会强制变更密码:
body{
line-height:200%;
}
上一节我们学了useradd命令,但光有useradd命令,这个用户添加好以后还是不能正常使用的,我们还需要给用户添加passwd命令,本节主要讲passwd命令的常见用法。
1.passwd命令格式
[root@localhost
~]#passwd
[选项]用户名
选项:
-S
查询用户密码的密码状态。仅root用户可用。
-l
暂时锁定用户。仅root用户可用
-u
锁定用户。仅root用户可用
--stdin
可以通过管道符输出的数据作为用户的密码。
2.查看密码状态
[root@localhost
~]#passwd
-S
lamp
lamp
PS
2013-01-06
99999
7
-1
#用户名密码设定时间(2013-01-06)
密码修改间隔时间(0)
#密码有效期(99999)
警告时间(7)
密码不失效(-1)
3.锁定用户和解锁用户
[root@localhost
~]#passwd
-l
lamp
[root@localhost
~]#passwd
-u
lamp
4.使用字符串作为用户的密码
[root@localhost
~]#
echo
"123"
|
passwd
--stdin
lamp
总结:passwd命令最常见的用法就是passwd后面直接加选项;特殊用法就是-S、-l、-u后面跟lamp。
pam_tally2模块(方法一)
用于对系统进行失败的ssh登录尝试后锁定用户帐户。此模块保留已尝试访问的计数和过多的失败尝试。
配置
使用 /etc/pam.d/system-auth 或 /etc/pam.d/password-auth 配置文件来配置的登录尝试的访问
注意:
auth要放到第二行,不然会导致用户超过3次后也可登录。
如果对root也适用在auth后添加 even_deny_root .
auth required pam_tally2.so deny=3 even_deny_root unlock_time=600
pam_tally2命令
查看用户登录失败的信息
解锁用户
pam_faillock 模块(方法二)
在红帽企业版 Linux 6 中, pam_faillock PAM 模块允许系统管理员锁定在指定次数内登录尝试失败的用户账户。限制用户登录尝试的次数主要是作为一个安全措施,旨在防止可能针对获取用户的账户密码的暴力破解
通过 pam_faillock 模块,将登录尝试失败的数据储存在 /var/run/faillock 目录下每位用户的独立文件中
配置
添加以下命令行到 /etc/pam.d/system-auth 文件和 /etc/pam.d/password-auth 文件中的对应区段:
auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600
auth sufficient pam_unix.so nullok try_first_pass
auth [default=die] pam_faillock.so authfail audit deny=3
account required pam_faillock.so
注意:
auth required pam_faillock.so preauth silent audit deny=3 必须在最前面。
适用于root在 pam_faillock 条目里添加 even_deny_root 选项
faillock命令
查看每个用户的尝试失败次数
$ faillock
test:
When Type Source Valid
2017-06-20 14:29:05 RHOST 192.168.56.1 V
2017-06-20 14:29:14 RHOST 192.168.56.1 V
2017-06-20 14:29:17 RHOST 192.168.56.1 V
解锁一个用户的账户
chattr 命令更改文件权限,比chmod 更强大,+ 移除某个权限 - 删除某个权限 ,对于某些文件不想被修改,可使用此命令,来禁止
chattr 有一些参数,简单看下
假如 你在输入 chattr -i /root/.ssh/authorized_keys 的时候提示你没有chattr 这个命令,这个时候你需要安装此命令,具体操作如下:
即可解除此文件 不能写入的问题
Linux下禁止用户登录,可以使用usermod命令的-L参数来锁定登录用户。
1、锁定用户
sudo usermod -L username
说明:
usermod用于修改系统帐户
-L参数用于锁定帐户
username:要锁定的帐户 。
比如下图所示用于锁定sky007的帐户 ,锁定后,该帐户即不能登录Linux系统了。
2、解锁帐户
sudo usermod -U username
说明:
usermod用于修改系统帐户
-U参数用于解锁帐户
username:要解锁的帐户 。
3、更多参数可以输入usermod或者usermod --help查询。
passwd -l username 锁定用户的口令
usermod -L username 锁定用户密码,使密码无效。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流