歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

如何通過WEB方式安全添加系統用戶

  在網上看到一些通過PHP直接添加系統用戶的解決方法,這些方法都在腳本中保存系統超級用戶密?很大的安全性問題。這裡提供的方法是通過php在前台添加用戶、密碼記錄到mysql數據庫中,後台通過cron 隔時(時間可以自己設定)執行添加用戶的程序。程序中都沒有記錄系統超級用戶密碼,這樣能保證系統的安 全。如下為添加用戶的後台程序,這個程序只是為很粗糙的演示程序,功能為把addornot=0的用戶加入系統中 而已,僅供讀者參考。php添加用戶信息到數據庫的程序略去。程序在RedHat6.0 下通過。     adduserfromdb.pl    #!/usr/bin/perl  use DBI;  $dbuser = "xxxx";  $dbpasswd = "xxx";  $db = "xxxx";    $dbh = DBI->connect("DBI:mysql:$db",$dbuser,$dbpasswd);  $query = "select user,passwd from usertable where addornot=0";  $sth = $dbh->prepare($query);  $rv = $sth->execute or die "Can't execute the query:$sth->errstr\n";        while(@row = $sth->fetchrow_array) {          #print "user=".$row[0]."\n";          #print "passWord=".$row[1]."\n";          @saltchars = (a .. z, A .. Z, 0 .. 9);          srand(time$$);          $salt = $saltchars[rand($#saltchars)] .$saltchars[rand($#saltchars)];          #print "$salt\t$row[1]\n";          $encrypt_passwd = crypt($row[1],$salt);          #print $encrypt_passwd."\n";          $add_exec = "/usr/sbin/useradd -p ".$encrypt_passwd." ".$row[0];          #對useradd增加參數,可以控制用戶的組別、目錄、登陸與否、shell等等          #print $add_exec."\n";          system($add_exec);         }  #1;     用戶信息表  usertable:    CREATE TABLE usertoadd (    user tinytext NOT NULL,    passwd tinytext NOT NULL,    addornot tinyint(4) DEFAULT '0' NOT NULL  );




Copyright © Linux教程網 All Rights Reserved