对系统定期修改密码是一个很重要的安全常识,通常,我们修改用户密码都使用 passwd user 这样的命令来修改密码,但是这样会进入交互模式,即使使用脚本也不能很方便的批量修改,除非使用expect 这样的软件来实现,难道修改一下密码还需要单独安装一个软件包吗? 不,我们其实还有其他很多方法可以让我们避开交互的,下面具体写一下具体的实现方式:
第一种:
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 来登录系统,密码修改完毕.
优点:可以很快速方便的修改多个用户密码
缺点:和上面两种相比大大增强了安全性
附加介绍:
openssl passwd -1 命令可以输出shadow里面的密码,把这个命令生成的秘串更改为你shadow里的密码,那么下次你登录系统就可以用你的生成密码的口令来登录了,使用这个命令,即使口令一样,多次执行生成的密码串也不一样。那个hash值对应的密码是完全随机的基于64位字符编码的28位长,因此要破解它是非常困难的,只要不用那些密码已经公布出来的hash值创建账号,即使这些密码文件被公布也还是比较安全的。使用旧的unix哈希可以去掉 -1 参数。
[root@WEB01 ~]# openssl passwd -1
Password: 123456
Verifying - Password: 123456
$1$ri2hceVU$WIf.firUBn97JKswK9ExO0
也可以直接使用如下命令来直接生成:
[root@WEB01 ~]# openssl passwd -1 123456
[root@WEB01 ~]# openssl passwd -1 -salt "yoctor" 123456
上面命令中的 salt 自己随便输入些东西
因为设置密码的时候密码密文是MD5加密的,在产生哈希值的时候系统回在密文中加如盐从而使密文无法反向破译。
passwd加密的时候系统加的salt是 时间
本文来自: http://hi.baidu.com/only8731/item/21513035e1428124b3c0c576
分享到:
相关推荐
Linux系统批量修改用户密码方法。 以一种简单方法可以让我们避开密码修改交互的方式,本文描述具体的实现方式。
12. Linux 服务器的安全性:本文档介绍了如何使用 Expect 脚本来维护 Linux 服务器的安全性,包括批量修改密码、添加新用户等操作。 本文档介绍了如何使用 Expect 脚本来批量修改远程 Linux 服务器的密码,并对 ...
在Linux系统管理中,批量修改用户密码是一项常见的任务,特别是在多用户环境或者服务器集群中。本文将详细解析如何使用批量脚本来实现这一操作,主要基于提供的"change_pass.vbs"脚本,结合SecureCRT终端模拟器进行...
在Linux系统管理中,批量修改用户密码是一项常见的任务,特别是在多用户环境或者服务器集群中。这篇博客"批量修改Linux密码"提供了一个实用的脚本工具,帮助管理员高效地完成这项工作。通过`mima.sh`这个脚本文件,...
这通过`useradd`和`passwd`命令实现,其中`useradd`用于创建新用户,而`passwd`则用于修改用户的密码。脚本中使用了一个循环来迭代30次,每次迭代都调用`getPassword`函数来获取一个新的随机密码,并将其分配给当前...
本工具基于Python编写,可以用于批量修改linux主机密码,支持统一密码和结合IP地址的自动生成密码的方式,可自定义被修改用户的用户名及密码,本工具不支持已到期账户的密码(交互模式)修改,但是非Root用户密码...
需要对服务器进行批量的修改root密码,还要在每台服务器新建一个用户,如果一个一个登到的服务器上进行修改的话,估计一个下午又没有了,首先想到的是我最喜欢的php,其中有个ssh2 模块,不得不承认用php 来处理这样...
[一般都是切换到root进行密码修改,如果普通用户修改自己的密码,要输入原密码,然后新密码要满足复杂度才OK]; 3. passwd username 使用passwd username 修改 username 的密码; 使用该命令会有提示,即进入了交互...
在Linux系统管理中,有时需要批量修改多台服务器上的用户密码,特别是在运维环境中,手动逐个更改可能会耗费大量时间。本文将详细介绍如何在Linux环境下批量修改服务器用户密码的方法,这通常适用于大规模的服务器...
大多时候,作为Linux系统运维人员,需要编写shell脚本去批量处理一些...下面是一个批量登录服务器修改密码的实战例子: #!/usr/bin/env bash while read line do ip=`echo $line | awk '{print $1}'` password=`ec
- 在企业环境中,可能需要批量修改多个用户的密码,这时可以通过Java脚本读取用户列表,然后逐个执行密码修改操作。 - 使用Ansible、Chef、Puppet等自动化工具也可以方便地实现密码管理。 综上所述,Java虽然不是...
chpasswd 命令可以批量修改多个用户密码,非常适合需要批量修改密码的场景。使用 chpasswd 命令需要将用户名和新密码组合成一个字符串,例如: ``` echo 'username:password' | sudo chpasswd ``` 其中,“username...
该文主要介绍如何使用Python脚本批量修改Linux服务器的密码,并将修改结果导出为Excel文件。这个过程涉及到了Python编程、Linux系统管理、SSH连接以及数据存储。 首先,脚本使用了Python的内置模块`random`和`...
教程名称:Linux下的自动化和批量管理教程集锦课程目录:【】linux下kickstart自动化部署安装【】Linux运维...远程批量修改linux服务器密码的脚本【IT教程 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。
批量更改密码软件就为此需求提供了便捷的解决方案。 这类软件通常具备以下关键功能: 1. **批量导入与导出**:用户可以将包含用户名和当前密码的列表导入到软件中,然后进行统一的密码更新。同时,更新后的密码...
文章目录说明先查询是否有这账号修改为创建用户执行创建用户脚本创建(修改)密码方法一方法二方式三 说明 如果你质疑自己,不确定命令是否正确或者不确定脚本是否能正常执行, 你可以先测试,测试方法就是 在命令行...
- **安全性考量**:在批量创建用户时,还需要考虑到安全性问题,比如定期更改密码、限制用户登录时间等。 通过上述解析,我们可以看出技能大赛试题中的“Linux批量创建用户脚本”不仅考察了参赛者的Linux用户管理...
值得注意的是,这个脚本具有很好的扩展性,可以根据需要添加或修改功能,比如批量删除用户、调整用户配额或初始化密码。通过嵌套循环,可以轻松地处理多个年级的用户创建。此外,shell脚本的灵活性使其能轻松集成到...
在实际使用前,我们需要确保该脚本具有可执行权限,并根据需求修改脚本中的用户信息、密码策略等参数。执行脚本通常使用`./useraccount_zh.sh`命令,前提是脚本的第一行是`#!/bin/bash`,告知系统使用Bash解释器来...
16. 用 chpasswd 命令批量修改以上 10 个用户的密码,密码分别为 000000~999999。 四、实验结果: 1. 用户管理 (1)新建用户 wang 并设置密码 123 (2)修改密码的有效期限 (3)修改登录名 (4)锁定密码 & 解锁...