Bash-Anlegen-von-Usern: Unterschied zwischen den Versionen

Aus Nicos Spickzettel
Zur Navigation springen Zur Suche springen
Formatierung
Einlesen von Datei
Zeile 1: Zeile 1:
== Bearbeiten von „Bash-Anlegen-von-Usern" ==


 
=== Anlegen von User inkl. DocumentRoot und symlinks ===
== Anlegen von User inkl. DocumentRoot und symlinks ==


<nowiki/>
<nowiki/>
Zeile 23: Zeile 24:
         echo "- - - "
         echo "- - - "
   done
   done
</nowiki>
aus der Datei "t" werden die user aus der datei www.muster.de extrahiert und dann in einer For-Schleife verarbeitet.
== Datei einlesen ==


<nowiki>
!/bin/bash


aus der Datei "t" werden die user aus der datei www.muster.de extrahiert und dann in einer For-Schleife verarbeitet.
# Set the path to the input file
INPUT_FILE="userliste-mit-alt-und-neuem-passwort.txt"
 
# Loop through each line in the input file
while IFS=$'\t' read -r field1 field2 field3 field4; do
    # Print the values of each field
    echo "Field 1: ${field1}"
    echo "Field 2: ${field2}"
    echo "Field 3: ${field3}"
    echo "Field 4: ${field4}"
done < "${INPUT_FILE}"
</nowiki>

Version vom 23. April 2023, 22:23 Uhr

Bearbeiten von „Bash-Anlegen-von-Usern"

Anlegen von User inkl. DocumentRoot und symlinks

  #!/bin/bash
  BASEDIR=/var/www/servers/clicklabs
  for IN in $(cat t|awk -F\. '{print $2}')
  do
       echo $IN;
       HOMEDIR="${BASEDIR}/www.$IN.de/export"
       DOCUMENT_ROOT="/${BASEDIR}/www.$IN.de/htdocs"
       mkdir $HOMEDIR
       useradd -g 33 -d ${BASEDIR}/www.$IN.de/export  -s /bin/false $IN
       PW=$(pwgen -s -1)
       echo $PW > /tmp/password.txt
       echo $PW >> /tmp/password.txt
       passwd $IN < /tmp/password.txt
       cd ${DOCUMENT_ROOT}
       ln -s ../export
       echo User $IN mit Passwort $PW und HOMEDIR $HOMEDIR ist anglegt
       echo Symlink unter DocumentRoot $DOCUMENT_ROOT ist anelegt
       echo "- - - "
  done

</nowiki> aus der Datei "t" werden die user aus der datei www.muster.de extrahiert und dann in einer For-Schleife verarbeitet.


Datei einlesen

!/bin/bash

# Set the path to the input file
INPUT_FILE="userliste-mit-alt-und-neuem-passwort.txt"

# Loop through each line in the input file
while IFS=$'\t' read -r field1 field2 field3 field4; do
    # Print the values of each field
    echo "Field 1: ${field1}"
    echo "Field 2: ${field2}"
    echo "Field 3: ${field3}"
    echo "Field 4: ${field4}"
done < "${INPUT_FILE}"