Python论坛  - 讨论区

标题:[python-chinese] 如何写linux下的批量创建用户的脚本

2006年06月15日 星期四 19:40

john john.about at gmail.com
Thu Jun 15 19:40:24 HKT 2006

想用python写一个linux下的批量创建用户的脚本.
思路是用os.system(),调用系统命令adduser和passwd来创建用户.
现在的问题是,输入passwd后,系统会提示输入newpassword:
这时如何获得输入的焦点??
或者说有什么其它方法来做这个脚本??
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060615/84938442/attachment-0001.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月16日 星期五 00:58

xxmplus xxmplus at gmail.com
Fri Jun 16 00:58:27 HKT 2006

直接用shell来写咯

On 6/15/06, john <john.about at gmail.com> wrote:
>
> 想用python写一个linux下的批量创建用户的脚本.
> 思路是用os.system(),调用系统命令adduser和passwd来创建用户.
> 现在的问题是,输入passwd后,系统会提示输入newpassword:
> 这时如何获得输入的焦点??
> 或者说有什么其它方法来做这个脚本??
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月16日 星期五 01:55

swordsp sparas2006 at gmail.com
Fri Jun 16 01:55:00 HKT 2006

看看pexpect模块。

On 6/15/06, john <john.about at gmail.com> wrote:
>
> 想用python写一个linux下的批量创建用户的脚本.
> 思路是用os.system(),调用系统命令adduser和passwd来创建用户.
> 现在的问题是,输入passwd后,系统会提示输入newpassword:
> 这时如何获得输入的焦点??
> 或者说有什么其它方法来做这个脚本??
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060616/66108e3d/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月16日 星期五 02:04

bird devdoer devdoer at gmail.com
Fri Jun 16 02:04:21 HKT 2006

不需要这么做
添加用户后
修改/etc/shadow 来设置密码即可 python提供了crypt模块


在06-6-15,john <john.about at gmail.com> 写道:
>
>  想用python写一个linux下的批量创建用户的脚本.
> 思路是用os.system(),调用系统命令adduser和passwd来创建用户.
> 现在的问题是,输入passwd后,系统会提示输入newpassword:
> 这时如何获得输入的焦点??
> 或者说有什么其它方法来做这个脚本??
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>


-- 
devdoer
devdoer at gmail.com
http://project.mytianwang.cn/cgi-bin/blog
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060616/0f9b947d/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月16日 星期五 03:00

Scott Wang findhappy at gmail.com
Fri Jun 16 03:00:15 HKT 2006

用shell script可以解决问题,无须PYTHON。
但如果你用户和密码存在文件里,那也许python的fileio会简单点。
至于PASSWORD的问题,参看man useradd, 有参数可以直接设置地。

On 6/15/06, john <john.about at gmail.com> wrote:
>
> 想用python写一个linux下的批量创建用户的脚本.
> 思路是用os.system(),调用系统命令adduser和passwd来创建用户.
> 现在的问题是,输入passwd后,系统会提示输入newpassword:
> 这时如何获得输入的焦点??
> 或者说有什么其它方法来做这个脚本??
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>


-- 
Scott Wang
Email: findhappy at gmail.com
Web: http://www.rainstork.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060615/5fcf170a/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月16日 星期五 08:42

魏忠 weizhong2004 at gmail.com
Fri Jun 16 08:42:18 HKT 2006

换用 useradd 查以在命令行指定用户信息(当然也包括用户密码) , 不过有的发行版 useradd 仅仅是 adduser 的硬连接,那就不好办了
-- 
开飞机的舒克
http://www.lvye.org/shuke
msn:weizhong at netease.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060616/3cbf2c33/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月16日 星期五 09:20

lubiao lubiao.py at gmail.com
Fri Jun 16 09:20:23 HKT 2006

用管道, 输入输出重定向

On 6/15/06, john <john.about at gmail.com> wrote:
>
>  想用python写一个linux下的批量创建用户的脚本.
> 思路是用os.system(),调用系统命令adduser和passwd来创建用户.
> 现在的问题是,输入passwd后,系统会提示输入newpassword:
> 这时如何获得输入的焦点??
> 或者说有什么其它方法来做这个脚本??
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060616/f22c6381/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月16日 星期五 10:02

Daniel Liao daniel.liao at wuerth-phoenix.com
Fri Jun 16 10:02:00 HKT 2006

An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060616/9cf2f602/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月16日 星期五 14:24

shhgs shhgs.efhilt at gmail.com
Fri Jun 16 14:24:54 HKT 2006

不用那么麻烦,shell就可以完成

用useradd加用户,用chpasswd命令批量修改用户的口令


假设你的文本文件如下
-----------------------------------
$ cat passfile
alex:2001:alexqwert
ben:2002:benqwert
-----------------------------------

其中第一个字段是用户名,第二个字段是uid,第三个字段是口令

--------------------------------------------------------------------
awk -F: '{system("useradd -u " $2 " " $1);}'  passfile
awk -F: '{print $1 ":" $3}' passfile | chpasswd
--------------------------------------------------------------------







On 6/15/06, Scott Wang <findhappy at gmail.com> wrote:
> 用shell script可以解决问题,无须PYTHON。
> 但如果你用户和密码存在文件里,那也许python的fileio会简单点。
> 至于PASSWORD的问题,参看man useradd, 有参数可以直接设置地。
>
>
> On 6/15/06, john < john.about at gmail.com> wrote:
> >
> >
> >
> > 想用python写一个linux下的批量创建用户的脚本.
> > 思路是用os.system(),调用系统命令adduser和passwd来创建用户.
> > 现在的问题是,输入passwd后,系统会提示输入newpassword:
> > 这时如何获得输入的焦点??
> > 或者说有什么其它方法来做这个脚本??
> >
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>
>
>
>
> --
> Scott Wang
> Email: findhappy at gmail.com
> Web: http://www.rainstork.com
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月16日 星期五 15:02

Leo Jay python.leojay at gmail.com
Fri Jun 16 15:02:58 HKT 2006

On 6/15/06, john <john.about at gmail.com> wrote:
>
>  想用python写一个linux下的批量创建用户的脚本.
> 思路是用os.system(),调用系统命令adduser和passwd来创建用户.
> 现在的问题是,输入passwd后,系统会提示输入newpassword:
> 这时如何获得输入的焦点??
> 或者说有什么其它方法来做这个脚本??
>
linux下,创建用户其实就是这么几步:
改passwd和shadow,把/etc/skel目录里所有的文件拷到新用户的目录里。
所以你只要在passwd和shadow文件的最后批量写入用户的信息,
然后再批量生成用户目录就好了。


-- 
Best Regards,
Leo Jay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060616/4bd7935f/attachment-0001.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月16日 星期五 15:16

Xiao Lei Wu xiaoleiw at cn.ibm.com
Fri Jun 16 15:16:02 HKT 2006

²»Òª¼òµ¥µØÐÞ¸ÄÎļþ
ÒòΪ²»Ò»¶¨¶¼ÊDzÙ×÷±¾µØÓû§
Ò»¸ö½¡×³µÄ³ÌÐòÓ¦¸Ã²ÉÓñê×¼µÄ½Ó¿ÚÒÔÂú×ã¸÷ÖÖ»·¾³µÄÐèÇó

Best Regards,

Zachary Wu (Îâ°~ÀÚ)
Software Engineer, Enterprise Content Management FVT, IBM China Software
Development Lab
Tel: +86 10 82782244-3235. Fax: 82782244-2886 Tie Line: 915-2244-3235
Internet: xiaoleiw at cn.ibm.com
Notes ID: Xiao Lei Wu/China/Contr/IBM at IBMCN
Address: 8/F, Block A, Power Creative Building, No.1, East Road, Shang Di,
Beijing 100085, P.R. China

python-chinese-bounces at lists.python.cn дÓÚ 2006-06-16 15:02:58:

> On 6/15/06, john <john.about at gmail.com> wrote:
> ÏëÓÃpythonдһ¸ölinuxϵÄÅúÁ¿´´½¨Óû§µÄ½Å±¾.
> ˼·ÊÇÓÃos.system(),µ÷ÓÃϵͳÃüÁîadduserºÍpasswdÀ´´´½¨Óû§.
> ÏÖÔÚµÄÎÊÌâÊÇ,ÊäÈëpasswdºó,ϵͳ»áÌáʾÊäÈënewpassword:
> ÕâʱÈçºÎ»ñµÃÊäÈëµÄ½¹µã??
> »òÕß˵ÓÐʲôÆäËü·½·¨À´×öÕâ¸ö½Å±¾??
> linuxÏ£¬´´½¨Óû§Æäʵ¾ÍÊÇÕâô¼¸²½£º
> ¸ÄpasswdºÍshadow£¬°Ñ/etc/skelĿ¼ÀïËùÓеÄÎļþ¿½µ½ÐÂÓû§µÄĿ¼Àï¡£
> ËùÒÔÄãÖ»ÒªÔÚpasswdºÍshadowÎļþµÄ×îºóÅúÁ¿Ð´ÈëÓû§µÄÐÅÏ¢£¬
> È»ºóÔÙÅúÁ¿Éú³ÉÓû§Ä¿Â¼¾ÍºÃÁË¡£
>
>
> --
> Best Regards,
> Leo Jay _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060616/64068999/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月16日 星期五 16:45

Gavin gavin at sz.net.cn
Fri Jun 16 16:45:19 HKT 2006

import random, string
import crypt
import os

def getsalt(chars = string.letters + string.digits):
    return random.choice(chars) + random.choice(chars)
  
def creatuser(user,pwd):
     try:
        cmd='/usr/sbin/useradd  %s  -p %s'%(user,crypt.crypt(pwd, getsalt()))
        c=os.open(cmd)
        print "create user ",user, "successfully"
     except exception,e:
        print "create user %s failed: %s"%(user,str(e))
     c.close()

def test():
    creatuser('abcd','123')


if  __name__=="__main__":
    test()


  ----- Original Message ----- 
  发件人: john 
  收件人: python-chinese at lists.python.cn 
  发送时间: 2006年6月15日 19:40
  主题: [python-chinese] 如何写linux下的批量创建用户的脚本


  想用python写一个linux下的批量创建用户的脚本.
  思路是用os.system(),调用系统命令adduser和passwd来创建用户.
  现在的问题是,输入passwd后,系统会提示输入newpassword:
  这时如何获得输入的焦点??
  或者说有什么其它方法来做这个脚本??


------------------------------------------------------------------------------


  _______________________________________________
  python-chinese
  Post: send python-chinese at lists.python.cn
  Subscribe: send subscribe to python-chinese-request at lists.python.cn
  Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
  Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20060616/9fef3a28/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2006年06月16日 星期五 20:34

shhgs shhgs.efhilt at gmail.com
Fri Jun 16 20:34:09 HKT 2006

你肯定吗?

/etc/shadow文件默认是0400的权限,也就是说不可写的

这种事情用shell很方便的,为什么要用Python?

用正确的工具解决问题!

On 6/16/06, Gavin <gavin at sz.net.cn> wrote:
>
>
> import random, string
> import crypt
> import os
>
> def getsalt(chars = string.letters + string.digits):
>     return random.choice(chars) + random.choice(chars)
>
> def creatuser(user,pwd):
>      try:
>         cmd='/usr/sbin/useradd  %s  -p %s'%(user,crypt.crypt(pwd,
> getsalt()))
>         c=os.open(cmd)
>         print "create user ",user, "successfully"
>      except exception,e:
>         print "create user %s failed: %s"%(user,str(e))
>      c.close()
>
> def test():
>     creatuser('abcd','123')
>
>
> if  __name__=="__main__":
>     test()
>
>
>
> ----- Original Message -----
> 发件人: john
> 收件人: python-chinese at lists.python.cn
> 发送时间: 2006年6月15日 19:40
> 主题: [python-chinese] 如何写linux下的批量创建用户的脚本
>
>
> 想用python写一个linux下的批量创建用户的脚本.
> 思路是用os.system(),调用系统命令adduser和passwd来创建用户.
> 现在的问题是,输入passwd后,系统会提示输入newpassword:
> 这时如何获得输入的焦点??
> 或者说有什么其它方法来做这个脚本??
>
>
>  ________________________________
>
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to
> python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to
> python-chinese-request at lists.python.cn
> Detail Info:
> http://python.cn/mailman/listinfo/python-chinese
>
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号