linux shell 密码 linux shell命令
今天给各位分享linux shell 密码的知识,其中也会对linux shell命令进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
详解Linux中的用户密码管理命令passwd和change
passwd
修改用户密码
参数
-k保持未过期身份验证令牌
-l关闭账号密码。效果相当于usermod-L,只有root才有权使用此项。
-u恢复账号密码。效果相当于usermod-U,同样只有root才有权使用。
-g修改组密码。gpasswd的等效命令。
-f更改由finger命令访问的用户信息。
-d关闭使用者的密码认证功能,使用者在登入时将可以不用输入密码,只有具备 root权限的使用者方可使用.
-S显示指定使用者的密码认证种类,只有具备 root权限的使用者方可使用.
passwd是个文本文件,它包含了一个系统帐户列表,给出每个帐户一些有用的信息,比如用户 ID,组 ID,家目录, shell,等.通常它也包含了每个用户经过加密的密码.它通常应该是可读的(许多命令,工具程序,象 ls(1)用它做用户 Id到用户名称的映射),但是只允许超级用户有写方式权限.
在过去美好的日子里,这种一般的读许可没有什么大问题.每个人都能读到加密了的密码,因为硬件太慢以至于不能解开一个精选的密码,另外,这基本假定是为友好的使用团体使用的.现在,许多人运行一些版本的影子密码套件,它们在/etc/passwd的密码域里是*,而不再是加密的口令,加密的口令放在/etc/shadow中,那个文件只有超级用户能读.
不管是否使用了影子密码,许多系统管理员使用一个星号在加密的密码字段以确保用户不能鉴别他(她)自己的密码.(见下面的注意)
如果你建立了一个新的登录,首先放个星号在密码字段,然后使用 passwd(1)设置它.
(密码文件)里每行一条记录,并且每行有这样的格式:
account
password:UID:GID:GECOS:directory:shell(帐号:密码:用户ID:组ID:一般的信息:目录:shell)
字段描述如下:
account
使用者在系统中的名字,它不能包含大写字母.
password
加密的用户密码,或者星号。
UID
用户 ID数。
GID
用户的主要组 ID数。
GECOS
这字段是可选的,通常为了存放信息目的而设的.通常,它包含了用户的全名. GECOS意思是通用电气综合操作系统(General Electric Comprehensive Operating System),当 GE的大型系统部分割售卖给 Honeywell时它被改为 GCOS. Dennis Ritchie作过报告:有时我们发送印刷品或批道作业到 GCOS机器时,gcos字段打断了$IDENT卡的信息,不太美观。(译者:我想是太长吧)
directory
用户的$HOME目录.
shell
登录时运行的程序(如果空的,使用/bin/sh).如果设为不存在的执行(程序),用户不能通过 login(1)登录.
注意
如果你想建立用户组,他们的 GID必须相等并且一定是在/etc/group的一条记录,要不然组就不存在.
如果加密密码设成星号,用户将不能用 login(1)来登录,但依然可以用 rlogin(1)登录,通过 rsh(1)或者 cron(1)或者 at(1)或者 mail过滤器等程序运行已有的进程和开始新的等.试图通过简单改变 shell
字段锁住一个用户结果是一样的,而且还附上了使用 su(1)的权限.
例:
代码如下:
[root@Blackghost~] passwd zhangying #给zhangying修改密码
chage
密码失效是通过此命令来管理的。
参数意思:
-m密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M密码保持有效的最大天数。
-W用户密码到期前,提前收到警告信息的天数。
-E帐号到期的日期。过了这天,此帐号将不可用。
-d上一次更改的日期
-I停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
例1:
代码如下:
[root@localhost~]# chage-l zhangy #查看用户密码设定情况
最近一次密码修改时间: 4月 27, 2013
密码过期时间:从不
密码失效时间:从不
帐户过期时间:从不
两次改变密码之间相距的最小天数:-1
两次改变密码之间相距的最大天数:-1
在密码过期之前警告的天数:-1
代码如下:
[root@localhost~]# chage-M 90 zhangy #密码有效期90天
代码如下:
[root@localhost~]# chage-d 0 zhangy #强制用户登陆时修改口令
代码如下:
[root@localhost~]# chage-d 0-m 0-M 90-W 15 zhangy #强制用户下次登陆时修改密码,并且设置密码最低有效期0和最高有限期90,提前15天发警报提示
例2:
代码如下:
# chage-E'2014-09-30' test # test这个账号的有效期是2014-09-30
Linux查看账号密码的简单方法linux查看账号密码
Linux是一个实用而广泛使用的操作系统。更重要的是,它还提供了很多安全机制来防止未认证的用户进行敏感操作。在有些情况下,您可能需要查看Linux系统中的账号密码,这可能是因为你要登录到系统,或者因为你需要管理你的用户权限。有许多方法可以在Linux上查看账号密码,以下就概述了一些比较简单的方法:
–使用“ Getent”命令获取账号密码:
getent passwdusername
这条命令会在Linux活动账号数据库中查询该用户名的信息,包括它的密码,家目录,shell等。
–使用“cat”命令查看Linux系统中的用户数据:
通过使用“cat”命令可以查看Linux系统中的所有用户数据,其中包括账号和密码的信息:
cat/etc/passwd
–通过“chage”命令查看账号密码:
chage-l username
该命令用于查看用户名中的密码,详细体现出密码的有效日期,以及最小,最大期限。
–通过“Chpasswd”命令更新账号密码:
Chpasswd账号和新密码
使用该命令可以将账号及其相应的密码一并更新到数据库中。
通过以上简单的方法,您可以完成对Linux系统中账号密码的查看或更新。另外,要确保该操作完成的安全性,建议使用root用户进行操作,并采用多层安全策略,比如用不同的口令为root用户登录系统,以及禁止root远程登录等。
如何使用shell脚本修改linux的登陆密码
以root用户为例:
第一种:
echo“123456″| passwd–stdin root
优点:方便快捷
缺点:如果你输入的指令能被别人通过history或者其他方式捕获,那么这样的方式是很不安全的,更重要的是如果密码同时含有单引号和双引号,那么则无法通过这种方法修改。
说明:
批量修改linux密码 passwd–stdin user从标准输入中读取密码,所以用户可以在脚本中使用如 echo NewPasswd| passwd–stdin username这种方式来批量更改密码但在其它的一些发行版(如Debian/Suse)所提供的passwd并不支持–stdin这个参数
第二种:
a.首先将用户名密码一起写入一个临时文件.
cat chpass.txt
root:123456
zhaohang:123456
b.使用如下命令对用户口令进行修改:
chpasswd< chpass.txt
c.可以使用 123456来登录系统,密码修改完毕.
优点:可以很快速方便的修改多个用户密码
缺点:明文密码写在文件里仍然显得不够安全,但是避免了第一种修改方式不能有特殊字符串密码的情况.
第三种:
a.用 openssl passwd-1来生成用户口令,连同用户名一起写入文件.
cat chpass.txt
root:$1$ri2hceVU$WIf.firUBn97JKswK9ExO0
zhaohang:$1$i/Gou7.v$Bh2K6sXmxV6/UCxJz8N7b.
b.使用如下命令对用户口令进行修改:
chpasswd-e< chpass.txt
c.可以使用 123456来登录系统,密码修改完毕.