Forum
Tipps
News
Menu-Icon

Suse: frage zu useradd skript

hallo

ich benötige bitte einen kleinen Tipp von euch!

ich schreibe ein Skript wo ich 40 Accounts erstelle und beim Login soll eine Mitteilung kommen

so bin ich vorgegangen die Benutzer erstellen war kein problem nur die Nachricht wird beim Benutzerwechsel nicht ausgegeben.

mkdir /etc/skelbesucher
cp /etc/skel/.profile /etc/skelbesucher
mkdir /etc/massage
nano massage
           echo "Guten Tag"
cd /etc/skelbesucher
nano .bash_login
             
                 #!/bin/bash
                      cat /etc/massage


mein Skript für die Accounts
#!/bin/bash

for i in $(seq 1 40)
do

        useradd -g besucher -mk /etc/skelbesucher  -s /bin/bash -p $(perl -e'print crypt("Gast", "aa")') besucher$i

done


bitte um einen kleinen Tip da ich echt nicht mehr weiter weiß

Mfg  

« Letzte Änderung: 13.04.11, 00:56:10 von Pr_ogs »

Antworten zu Suse: frage zu useradd skript:

#!/bin/sh

echo "Guten Tag" >/etc/massage

mkdir /etc/skelbesucher  2>/dev/null
cp /etc/skel/.profile /etc/skelbesucher  2>/dev/null

groupadd besucher 2>/dev/null

if  [  `grep -c "/etc/message" /etc/skelbesucher.bash_login` = 0  ]
  then
  echo 'cat /etc/massage'  >> /etc/skelbesucher.bash_login
fi

for i in  $( seq -w  1  1  40 ) ;
    do
# und jetzt den Befehl
    useradd  user$i  -c "User  User$i" -g besucher -mk /etc/skelbesucher  -s /bin/bash
    echo user$i  |  passwd  --stdin  user$i   1>/dev/null
done
echo 'Habe fertisch ;-)!'

oder so ähnlich

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Danke für die schnelle Antwort

#!/bin/sh

echo "Guten Tag" >/etc/massage

mkdir /etc/skelbesucher  2>/dev/null
cp /etc/skel/.profile /etc/skelbesucher  2>/dev/null

groupadd besucher 2>/dev/null

if  [  `grep -c "/etc/message" /etc/skelbesucher.bash_login` = 0  ]
  then
  echo 'cat /etc/massage'  >> /etc/skelbesucher.bash_login
fi

habe meinen ersten Teil mit diesen ersetzt

da werden mir nicht einmal die Benutzer erstellt
bekomme nur Fehler
than
"/etc/message" /etc/skelbesucher.bash_login nicht gefunden usw....

2>/dev/null  was bedeutet dies eigentlich??
 
mit dem Code in meinem Ersten Beitrag bekomme ich alle Benutzer und kann mich auch einloggen in jeden Benutzer nur die Ausgabe  "Guten Tag" will nicht funktionieren??

Hi,
entweder ihr schreibt "message" oder "massage" , nicht mal so und mal so  ;) habs mal kurz überflogen, sollte ansonsten so funktionieren.

2>/dev/null heißt grob gesagt "Fehlerausgabe in den Müll"

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

sollte massage heißen war ein Tipfehler

wollte das ganze dann so schreiben nur bekomme ich dann immer die Fehler

#!/bin/bash

echo "Guten Tag">/etc/massage
 
mkdir /etc/skelbesucher 2>/dev/null
cp /etc/skel/.profile /etc/skelbesucher 2>/dev/null

groupadd  besucher 2>/dev/null

if[ 'grep -c "/etc/massage" /etc/skelbesucher.bash_login'=0 ]
    then
     echo 'cat /etc/massage' >> /etc/skelbesucher.bash_login
fi


for i in $(seq 1 40)
do

        useradd -mk /etc/skelbesucher -m -p $(perl -e'print crypt("Gast", "aa")') -g besucher besucher$
done


Fehler

./besucher.sh: Zeile 3: /etc/massage: Keine Berechtigung
./besucher.sh: Zeile 10: if[ grep -c "/etc/massage" /etc/skelbesucher.bash_login=0 ]: Datei oder Verzeichnis nicht gefunden
./besucher.sh: Zeile 11: Syntaxfehler beim unerwarteten Wort `then'
./besucher.sh: Zeile 11: `    then'


muss ich /etc/skelbesucher.bash_login noch erstelln?
diesen Ordner finde ich nicht in etc sondern nur
skelbesucher...

-rwxrwxrwx  1 root    root       29 2011-04-13 00:58 massage
 

Du hast ein Rechteproblem beim Anlegen des Ordners unterhalb /etc . Der Rest sind Folgefehler daraus, dass der Ordner nicht angelegt werden kann.
Führst Du das Script als root aus?

sicher nicht!
ich würde die massage/message auch nach
/etc/skelbesucher/
kopieren

diese Zeile sollte so aussehen
 if  [  `grep -c "/etc/message" /etc/skelbesucher/.bash_login` = 0  ]

 ma* und me* kommt vom kopieren!


 

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

@shl Freak

habs mit su
./...sh
und mit sudo ./...sh
probiert bei beiden der Fehler

muss ich bei etc andere rechte vergeben? nein oder?

hier nochmal der Fehlertext

$ sudo ./besucher.sh
./besucher.sh: Zeile 10: if[ grep -c "/etc/massage" /etc/skelbesucher.bash_login=0 ]: Datei oder Verzeichnis nicht gefunden
./besucher.sh: Zeile 11: Syntaxfehler beim unerwarteten Wort `then'
./besucher.sh: Zeile 11: `    then'

 

Zitat
muss ich bei etc andere rechte vergeben? nein oder?


Mehr Tipps auf http://www.computerhilfen.de
NEIN verrückt! - typisch Windowskind! >:(

lies mein Posting!

nach  if kommt ein Leerzeichen
vor und nach  [  ] kommt jeweils ein Leerzeichen

Vllt könnte man der besseren Übersicht wegen Codeschnippsel auch als solche kennzeichnen - Codetags verwenden!

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button
sicher nicht!
ich würde die massage/message auch nach
/etc/skelbesucher/
kopieren

diese Zeile sollte so aussehen
 if  [  `grep -c "/etc/message" /etc/skelbesucher/.bash_login` = 0  ]

 ma* und me* kommt vom kopieren!


 

Sorry hat das auch eine Bedeutung ?
ma*
me*
? sorry was meinst du damit?

und hier auch ein /  ??
 echo 'cat /etc/massage' >> /etc/skelbesucher /.bash_login

so funktioniert alles wie in meinem ersten Beitrag!
wenn ich wechsel bekomme ich aber die Nachricht "Guten Tag" wieder nicht?

 
« Letzte Änderung: 13.04.11, 15:45:29 von Pr_ogs »

@Pr_ogs
bitte nicht in den Rechten von /etc rumfroschen !

Kopiere Dir einfach den Code-Schnipsel von @Knut, füge ihn bei Dir ein und korrigiere die message-massage - Sache . Da sind die Abstände/Leerzeichen und Zeichen alle korrekt!
Führe das Script als Root aus und vergiss den Sudo-Mist. Und gut ist.

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

@SQL-Freak

Es funktioniert doch habe ein Leerzeichen vergessen

doch das Problem ist, dass die Nachricht nicht ausgegeben wird?
Das Problem hatte ich in meiner Version (Beitrag 1) auch schon...


 

« Letzte Änderung: 13.04.11, 16:26:02 von Pr_ogs »

so habe das jetzt auch mal laufen lassen
und Du wirst es kaum glauben:

Zitat
doch das Problem ist, dass die Nachricht nicht ausgegeben wird?
bei mir auch nicht  ;D:o - obwohl es eigentl. so sein sollte
... wir arbeiten dran und melden uns - haben Dich nicht vergessen ;)

« Suse: Suse: Suse: 11.4 x64Suse: KDE-Dienst Die KDE-Absturzbehandlung nicht abschaltbar »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!

Fremdwörter? Erklärungen im Lexikon!
Login/Logout
Als Login, beziehungsweise Logout wird das An- und Abmeldung vom Zugriff auf geschützte Daten oder Rechner bezeichnet. Diese Methode wird meistens genutzt um private...

Benutzerkonto
Windows bietet die Möglichkeit Benutzerkonten, kurz Nutzerkonten, anzulegen. Auf diese Weise kann ein Rechner von mehreren Nutzern verwendet werden.   Bei jed...

Benutzerkontensteuerung
In modernen Windows Betriebssystemen besteht die Möglichkeit, verschiedene Benutzerkonten anzulegen - wie auch unter Linux und macOS. Diese Funktion ermöglicht ...