³µÍ×

¥ê¥¹¥È¤ËÎóµó¤·¤¿¥æ¡¼¥¶¤¹¤Ù¤Æ¤Î¥Ñ¥¹¥ï¡¼¥É¤òºÆÅÐÏ¿¤·¤Þ¤¹¡£ ¤³¤Î¥³¥ó¥Æ¥ó¥Ä¤Î¡Ötips½¸¡×¤Ë¤¢¤ë¡Ö¥Ñ¥¹¥ï¡¼¥É¼«Æ°È¯¹Ô¥Ä¡¼¥ë¡×¤òͽ¤áÍѰդ·¤Æ¤ª¤¤¤Æ¤¯¤À¤µ¤¤¡£ ÅöÁ³¡¢root¤Ç¼Â¹Ô¤·¤Þ¤¹¤Î¤Ç¡¢»ÈÍѤκݤϽ½Ê¬Ãí°Õ¤·¤Æ¤¯¤À¤µ¤¤¡£

¥½¡¼¥¹¥³¡¼¥É

#!/usr/local/bin/bash 

#---------------------------------------
#  autochgpw.sh -
#  ¥ê¥¹¥È¤Ëµó¤²¤¿Á´¥æ¡¼¥¶¤Î¥Ñ¥¹¥ï¡¼¥É¤ò
#  ºÆÀßÄꤹ¤ë¥Ä¡¼¥ë
#
#  Ver.0.1
#  by Yasuhiro Miyake 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
2005-07-12 14:24:35 (²Ð)

²È¥µ¡¼¥Ð´ÉÍýÄ¢

¥È¥Ã¥×   ¿·µ¬ °ìÍ÷ ¸¡º÷ ºÇ½ª¹¹¿·   ¥Ø¥ë¥×   ºÇ½ª¹¹¿·¤ÎRSS