Freesco, NND, CDN, EOS
http://forum.freesco.pl/

Zakładanie wielu kont skryptem
http://forum.freesco.pl/viewtopic.php?f=22&t=12817
Strona 1 z 1

Autor:  Dividos [ środa, 21 czerwca 2006, 11:20 ]
Tytuł:  Zakładanie wielu kont skryptem

Czy da się w linuksie lub w sambie (bardziej o nią mi chodzi) zmienić hasło skryptem - bez wpisywania go w konsoli (np by pobierał je ze zmiennej)?

Chodzi mi o założenie kont w sambie, ale jak bym nie próbował to ciągle pyta i każe z konsoli wpisywać hasełka :-(

SoS Plis

Autor:  Mis' [ środa, 21 czerwca 2006, 12:13 ]
Tytuł:  Re: Zakładanie wielu kont skryptem

Dividos pisze:
Czy da się w linuksie lub w sambie (bardziej o nią mi chodzi) zmienić hasło skryptem - bez wpisywania go w konsoli (np by pobierał je ze zmiennej)?

Chodzi mi o założenie kont w sambie, ale jak bym nie próbował to ciągle pyta i każe z konsoli wpisywać hasełka :-(

SoS Plis


odpowiednie manuale oczywiście przeczytałeś?
co do dodawania userów systemowych w NND to się nie uda. Samby nie używam więc nie wiem.

Autor:  Dividos [ środa, 21 czerwca 2006, 12:22 ]
Tytuł: 

Dzięki za reakcję
Czy czytałem, hmm....
poszedłem spać dopiero o 6:30 bo siedzę nad tym skrypcikiem.

Ale udało się
Dostałem przed chwilą odp. na grupie linuksowej:
Cytuj:
smbpasswd -s $1 < plik_z_haslem

gdzie plik z hasłem to plik z dwoma identycznymi wierszami
w których zapisane jest hasło.

Pozdrawiam,
Marcin Tworek


Właśnie to testuję
EOT

Autor:  Dividos [ środa, 21 czerwca 2006, 13:29 ]
Tytuł: 

To skrypcik - jakby komuś chciało się zerknąć. Nby działa, ale zawsze jak ktoś doradzi można poprawić
: [/] [] ()
#!/bin/sh
    # Skrypt automatyczne tworzenia konta uczniowskiego
    # w domenie - na potrzeby szkolnej pracowni komputerowej
    # author Dawid Ławnicki dvd1 (at) epf.pl
    #
clear
####################################
# konfiguracja:
#*****************************
#ustalanie minimalnej i  maksymalnej ilości parametrów
#
MINPARAM=4
MAXPARAM=4
# definiowanie zmiennych
ILOSCARG=$#
LOGIN=$1
IMIE_NAZWISKO=$2
HASLO=$3
OPIS=$4
GRUPA_U="users"
GRUPA_N="nauczyciele"
#
####################################
###_@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@_#
# deklarowanie funkcji
function konto_u_smb
{
echo '>>> FUNKCJA KONTO_U <<<
'
  grep "^${LOGIN}:" /etc/passwd  >/dev/null 2>&1  ;
  if [ $? -eq 0 ];
   then echo '
+ Użytkownik  '$LOGIN' istnieje w systemie -OK
  = mogę zakładać konto w sambie (domenie) =
   ';
   smbpasswd -L -a -e "$LOGIN"
   echo "$HASLO" > pass
   echo "$HASLO" >> pass
   smbpasswd -s $LOGIN < pass
   rm ./pass
   else echo '
!!!!!!>> BŁĄD <<!!!!!!!!!
- Nie utworzono poprawnie tego użytkownika w systemie
  Konto domenowe nie zostało założone'
   echo;
    exit;
    fi
}
function konto_u
{
echo '>>> FUNKCJA KONTO_U <<<
--------------------------
 Zakładam konto uczniowskie
--------------------------
';
echo "Login użytkownika to    " $LOGIN;
grupa="$GRUPA_U"
Grupy=""
powloka="/bin/false"
home="/home/uczniowie/$LOGIN"
echo "Katalog home to >>   "$home
mkdir -p $home
if [  $? -gt 0 ]; then echo '!!!>> PROBLEM z założeniem katalogu' $home'kończę <<!!!';
exit; fi
chmod -R 700 $home
useradd  -d "$home" -g "$grupa" -s "$powloka" -c "$IMIE_NAZWISKO" "$LOGIN";
if [  $? -gt 0 ]; then echo '!!!>> Konto systemowe nie zostało utworzone <<!!!'; exit; fi
if [ -n $Grupy ]; then usermod -G "$Grupy" "$LOGIN" ; fi
chown -R $LOGIN. $home
}
function sprawdz_usera
{
echo '>>> FUNKCJA SPRAWDZ_USERA <<<
'
#######################################################################
# sprawdza czy takie konto istnieje
# oraz czy nazwa usera jest malymi literami
#
echo "sprawdzanie popwawności nowego uzytkownika" $LOGIN;
echo "===========================================";
  grep "^${LOGIN}:" /etc/passwd  >/dev/null 2>&1  ;
  if [ $? -eq 0 ];
   then echo '!!!!!!!!!!!!!>> BŁĄD <<!!!!!!!!!!!!!!!!!
- Użytkownik  '$LOGIN' Juz istnieje w systemie
wybierz inna nazwe (pierwszy parametr)';
   echo;
   exit
  elif [ ! "$LOGIN" = "`echo $LOGIN | tr A-Z a-z`" ]
  then  echo "- Nazwa uzytkownika '$LOGIN'zawiera niewlasciwe (wielkie litery) znaki trzeba zmienic na małe";
  echo;
  exit;
    else echo "+ Takie konto może zostać założone OK";
    echo;
fi
}
function info_argumenty
{
echo '
>>> FUNKCJA INFO ARGUMENTY <<<
=============================
Ois kolejnych parametrów:
nazwa_usera       - jeden wyraz
"nazwa wyswietlana"   - np imie i nazwisko - w cudzyslowiu
haslo         - haslo nadane przez admina
"Opis konta"      - opis, np jaka klasa - w cudzysłowiach
=============================
PRZYKŁAD:
'`pwd`$0' nowakja "Jan Nowak" tajnehaslo345 "Uczen klas IV-VI rocznik 1996"
';
}
function sprawdz_argumenty
{
echo '>>> FUNKJCJA SPRAWDZ_ARGUMENTY <<<
'
if [ $ILOSCARG -lt $MINPARAM  ]
then echo '
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ZA mało argumentów jest' $ILOSCARG '
a jest powinno być' $MINPARAM;
info_argumenty
exit 0;
elif [ $ILOSCARG -gt $MAXPARAM ]
then echo '
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Za dużo argumentów, max to '  $MAXPARAM '
możliwe że nie uwzględniłeś poprawnie cudzysłowów';
info_argumenty
exit 0;
else
echo '
 + parametry OK,
 przechodzę do sprawdzenia możliwości zakłożenia konta
 ------------------------------------------
 ';
fi   
}
# Koniec deklaracji funkcji   #
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@##
#===============================================
#    Start programu   
#===============================================
sprawdz_argumenty
if [ $? -eq 0 ]; then echo 'argumenty ok'; sprawdz_usera; fi
# tu dodać wybor konta -n czy u
if [ $? -eq 0 ]; then konto_u; fi
if [ $? -eq 0 ]; then konto_u_smb; fi
if [ $? -eq 0 ]; then echo '
KONTO ZAŁOŻONO POPRAWNIE DLA' $LOGIN; fi
#===============================================
 #=========\_ KONIEC _/===========#

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/