#contents
*³µÍ× [#u4a21bc1]
¥ê¥¹¥È¤ËÎóµó¤·¤¿¥æ¡¼¥¶¤¹¤Ù¤Æ¤Î¥Ñ¥¹¥ï¡¼¥É¤òºÆÅÐÏ¿¤·¤Þ¤¹¡£
¤³¤Î¥³¥ó¥Æ¥ó¥Ä¤Î¡Ötips½¸¡×¤Ë¤¢¤ë¡Ö¥Ñ¥¹¥ï¡¼¥É¼«Æ°È¯¹Ô¥Ä¡¼¥ë¡×¤òͽ¤áÍѰդ·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£
ÅöÁ³¡¢root¤Ç¼Â¹Ô¤·¤Þ¤¹¤Î¤Ç¡¢»ÈÍѤκݤϽ½Ê¬Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£
*¥½¡¼¥¹¥³¡¼¥É [#ge2f6a51]
#!/usr/local/bin/bash
#---------------------------------------
# autochgpw.sh -
# ¥ê¥¹¥È¤Ëµó¤²¤¿Á´¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥É¤ò
# ºÆÀßÄꤹ¤ë¥Ä¡¼¥ë
#
# Ver.0.1
# by myasu 2002
#---------------------------------------
#°ì»þŪ¤ËÀ¸À®¤¹¤ëpasswd¥³¥Þ¥ó¥É¼«Æ°²½¤Î¤¿¤á¤Îexpect¤Î¥¹¥¯¥ê¥×¥È
FILE_EXPECT="tmppw.exp"
#»ÈÍѤ¹¤ë¥³¥Þ¥ó¥É¤ÎÀßÄê
C_MAKEPASSWD="/home/myasu/ap/bin/makepasswd" #¥Ñ¥¹¥ï¡¼¥ÉÀ¸À®ÍÑ
C_CAT="/usr/local/bin/cat"
#¥Ø¥ë¥×
function _HELP()
{
echo "autochgpw.sh - ¥ê¥¹¥È¤Ëµó¤²¤¿Á´¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥É¤òºÆÀßÄꤹ¤ë¥Ä¡¼¥ë"
echo " usage:"
echo " autochgpw.sh "
echo " °ì¹Ô¤´¤È¤Ë¥Ñ¥¹¥ï¡¼¥É¤òÊѹ¹¤·¤¿¤¤¥æ¡¼¥¶Ì¾¤òʤ٤¿¥Õ¥¡¥¤¥ë¡£"
echo ""
echo "Ãí°Õ¡§°ìÈ̥桼¥¶¤Ç¤Ï¼Â¹Ô¤Ç¤¤Þ¤»¤ó¡£"
echo "Ãí°Õ¡§¥¦¥£¥ó¥É¥¦¥ºÂ¦¤Î¥Ñ¥¹¥ï¡¼¥É´ØÏ¢¤Î¥Ý¥ê¥·¡¼ÀßÄê¤ËÃí°Õ¡ª"
echo " ¼Â¹ÔÃæ¤Ï¥Ñ¥¹¥ï¡¼¥É¥Ý¥ê¥·¡¼¤ò̵¸ú¤Ë¤·¤Æ¤ª¤¯Êý¤¬ÌµÆñ"
}
#-------------------
#¥á¥¤¥ó½èÍý
#°ú¿ô¤Î¥Á¥§¥Ã¥¯
if [ $# != 1 ]; then
#°ú¿ô¤Ë¥æ¡¼¥¶¡¼¥ê¥¹¥È¤¬Í¿¤¨¤é¤ì¤Æ¤¤¤Ê¤¤¤È¤
#¥Ø¥ë¥×¤òɽ¼¨¤·¤Æ½ªÎ»
_HELP
exit 1
fi
#¥æ¡¼¥¶Ì¾¡õ¥Ñ¥¹¥ï¡¼¥É·ë¹ç¥Õ¥¡¥¤¥ë¤ÎÀ¸À®
FILE_USERPASSWD="$1.csv"
touch $FILE_USERPASSWD
chmod 600 $FILE_USERPASSWD
#¥æ¡¼¥¶Ì¾¡õ¥Ñ¥¹¥ï¡¼¥É·ë¹ç¥Õ¥¡¥¤¥ë¤¬Â¸ºß¤¹¤ë¤È¤
if [ -f $FILE_USERPASSWD ];then
#¥Õ¥¡¥¤¥ë¤òºï½ü
rm -f $FILE_USERPASSWD
fi
#¿Ê¹Ô¾õ¶·É½¼¨ÍÑ
#echo -n "¿Ê¹Ô¾õ¶·:"
for BUF_USERNAME in `$C_CAT $1`
do
# echo -n "*"
#¥Ñ¥¹¥ï¡¼¥É¤ÎÀ¸À®
BUF_PASSWD=`$C_MAKEPASSWD 8 2`
#¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤È¤ò¥³¥ó¥Þ¤Ç·ë¹ç¤·¤Æ½ÐÎÏ
echo "$BUF_USERNAME,$BUF_PASSWD" >> $FILE_USERPASSWD
#expectºî¶ÈÍÑ¥¹¥¯¥ê¥×¥È¤¬Â¸ºß¤¹¤ì¤Ðºï½ü
if [ -f $FILE_FILE_EXPECT ];then
rm -f $FILE_EXPECT
fi
#expectºî¶ÈÍÑ¥¹¥¯¥ê¥×¥È¤òÀ¸À®
echo "#!/usr/local/bin/expect --" > $FILE_EXPECT
echo "spawn passwd $BUF_USERNAME" >> $FILE_EXPECT
echo 'expect "*password:"' >> $FILE_EXPECT
echo "send '$BUF_PASSWD\r'" >> $FILE_EXPECT
echo 'expect "*password:"' >> $FILE_EXPECT
echo "send '$BUF_PASSWD\r'" >> $FILE_EXPECT
echo "expect eof" >> $FILE_EXPECT
#¼Â¹Ô¸¢¸Â¤òÍ¿¤¨¤Æ¡¢¤Þ¤¿¡¢Ìµ´Ø·¸¤Î¥æ¡¼¥¶¤«¤é¸«¤¨¤Ê¤¤¤è¤¦¤Ë¤¹¤ë
chmod 700 $FILE_EXPECT
#expect¼Â¹Ô
$FILE_EXPECT
#¾¯¤·ÂÔ¤Á»þ´Ö¤òÁÞÆþ
sleep 2
done
echo ""
#expectºî¶ÈÍÑ¥¹¥¯¥ê¥×¥È¤¬Â¸ºß¤¹¤ì¤Ðºï½ü
if [ -f $FILE_FILE_EXPECT ];then
rm -f $FILE_EXPECT
fi
RIGHT:2005-07-12 14:24:35 (²Ð)
----
[[²È¥µ¡¼¥Ð´ÉÍýÄ¢]]