Archief - Linux User aanmaak script

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

crimineels

Legacy Member
Yo,

Ik moet een scriptje hebben dat de gebruikers uit een bestand haalt, en ze daarna aanmaakt met een standaardwachtwoord en enkele velden commentaar.
Ik had het volgende om te testen maar dit werkt blijkbaar niet:

for login in 'cat ./users.txt'
do
echo $login
commentaar = 'echo $login | cut -d; -f2'
useradd '$login| cut -d; -f1' -c $commentaar
echo "$login:informatica" | chpasswd
done

In het eerste veld van het bestand zitten dus de gebruikersnamen, en in het 2de en 3de veld de commentaar. scheidingsteken ;
Als ik het uitvoer krijg ik op het scherm 'cat ./users.txt'
OS: Fedora Core 3

Als iemand ideën heeft laat maar weten.

Greets

ShPonGle

Legacy Member
kun je niet werken met de passwd file onder /etc?
of is da enkel bij unix zo (ken da beter dan linux)

crimineels

Legacy Member
K denk da ni, ma normaal zou dit moete werke, snap ni waarom da totaal niks doet..

N`Kr1pt

Legacy Member
ik heb momenteel geen tijd om een scriptje te maken.
maar met sh -x scriptje krijgt ge wat meer debugging info over uw scriptje.

daarmee zijt ge mss al geholpen

crimineels

Legacy Member
N`Kr1pt zei:
ik heb momenteel geen tijd om een scriptje te maken.
maar met sh -x scriptje krijgt ge wat meer debugging info over uw scriptje.

daarmee zijt ge mss al geholpen

Nee daar kom k ook ni echt verder mee. dan krijg k als output men shebang lijn..

dJeez

Legacy Member
Je moet om te beginnen alvast backticks gebruiken in plaats van single quotes, dus ` ipv '.

BTW Een extract van uw users.txt bestand kan ook handig zijn.

crimineels

Legacy Member
dJeez zei:
BTW Een extract van uw users.txt bestand kan ook handig zijn.

Wa bedoelde daarmee? hoe het bestand eruit ziet:
s5047876;Jef;Caers
s5047760;Jan;Claes
....

Het wachtwoord moet voor iedereen informatica zijn.

EDIT: Heb de Quotes veranderd, nu ben k gewoon aant testen he, maar ik heb alweer een probleem met namen met een spatie tussen.. die pakt ie als nieuwe regel.

Dus: Het moet zijn s5048850;jan;van de velde;
Uitvoer: s5048850;jan;van
de
velde

crimineels

Legacy Member
Sick` zei:
en `echo $login| ....` in uw useradd regel

Ja da werkt al, behalve as er iemand ne naam het die uit meerdere delen bestaat, dan behandeld hij da as een nieuwe regel..

N`Kr1pt

Legacy Member
crimineels zei:
Ja da werkt al, behalve as er iemand ne naam het die uit meerdere delen bestaat, dan behandeld hij da as een nieuwe regel..

ik heb hier ff een kleine test gedaan.
file test met volgende inhoud:

1;jos;den os
2;jan;peeters

dan geeft cat test | cut -f3 -d ";" als output:

den os
peeters

wat je zoekt toch?

crimineels

Legacy Member
N`Kr1pt zei:
ik heb hier ff een kleine test gedaan.
file test met volgende inhoud:

1;jos;den os
2;jan;peeters

dan geeft cat test | cut -f3 -d ";" als output:

den os
peeters

wat je zoekt toch?

Idd.. Da moest ik hemme, Merci he man. :bow:
Maar toch: hoe kan ik er nu voor zorgen dat ik een user aanmaak met naam f1, en als comment f2? As ik dit nog weet dan ben ik eruit.

Daarom was ik dus met die For-lus aan het werken, met cat kan je het bestand niet regel per regel verwerken.. Denk ik :doh:

N`Kr1pt

Legacy Member
crimineels zei:
Idd.. Da moest ik hemme, Merci he man. :bow:
Maar toch: hoe kan ik er nu voor zorgen dat ik een user aanmaak met naam f1, en als comment f2? As ik dit nog weet dan ben ik eruit.

Daarom was ik dus met die For-lus aan het werken, met cat kan je het bestand niet regel per regel verwerken.. Denk ik :doh:

wreed simpel.
man useradd leert ons:

Code:
useradd [-c comment] [-d home_dir]
               [-e expire_date] [-f inactive_days]
               [-g initial_group] [-G group[,...]]
               [-m [-k skeleton_dir]] [-o] [-p passwd]
               [-s shell] [-u uid] login

we hebben nu een file (users) met all onze user informatie met volgende opmaak (id, name, comment):

Code:
1;jos;de linux guru
2;jan;het windows sletje

we maken dan een simpel shell scriptje dat elke lijn leest en useradd uitvoert met de juiste parameters:

Code:
while read line
do
   login=`echo $line | cut -d ";" -f2`
   comment=`echo $line | cut -d ";" -f3`

   echo -e "useradd -c $comment $login"
done < users

echo -e "" natuurlijk verwijderen ;)

crimineels

Legacy Member
Merci he, nu ben ik der eindelijk.. Had k zelf nooit kunne vinde za, snap ni goed waarom da ni werkt met een for-lus maja, da wete we dan ook weer he..

THX :bow: :bow: :bow:

crimineels

Legacy Member
Gvd.. Nu zoude toch zegge dak wel klaar was nu, ma nee za. Kmoet da wachtwoord ook nog op "informatica" zetten. dus ik dacht:
chpasswd $login:informatica

Ma natuurlijk werkt da weer ni he..
Enig idee wat t zou moete zijn?

N`Kr1pt

Legacy Member
tijdens useradd gewoon meegeven: -p geheim

erna: passwd gebruiker

crimineels

Legacy Member
N`Kr1pt zei:
tijdens useradd gewoon meegeven: -p geheim

erna: passwd gebruiker

Da werkt ook ni, want bij useradd moete een ge-encrypteerd wachtwoord meegeven..
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan