Aaah

The joys!

Probably a good thing, but this pretty generic, and contains no corporate
secrets.


I've updated the paste bin with a newer version that accepts arguments and
displays a usage message:

http://pastebin.com/wcTxUd5B

If you want I can email you the script directly?


On 3 May 2012 14:59, COX Derek <derek....@alstom.com> wrote:

>  No feedback from me – corporate firewall blocks pastebin.com !
>
>
>
> *From:* peterboro-boun...@mailman.lug.org.uk [mailto:
> peterboro-boun...@mailman.lug.org.uk] *On Behalf Of *Richard Forth
> *Sent:* 03 May 2012 14:43
> *To:* Peterborough LUG - No commercial posts
> *Subject:* [Peterboro] BASH CODING: Bulk User and Group Adder
>
>
>
> Hi Peeps,
>
> I wanted to share with you a working BASH script that basically takes a
> textfile that looks kinda like this:
>
> sales:mark,sally,dave,sue,steve
> marketing:jason,philip,eric,steve
> ...
>
> and processes each line - lets take the first line as example:
>
> Checks to see if sales exists already in /etc/group
> If not creates it.
> then checks to see if each user exists, if they do
> it checks to see if they are already in the group,
> if not it adds it to the group
> if the user doesnt exist it creates the user and assigns a random 8
> character password, then adds it to the group.
> If you want one particular user to be in more than one group thats ok just
> add it to whatever line for that group (see steve in the example).
>
> Its only 49 lines of code, including documentation notes.
>
> Probably totally impractical in real life but it was an exercise in bash
> coding, with this aim in mind.
>
> If anyone wants a copy, I've created a public pastebin:
> http://pastebin.com/uPxsZcGr
>
> the textfile was originally called bugalist
>
>
>      8          for line in `cat bugalist`
>
>
> You can probably modify line 8 to be $1 or set up some code to check for
> arguments etc, which I now realise I missed out, and didnt document either
> (damn).
>
> Anyway just in case you wonder what "bugalist" was:
>
> ~/Dev_Area/bash $ cat bugalist
> u5:john,tessa,richard,steve
> u6:dorris,erran,jason,steve
> ~/Dev_Area/bash $
>
> Sample output:
> ~/Dev_Area/bash $ sudo ./buga
> ===========
> Processing Line:
> u5:john,tessa,richard,steve
> ===========
>         Creating group 'u5' ...
>                 Members: john,tessa,richard,steve
>                         Creating user 'john' ...
>                         Password for user 'john' set to: vM6oElDG
>                         Adding user 'john' to group 'u5' ...
>                         uid=1002(john) gid=1003(john)
> groups=1003(john),1002(u5)
>
>                         Creating user 'tessa' ...
>                         Password for user 'tessa' set to: t9jt2uRR
>                         Adding user 'tessa' to group 'u5' ...
>                         uid=1003(tessa) gid=1004(tessa)
> groups=1004(tessa),1002(u5)
>
>                         Creating user 'richard' ...
>                         Password for user 'richard' set to: vZddQN4g
>                         Adding user 'richard' to group 'u5' ...
>                         uid=1004(richard) gid=1005(richard)
> groups=1005(richard),1002(u5)
>
>                         Creating user 'steve' ...
>                         Password for user 'steve' set to: RG8fdZjG
>                         Adding user 'steve' to group 'u5' ...
>                         uid=1005(steve) gid=1006(steve)
> groups=1006(steve),1002(u5)
>
> ===========
> Processing Line:
> u6:dorris,erran,jason,steve
> ===========
>         Creating group 'u6' ...
>                 Members: dorris,erran,jason,steve
>                         Creating user 'dorris' ...
>                         Password for user 'dorris' set to: qDTgCcxn
>                         Adding user 'dorris' to group 'u6' ...
>                         uid=1006(dorris) gid=1008(dorris)
> groups=1008(dorris),1007(u6)
>
>                         Creating user 'erran' ...
>                         Password for user 'erran' set to: JOL47SrN
>                         Adding user 'erran' to group 'u6' ...
>                         uid=1007(erran) gid=1009(erran)
> groups=1009(erran),1007(u6)
>
>                         Creating user 'jason' ...
>                         Password for user 'jason' set to: 3UG416G6
>                         Adding user 'jason' to group 'u6' ...
>                         uid=1008(jason) gid=1010(jason)
> groups=1010(jason),1007(u6)
>
>                         User 'steve' already exists.
>                         Adding user 'steve' to group 'u6' ...
>                         uid=1005(steve) gid=1006(steve)
> groups=1006(steve),1002(u5),1007(u6)
>
>
> Enjoy!
>
> Feedback welcome.
>
> Enjoy!
> Rich
>
>
>
>
>
> ------------------------------
> CONFIDENTIALITY : This e-mail and any attachments are confidential and may
> be privileged. If you are not a named recipient, please notify the sender
> immediately and do not disclose the contents to another person, use it for
> any purpose or store or copy the information in any medium.
>
> _______________________________________________
> Peterboro mailing list
> Peterboro@mailman.lug.org.uk
> https://mailman.lug.org.uk/mailman/listinfo/peterboro
>
_______________________________________________
Peterboro mailing list
Peterboro@mailman.lug.org.uk
https://mailman.lug.org.uk/mailman/listinfo/peterboro

Reply via email to