当前位置:  技术问答>linux和unix

RH7.3下如何批量输入有密码的用户列表并且指定用户组和shell??

    来源: 互联网  发布时间:2015-01-05

    本文导语:  从文件或者数据库里怎么导? | 用perl写个脚本,这是我写的脚本的一个片断,省掉了不重要的部分,你自己改一下吧: #!/bin/perl my $filename = "passwd"; if(open (FH, "$filename")){   while(){     m...

从文件或者数据库里怎么导?

|
用perl写个脚本,这是我写的脚本的一个片断,省掉了不重要的部分,你自己改一下吧:
#!/bin/perl

my $filename = "passwd";

if(open (FH, "$filename")){
  while(){
    my $line = $_;
    $line =~ /(S+):(S+):(S+):(S+):(.*):(S*):(S*)/;

    my $username = $1;
    my $password = crypt_passwd($setpasswd ? $2 : $default_passwd);
    my $userid = $3;
    my $groupid = $4;
    my $description = $5 ? $5 : "none";
    my $home = $6;
    my $shell = $7;

    my $result = `useradd -d $home -s $shell -p $password  -c '$description`;
  }
  close (FH);
}

|
我些的脚本里的crypt_passwd需要你自己写,我的是这样的(没用到md5):

sub crypt_passwd(){
  my $old_pass = shift;

  my $salt = chr(int(rand(26))+65).chr(int(rand(26))+65);
  my $new_pass = crypt($old_pass, $salt);
  return $new_pass;
}

|
-p后面跟的是加密后的密码
你可以用函数 crypt做个c程序来实现加密口令
#!/bin/bash
echo Usage add_user username group shell passwd
pw=`./getpass $4`
useradd -g $2 -s $3 -p $pw $1 

//getpass.c
#include 
#define _XOPEN_SOURCE
#include 

int main(int argc, char *argv[])
{
  printf("%s",  crypt(argv[1], "bt"));
  return 0;
}

|
你的密码是怎么定的??
说的具体点

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求助rh7.2的启动回复问题。
  • RH7.3 DVD如何装载?
  • 请教用RH7.2的朋友,你们用的是什么的网卡?
  • 难道RH7.2不支持这样安装啦!
  • 我的RH7.2不能Telnet ,请帮忙.
  • RH7.3的中文支持还是不敢恭唯,郁闷~~~~~~~~~~~
  • 请问在rh7.3中,如何更改计算机名?谢谢
  • rh7.2频繁自动重启,是否受黑客攻击?如何解决?
  • 请教如何更改rh7.2(字符模式)下机器的名字?
  • rh7.2局域网内的linux如何访问2000的机器?
  • rh7.2:gcc是什么????
  • 请问下RH7.2,在安装时支持D-Link的网卡么?谢谢
  • 我想重新安装RH7.1,请问应该注意点什么问题?要不要先把分区删除呢?
  • RH7.2,怎么让TELNET跑起来?
  • 我的rh7不能启动,很急谁能帮帮我,谢谢。
  • RH7.3下怎样将gcc 从 2.96升级到3.2???
  • 在rh7.2中如何取消默认的启动方式
  • rh7.2下的konqueror为什么不能用
  • 我装了RH7.3,但是找不到驱动……
  • 请问在rh7.3下设置防火墙等级?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3