当前位置:操作系统 > Unix/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

  );

  

上一个:授权web服务器进行安全的数据库访问
下一个:安全增强措施用Openssh构建安全网络

更多Unix/Linux疑问解答:
路由原理介绍
子网掩码快速算法
改变网络接口的速度和协商方式的工具miitool和ethtool
Loopback口的作用汇总
OSPF的童话
增强的ACL修改功能
三层交换机和路由器的比较
用三层交换机组建校园网
4到7层交换识别内容
SPARC中如何安装Linux系统(2)
SPARC中如何安装Linux系统(1)
用Swatch做Linux日志分析
实战多种Linux操作系统共存
浅析Linux系统帐户的管理和审计
Linux2.6对新型CPU的支持(2)
电脑通通透
玩转网络
IE/注册表
DOS/Win9x
Windows Xp
Windows 2000
Windows 2003
Windows Vista
Windows 2008
Windows7
Unix/Linux
苹果机Mac OS
windows8
安卓/Android
Windows10
如果你遇到操作系统难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,