Bash-Anlegen-von-Usern: Unterschied zwischen den Versionen
Nico (Diskussion | Beiträge) Formatierung |
Nico (Diskussion | Beiträge) 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 | |||
# 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}"