user the user module's password parameter

This commit is contained in:
Jean-Marie Mineau 2021-01-30 16:21:27 +01:00
parent e2f64666f6
commit a45e48c2bc
4 changed files with 92 additions and 59 deletions

View file

@ -35,3 +35,11 @@ The mapping vault-id@password-file is done in ansible.cfg under [defaults] in va
To create a new vault with an id and password registered in ansible.cfg: To create a new vault with an id and password registered in ansible.cfg:
`ansible-vault create --encrypt-vault-id user_vault group_vars/all/user_vault` `ansible-vault create --encrypt-vault-id user_vault group_vars/all/user_vault`
## User managment
The user managment role allows to manage user.
Especially, it generate the described users on each hosts.
The password are stored in the variables in there hash form. The script `hash_passwd.py` can give you the hash of a password.

View file

@ -1,53 +1,68 @@
$ANSIBLE_VAULT;1.2;AES256;user_vault $ANSIBLE_VAULT;1.2;AES256;user_vault
34333237343737396239323234633763636637663932633963353264353038643938353638376238 38363435323834653536616230643831633239356637393261373339393165643437363532626364
3932643331316536613330633461306437326433343031310a396433363538353666333931393437 3837376562396330623166356664386663633634633838330a626662386266666364393639303465
31363534373165353839356633666461356637626131613233646331393037393238656164323833 34386562373936643030653762376138646366623036386235623362633261336437636131643930
3536643932646138640a616135316332613830343136343166613038316662656330383836643262 3739356332333961630a316130376262643562633733633861636238663033396237613338373939
33623331356234393434656361643835373530336335613030373662323063663565666363633663 35633038393563633435646338383065613636393861353261613963636466613032356638326236
37633132623366386434633837666238626664386564336261343530643036373931366238313464 63633566353664643934316435636632383364363864613761326436393837333866303637386633
66343163626432666430343934333434643263666536643761313762353062313065303164303661 36363566633132336634393263343765356131396131373861383333336665656132303163353231
61323431303063613439666137616166333936636637656636303263386333313433623433383063 38383437396436613737353738396232633766306566336334376136376432653461363031633663
66353964636335636465613666656663343763626262346162373934393138343732363638346231 63326637346262303832373038363666303132643534343664373566336261306537636636333032
33393337663530383066663638373333313138363733383731303533663235666135656433393239 63393361323331343264366232393961333665393437356334393765396338373032356661306664
39643837666332636662623434363338313862323638316133366134656361633530333333316534 32333565616530313835623532623831396530396531306438646533666537326631626230656666
32643639623338303136353739643861633161633962303666653331623436623931376462306235 30343062636132393361666237613562636636616436623466343361326530346138326266343637
66373262373938616434316564363937633664326434633338613065663261326231383134656431 33333237306564623839336130373562346165343034663532396164633139333261656635323636
65376432353661613531643566393730323736663564303630633962626230356531343239303737 36313561386639313766373366333864306162643134643665343563643330316634383836396461
39386266353634626465373866343865656333363937306261313164376130306138373436313165 37646530666665333763336263373036666361396236383763383937663865393964653538313330
39646331393837386664636262356133306531383764306461316137633439343432336561613631 64643939656233386537326465366263333833656130613434626264366531373638393263373838
63373865393833333861373030316436623836373961616366636634623362633438323439333336 64666137373632626561656639666461303435623332633264663332346665656333393839336536
33613234613536366461633230396164353466393235376333336437363465343036346534666666 63643339346236383930393064316431373461643966393762363262643834346362636130363238
39396166326233313931386465623734336538666137366562336363343763306534666562363966 39376633393562653364666638316136663830646664653665343436646364353162343432373430
35396261383666616438626562396536366135613861313430316133666231666133316164323036 39343830316233613961373261336130303738663136663131363366346566313063333838613063
38376333393636313063393733333132313939393537363336633665343835326130363963633335 39353862613762633566666236306137386438636135303663333364386437343134633231333138
65333435306531326433323063623032326637323531323530666534613461373637383966306662 65326338616666653237643035343261376636653561653665643962636139623030636366623337
63393038636234313130643562363938383561383236626133643035616335316363346630333764 38313066306635666166643438353337306433336235343335306635656666613232373538333466
36313864623830663233636134653436383363363731323332306564336566386639323739336265 30343565353764613134666364373234656661396663346138396139353763656262313664353630
32383432383835366134656365633166373330313666323366636161326539353438626537303763 32396432356162613831623331336130303339353337633866343531303234633439373631383563
65326137616538326238613965636534376332393731646631336534613633393064626561636639 36313231653638623434383933393238323465626565623133643537326231323336353931633831
32373632343539663864373737336262656539376266613235316130636135336261373164633831 32343932376337623262396433633230313462373332633337396333333439353833323862303763
35623938663361323435363334633535656263396162343835383263626537343039633864363934 63616164363762646534393436613462356361313334316466656237333838326361653538313131
66343734643638373463663764363132643731663463613266316265373839306339323032653063 35353938613734613133646334653135346362393538316534303563646136303063383938666535
35613535343362346162643938346461396434373866343139306633393434393533623830383564 65616137643832663436353562343838306333666638643233366266386161373936633064353635
35303433343538396432386562306264613864373864326631643131396234373437313636636237 32376435643362643533653666313030633462306662656334343636613631656330623037363164
62653030613735633531333430663365353330636636636635316365356363353034393333333534 66666663323761303961346334643266396533656631393662656631333731643435653961373862
62326663316536363765393464343266303535623839306264613331343039326665393530363739 62646236313066636431326164663765646664376334393638303066386435366163663132653261
39363332626336656362633634303439636135363061376434323637333233383736363939326363 31653331333934333265646236363631336334613866326162653364336263663034373930393437
35353532396336623437353431306435636461633330356564616330623834653533646130343135 62623765346437613764643434396438386162333263666530313837636139303435343536353839
61346364363761353332373365383666623062396230663936623130663862353465653835313634 34656233333037303635616666626233323436643333313231623563323338353638396139636536
63643139393835623634653864643761633866306431363337643962386430393265393933303538 31646337613634663834353836393839333539303733336363356136323761616161353636303735
39623933333132353963336630353639363932393931643134353766656161336431656463333337 31313561353937636234313063643831663930656562353335393237393434336532383231656138
39306661336430303531363131373333383234653137333338366236353135343562316264396436 36643866396162356435316566616137353935336130646664376239663032346563613062386337
33663861323461343835376162333064383666623033343138363865356666306361383163336663 32613833356532633965666433363464386464333238306335663532373433646161326638323435
66633032323831336462326261303961353462316433376565653337653234643461663566366634 65623331393333663136653330356231323830656363323236626436333534306162323063343830
32373936306439646633646163613564333436653762366634313338353166633030376331633362 39623332363430623635663635663134383563393364363162616661336136626433376331643962
38313862323932396265653434336665663262653361623737333831356661643739353538323236 62653666366662643732623365643363613963613034653238326136303537386436356433366230
66636234623838326437663064363734373765356261383038613035383538306431326336323933 30306435656438653532313230393438323230313562656431623631323963333839336131333331
38643232333935633335323132373564376262313334653233656563363133383038363562613031 39623631646562656135653931383265323930333566316163343134643436343162393262366136
65303735616235316139373334666363653064313730336530343463613362346461313561626131 65383138363865376431616237393935653133613633633866643335313331333065353830633361
33626362616466396233643263336335653665373662616533376566383037643663363532343539 35653537343164363262353030663531366631333133356262373031373432313065656531316638
32626439353464393264396362346434353962656436343466653238343636323437356339646264 34326634393766366165313632343638656161353764313265323063653332373935356564306666
33373937383561663937326665313035643365643862363631353364613665633166633031633533 31626631393235323361386232386137616661636662353164333435663033363465306636353737
33613633626666646638303062383762333331626139303934323762633266626432613937313836 34343637613263626564373537663733356364346161303366306535373761613564323432356266
30316133313338363662346639386362336538356434656238336466383334333131626235383666 31343936343035336361666165343239396135303066373535643137633038373638363737376131
37643938353166396130 32653731306636393235666435373862653862316638393633656361643030653361653132353035
35646132336263653564366162636464646232346339326232623933333632653530376539613165
39393863323331643265636265386435336230613837623938636666636438323665376263326631
63623131336234346137393135393431653066333763306663376464663261353562356664393631
39326534376465383262653139376432353032616165663164373762643065653534383238313063
37366134303435306366313561373566613435653234306432626561366233373339373030303366
34643835633262646262346630366339383935373731343435323966656535333563623065333536
37356563343433346139626362373663663235383234323566323466613465333233353631336633
39376264353862326134346162366265633966643663323461346464663162346261303439663864
37396338396531366337326231643231643533623730313437383764656461663463313839393066
32636431383463353064633064306434326332386631343634616539376530643264363732306439
30396662633731356538393738636231373138623731323537653661383739343434373864366235
66313732326433356630303937323163666531353431656135363232363963346339336566373766
38336137373338636132343734303663313433336363656663313362333336333464626663613566
63343130333236626539313032383437353330363632353533393263373563386261393532373932
356437656137383837643465353033346436

16
hash_passwd.py Executable file
View file

@ -0,0 +1,16 @@
#!/usr/bin/env python3
#coding: utf-8
import crypt
import getpass
import secrets # Better than random for security purpose
import string
def gen_salt(dictionnary=string.ascii_letters, length=8):
return ''.join([secrets.choice(dictionnary) for _ in range(length)])
pwd = getpass.getpass("new password: ")
randomsalt = gen_salt()
hashed_password = crypt.crypt(pwd, '$6${}$'.format(randomsalt))
print(hashed_password)

View file

@ -5,13 +5,7 @@
name: "{{ item.name }}" name: "{{ item.name }}"
groups: "{{ item.groups }}" groups: "{{ item.groups }}"
shell: "{{ item.shell }}" shell: "{{ item.shell }}"
loop: "{{ uservault_users }}" password: "{{ item.password_hash }}"
- name: Set the passwords
replace:
path: /etc/shadow
regexp: '^{{ item.name }}:(.*?):(.*)'
replace: '{{ item.name }}:{{ item.password_hash }}:\2'
loop: "{{ uservault_users }}" loop: "{{ uservault_users }}"
- name: Create .ssh file - name: Create .ssh file