[+] Bash, tworzenie kont wielu użytkowników

Potrzebujesz pomocy z C, C++, perl, python, itp.
sauvage
Posty: 2
Rejestracja: 27 marca 2012, 10:42

[+] Bash, tworzenie kont wielu użytkowników

Post autor: sauvage »

Witam.
Proszę o pomoc w analizie kodu, próbuję napisać skrypt, jednak cały czas coś "nie gra".
P
roszę o wskazówki i z góry dziękuję.
Oto co stworzyłem:

Kod: Zaznacz cały

#!bin/bash
a=”uzytkownicy.txt”
b=`cat $a  |wc –l`
for x In `seq $b`
do
c="cat $a |head –n $x |tail –n 1”  
login=`echo $c |cut –d: –f1`   
haslo=`echo $c |cut –d: -f2`
grupa=`echo $c |cut –d: -f3` 
useradd  -m – g $grupa –p $haslo $login
chpasswd <<KONIEC
$login:$haslo
KONIEC
done
Oczywiście plik uzytkownicy.txt zawiera:

Kod: Zaznacz cały

aadamowski:0123:pierwsza_gr
ddawidowski:00123:druga_gr
mmarcinowski:12300:druga_gr
pyrion
Posty: 42
Rejestracja: 13 czerwca 2009, 12:04

Post autor: pyrion »

Kod: Zaznacz cały

while read LINE
do
    LOGIN=`echo $LINE | cut -d: -f1`
    HASLO=`echo $LINE | cut -d: -f2`
    GRUPA=`echo $LINE | cut -d: -f3`
    useradd  -m -g $GRUPA -p $HASLO $LOGIN
done < uzytkownicy.txt
sauvage
Posty: 2
Rejestracja: 27 marca 2012, 10:42

Post autor: sauvage »

Dziękuję, właśnie tego mi brakowało. Wszystko działą jak należy, temat uważam za zamknięty.

Zrobione to jednak inną droga niż pierwotne założenie ale cel osiągnięty. Czy można to zrobić czyściej bez echo i cut?

Kod: Zaznacz cały

#!bin/bash
if 
[ $# -eq 0 ] ; then
echo “####   ZAPOMNIAŁEŚ O PARAMETRZE  ####”
else
while read line
do
login=`echo $line | cut –d: -f1`
grupa=`echo $line | cut –d: -f2`
haslo=`echo $line | cut –d: -f3`
echo “Login to:$login, Grupa to:$grupa, Hasło to:$haslo”
groupadd $grupa 2>/dev/null
[ $? –eq 0 ] && echo “grupa $group nie istniała i została utworzona”
useradd –m –g &grupa $login –p $haslo
done < $1
fi
Skorzystaj z opcji podglądu wiadomości.
ODPOWIEDZ