Article View: pl.comp.os.bsd
Article #20502Re: FreeBSD 7.0 ustawienie hasła w trybie interaktywnym
From: Paweł Kania
Date: Wed, 01 Oct 2008 16:47
Date: Wed, 01 Oct 2008 16:47
67 lines
2748 bytes
2748 bytes
bohateur napisał(a):
> Muszę napisać skrypt do automatycznego założenia kont
> dla kilkuset osób. W jaki sposób z poziomu pętli for
> w bashu ustawić hasło dla danego konta? Próboję
> użyć opcji -stdin passwd ale nie działa.
Najlepiej użyć do tego polecenia, które służy we FreeBSD do zakładania
kont, czyli jak sama nazwa wskazuje: adduser. Można wykorzystać opcję
-f, na przykład tak:
$ cat lista_kont.csv
jkowalski,Jan,Kowalski,dupa.8
$ cat add_users.sh
#!/usr/local/bin/bash
userDataFile=$1
if [ ! -f "$userDataFile" ] ; then
echo "Musisz podać plik z listą kont do założenia w formacie:
login1,Imię1,Nazwisko1,hasło1
login2,Imię2,Nazwisko2,hasło2"
exit 1
fi
while read userData ; do
# parsowanie danych wejściowych
user=(`echo $userData | awk -F, '{print $1,$2,$3,$4}'`)
login=${user[0]}
imie=${user[1]}
nazwisko=${user[2]}
haslo=${user[3]}
# zakładanie konta
echo "$login::500::::$imie $nazwisko:/home/$login:/usr/sbin/nologin:$haslo" | adduser
-f - >> /var/log/adduser.log 2>&1
# i tutaj miejsce na dowolne dodatkowe operacje przy zakładaniu konta
done < $userDataFile
Oczywiście wywołanie:
$ add_users.sh lista_kont.csv
Takie rozwiązanie jest wygodne z kilku powodów:
* listę kont można sobie zaimportować z arkusza (a tak często ją nam
dostarczają)
* można skorzystać z dobrodziejstw adduser.conf
* można sobie tak napisać skrypt do zakładania kont, żeby dla każdego
konta móc pobierać jakieś dodakowe opcje z pliku wejściowego (na
przykład 5 luserów na 300 chce mieć inną niż domyślna powłokę, a 15
innych dostęp do samby).
Powodzenia,
Elb
--
- No wiesz, pijany i o trzeciej nad ranem wracasz do domu!?
- A kto powiedział, że wracam? Po gitarę tylko przyszedłem.
===========================================================
FAQ pl.rec.muzyka.gitara: http://faq.prmg.art.pl/
Technical Details
Message-ID:
<7hT5d2u53IndmN13q.elb@akson.sgh.waw.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!news.internetia.pl!news.nask.pl!news.nask.org.pl!sgh.waw.pl!not-for-mailReferences:
<gbvk60$8po$1@news.task.gda.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!opal.futuro.pl!news.internetia.pl!news.nask.pl!news.nask.org.pl!sgh.waw.pl!not-for-mail
From: Paweł Kania <elb@sgh.waw.pl>
Newsgroups: pl.comp.os.bsd
Subject: Re: FreeBSD 7.0 ustawienie hasła w trybie
interaktywnym
Supersedes: <7fT5d2s0eIndmN13q.elb@akson.sgh.waw.pl>
Date: 1 Oct 2008 16:47:14 GMT
Organization: Warsaw School of Economics
Lines: 67
Message-ID: <7hT5d2u53IndmN13q.elb@akson.sgh.waw.pl>
References: <gbvk60$8po$1@news.task.gda.pl>
NNTP-Posting-Host: akson.sgh.waw.pl
Mime-Version: 1.0
User-Agent: tin/1.9.2-20070201 ("Dalaruan") (UNIX) (SunOS/5.9 (sun4u))
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit