¥ê¥¹¥È¤ËÎóµó¤·¤¿¥æ¡¼¥¶¤¹¤Ù¤Æ¤Î¥Ñ¥¹¥ï¡¼¥É¤òºÆÅÐÏ¿¤·¤Þ¤¹¡£ ¤³¤Î¥³¥ó¥Æ¥ó¥Ä¤Î¡Ö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