Nowe posty

Autor Wątek: Jak napisać skrpyt który doda użytkownika i przypisze mu hasło  (Przeczytany 5013 razy)

axlinux

  • Gość
Witam

Chcę napisać skrypt, który doda użytkownika do systemu i przypisze mu nowe hasło.
Czy również można dopisać fragment kodu który sprawdzi czy dany użytkownik już istnieje?

Na razie mam tyle:

unction nowyuser
{
dialog --title "Dodawanie nowego użytkownika: " \\
--backtitle "Nowy użytkownik" \\
--inputbox "Wpisz nazwę nowgo użytkownika: " 8 50 "" \\
2> .tempfile
nazwa=`cat .tempfile`
rm -f .tempfile

useradd $nazwa
dialog --title "Dodawanie nowego użytkownika" \\
--backtitle "Zmień hasło nowemu użytkownikowi: $nazwa" \\
--msgbox "Zmianę hasła można dokonać wpisząc do konsoli polecenie passwd." 7 45
}

Offline

  • Users
  • Guru
  • *****
  • Wiadomości: 825
    • Zobacz profil
Jak napisać skrpyt który doda użytkownika i przypisze mu hasło
« Odpowiedź #1 dnia: 2008-01-05, 16:19:59 »
Dodanie: useradd
Hasło: http://bash.cyberciti.biz/security/change-password-script.sh.php
Sprawdzenie: np: cat /etc/passwd | grep ^maniek[:]

M.

axlinux

  • Gość
Jak napisać skrpyt który doda użytkownika i przypisze mu hasło
« Odpowiedź #2 dnia: 2008-01-05, 16:51:08 »
Jeszcze jedno mam pytanie :P

a = `cat /etc/passwd |grep ^$nazwa[:]`


Jak podmontować to pod if-a?? "bo to mi nie działa": if [ a ="" ]

Chodzi o to aby było sprawdzenie czy coś siedzi w a czy jest puste? Czy jest użytkownik w systemie czy nie...

Dziękuje za posty :)

coobba

  • Gość
Jak napisać skrpyt który doda użytkownika i przypisze mu hasło
« Odpowiedź #3 dnia: 2008-01-05, 17:57:26 »
Możesz wziąć sam kod powrotu grep'a:
if cat /etc/passwd | grep  -q ^maniek[:] ; then
albo prównywać podwójnym znakiem równości, dbając jednak o to, żeby łańcuchy nie były puste:
if [ "x$a" == "x" ] ; then

axlinux

  • Gość
Jak napisać skrpyt który doda użytkownika i przypisze mu hasło
« Odpowiedź #4 dnia: 2008-01-05, 21:57:09 »
Mam coś takiego i nie działa, zawsze nie dodaje usera nawet gdy nieistnieje

function nowyuser
{
dialog --title "Dodawanie nowego użytkownika: " \\
--backtitle "Nowy użytkownik" \\
--inputbox "Wpisz nazwę nowgo użytkownika: " 8 50 "" \\
2> .tempfile
nazwa=`cat .tempfile`
rm -f .tempfile
a = `cat /etc/passwd |grep ^$nazwa[:]`
if [  "x$a" != "x"  ]
then
useradd $nazwa
dialog --title "Dodawanie nowego użytkownika" \\
--backtitle "Zmień hasło nowemu użytkownikowi: $nazwa" \\
--msgbox "Zmianę hasła można dokonać wpisząc do konsoli polecenie passwd." 7 45
else
dialog --title "Błąd" \\
--backtitle "Dodawanie nowego użytkownika" \\
--msgbox "Użytkownik o takiej nazwie już istnieje!" 7 45
fi
}
Zresztą nie wiem czy nie powinno tam być jednak = zamiast ==, ale tak i tak nie pasuje :(

Proszę o posty :)