作者 主題: 團體改更密碼的程式。  (閱讀 7003 次)

0 會員 與 1 訪客 正在閱讀本文。

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
團體改更密碼的程式。
« 於: 2001-12-04 21:22 »
把下面的碼貼成一個檔,就可以執行了。
小弟不才,寫的不好,有什麼改進的,請多多賜教。

團體程式更改程式使用說明

程式內容:
   2930 Dec  4 21:01 pass.pl

使用說明:
   1. 請依pass.pl中說明修改參數。
   2. 以root權限,或能讀取/etc/shadow檔之帳號執行pass.pl
   3. 程式會產生三個程式
      3.1. shadow:請將本檔拷貝至/etc/shadow
                    密碼即生效。
      3.2. userlist:帳號及帳號擁有者。
      3.3. UserPasswd:可將本單列印出來後發給使用者,
                       確認帳號之新密碼。
   




#!/usr/bin/perl
# +-----------------------------------------------------------+
# |  團體密碼更改程式  V0.1                                   |
# |   版權宣告:                                            |
# |     本程式版權由梁楓所有,非商業、販賣可免費使用。      |
# |       若販賣、收集於光碟等商業行為,請先與作者聯絡取得書面|
# |      同意。                     |
# |                           |
# |     本程式可自由修改,但改良後請將更新後的程式回寄一份  |
# |     至作者。                                            |
# |                                                           |
# |                                                           |
# |   作者:梁楓                                             |
# |   E-mail:lman@brain-c.com                                 |
# +-----------------------------------------------------------+
# 請將不更改密碼之帳號加入以下陣列
@array=('bin','root','daemon','adm','lp','sync','shutdown','halt','mail','news','uucp','operator','games','gopher','ftp','nobody','nscd','wnn','mailnull','ident','rpc','rpcuser','xfs','apache','named','amanda','ldap','pvm','squid','smmsp');
# 請將輸出後的使用者密碼單每頁數量。
$number = 6;
# 加密依據,請依您的狀況修改。
$cyrpt = "aDLx1";
# 請將以下說明格式修改為你要的內容
format OutUserList =
   +-----------+-------------------------------+---------------------+
   | 使用者資料|@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<|密碼:@<<<<<<<<<<<<<<<|
     $userlist,                  $passwd
   +-----------+-------------------------------+---------------------+
   |請妥善保存,切勿放置顯眼處或遺失,若遺失請馬上通知MIS重新更換新密|
   |碼!為確保公司資料正確,請確實遵守!                             |
   +-----------------------------------------------------------------+
.

open (Passwd,"/etc/passwd");
open (UserList,">userlist");

ARY1:while ($line = ){
   @UserList = split /:/,$line;
   foreach $UserList(@array){if ($UserList[0] eq $UserList){next ARY1}}
      print UserList "$UserList[0]:$UserList[4]n";
}



system "./pas_1.pl";
@array = ('1','2','3','4','5','6','7','8','9','0','a','b','c','d','e','f','g','h','i','j','k','l','n','m','o','p','q','r','s','t','u','v','w','x','y','z');
$b = 0;
$page = 1;
$list = 1;
open(UserList,"userlist");
open(OutUserList,">UserPasswd");
open(Shadow,"/etc/shadow");
open(OutShadow,">shadow");
while (chomp($line = )){
   @userlist = split /:/ , $line;
   $userlist = "$userlist[0]:$userlist[1]";
   $passwd = '';
   $i = 0;
   while($i <= :cool:{
      $rand = int(rand 36);
      $passwd = "$passwd" . "$array[$rand]";
      $i++
      }
$b++;

if ($b == $number){print OutUserList "nfn ";$b=0;$page++}
$list ++;

#print "$userlist,$passwdn";
write OutUserList;
while (chomp($line = )){
   @User = split /:/,$line;
   if ($User eq $userlist){
      $com_passwd = cyrpt("$passwd","$cyrpt");
      print OutShadow "$User[0]:$com_paswd:$User[2]:$User[3]:$User[4]:$User[5]:$User[6]:$User[7]";
   }else{print OutShadow "$linen"}
}
      
      
      
}
print "共有 $list 使用者,本次共列印 $page 頁n";

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
團體改更密碼的程式。
« 回覆 #1 於: 2001-12-04 23:09 »
hmm... 上面的貼完之後,發現有些程式碼不見了
請需要的人到下面下載
http://brain-c.com/cgi-bin/pass.pl

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
團體改更密碼的程式。
« 回覆 #2 於: 2001-12-06 08:27 »
如果在十二月五日下午四點之前抓的
請重抓,因為原本的程式我寫錯了 :razz:
不會更新密碼...

位置同上。

...

  • 酷學園旁聽生
  • 俺是博士!
  • *****
  • 文章數: 5607
    • 檢視個人資料
團體改更密碼的程式。
« 回覆 #3 於: 2001-12-11 21:36 »
請問system "./pas_1.pl";在那裡呢?

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
團體改更密碼的程式。
« 回覆 #4 於: 2001-12-11 23:07 »
不好意思,第一次寫的時候檔案有誤
請下載新的檔案
團體程式更改程式使用說明

程式內容:
   3162 Dec  5 14:21 pass.pl

使用說明:
   1. 請依pass.pl中說明修改參數。
   2. 以root權限,或能讀取/etc/shadow檔之帳號執行pass.pl
   3. 程式會產生二個程式
      3.1. shadow:請將本檔拷貝至/etc/shadow 密碼即生效。
      3.2. UserPasswd:可將本單列印出來後發給使用者,
             確認帳號之新密碼。
   

這個才是正確的
只有一個檔案而己...

下載位置:http://brain-c.com/cgi-bin/pass.pl

梁楓

  • 俺是博士!
  • *****
  • 文章數: 6220
    • 檢視個人資料
團體改更密碼的程式。
« 回覆 #5 於: 2001-12-11 23:11 »
唔,同時在說明...
我對不起大家...
除錯的時候,忘了把本來拿來做其它事的程式給拿掉了...
pas_1.pl 這個檔以經不需要了...