<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[[实践OK]Linux系统批量修改用户密码方法 ]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[Unix/LinuxC技术]]></category>
<pubDate>Thu, 04 Feb 2016 02:35:36 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	背景：批量修改多台机器里的密码，怎么办，一台机器知道后，拷贝到另外机器上的办法，采用第三种较好。<br/>1）新建用户：useradd -m 用户名 //-m是建一个home<br/>2）设置密码：passwd 用户名<br/>3）一般需要修改/etc/passwd 下面的bash<br/>4）将用户加入sudo组。<br/><br/>总之，一个同样的Unix/Linux的密码，经过一次后，其生成的密码shadow是不一样的，实践如下所示可证明：<br/><textarea name="code" class="php" rows="15" cols="100">
[root@localhost htdocs]# openssl passwd -1
Password: 
Verifying - Password: 
$1$pjuUjv1/$fJ4EjvS2tiHXxdHB2Ur5O1
[root@localhost htdocs]#&nbsp;&nbsp;openssl passwd -1 jack&#039;sTestPwd
$1$KSpNxN/w$qyQWrI/rjoZqxE14rASiJ1
[root@localhost htdocs]#&nbsp;&nbsp;openssl passwd -1 jack&#039;sTestPwd
$1$ra.53z5Y$3csfChKCxTNy./obtOzvx.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//同样的密码，被加密后和上一次不一样了
[root@localhost htdocs]#&nbsp;&nbsp;openssl passwd -1 jack&#039;sTestPwd
$1$dlfmkvQ2$sbWvuTrPVij96APQ3pMKq.&nbsp;&nbsp;//同样的密码，被加密后和上一次不一样了
</textarea><br/>但是你批量替换时，完全可以选一个就成，如：<br/><textarea name="code" class="php" rows="15" cols="100">
cat /etc/shadow&#124;grep -rin xiangdong
68:xiangdong:$1$1zyAUFGr$GAAAAAvQA2CDYRyttYvE.:16318:0:99999:7:::&nbsp;&nbsp;//冒号分割
</textarea><br/><br/>接近博文的正题了：<br/>多台机器要批量加时，可用secureCRT，或大公司用zookeeper结合shell实现conf前端web系统进行海量机器的密码新增：<br/><textarea name="code" class="php" rows="15" cols="100">
echo &quot;68:xiangdong:$1$1zyAUFGr$GAAAAAvQA2CDYRyttYvE.:16318:0:99999:7:::&quot; &gt;&gt; /etc/shadow
echo &quot;xiangdong:x:554:601::/home/xiangdong:/bin/bash&quot; &gt;&gt; /etc/passwd
</textarea><br/>————————————————介绍修改用户密码三种方法————————————————<br/>第一种：<br/>echo &quot;123456&quot;&#124;passwd --stdin root<br/>优点：方便快捷<br/>缺点：如果你输入的指令能被别人通过history或者其他方式捕获，那么这样的方式是很不安全的，更重要的是如果密码同时含有单引号和双引号，那么则无法通过这种方法修改。<br/><br/><br/>第二种：<br/>a.首先将用户名密码一起写入一个临时文件.<br/>cat chpass.txt<br/>root:123456<br/>zhaohang:123456<br/>b.使用如下命令对用户口令进行修改：<br/>chpasswd&lt;chpass.txt<br/>c.可以使用 123456 来登录系统，密码修改完毕.<br/>优点：可以很快速方便的修改多个用户密码<br/>缺点：明文密码写在文件里仍然显得不够安全，但是避免了第一种修改方式不能有特殊字符串密码的情况.<br/><br/><br/>第三种：<br/>a.用 openssl passwd-1 来生成用户口令（这块有一台后，其它就不用再生成了，直接：chpasswd -e &lt; chpass.txt），连同用户名一起写入文件.<br/>cat chpass.txt<br/>root:$1$ri2hceVU$WIf.firUBn97JKswK9ExO0<br/>zhaohang:$1$i/Gou7.v$Bh2K6sXmxV6/UCxJz8N7b.<br/>b.使用如下命令对用户口令进行修改：<br/>chpasswd -e &lt; chpass.txt<br/>c.可以使用 123456 来登录系统，密码修改完毕.<br/>优点：可以很快速方便的修改多个用户密码<br/>缺点：和上面两种相比大大增强了安全性<br/><br/>附加介绍：<br/>openssl passwd -1 命令可以输出shadow里面的密码，把这个命令生成的秘串更改为你shadow里的密码，那么下次你登录系统就可以用你的生成密码的口令来登录了，使用这个命令，即使口令一样，多次执行生成的密码串也不一样。那个hash值对应的密码是完全随机的基于64位字符编码的28位长，因此要破解它是非常困难的，只要不用那些密码已经公布出来的hash值创建账号，即使这些密码文件被公布也还是比较安全的。使用旧的unix哈希可以去掉 -1 参数。<br/><br/>[root@WEB01~]# openssl passwd -1<br/>Password:123456<br/>Verifying-Password:123456<br/>$1$ri2hceVU$WIf.firUBn97JKswK9ExO0<br/><br/>也可以直接使用如下命令来直接生成：<br/>[root@WEB01 ~]# openssl passwd -1 123456<br/><br/>来自：http://blog.chinaunix.net/uid-561779-id-166621.html
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [实践OK]Linux系统批量修改用户密码方法 ]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>