Danke für die Antwort.
Hmmm... es wird noch seltsamer:
Deine Idee berücksichtigend hab ich jetzt mal
manuell in der shell
"sudo adduser --disabled-password testuser123"
ausgeführt, nicht per sh-Script (was aber
eigentlich exakt das gleiche macht - Info: Das sh-Script setzt nicht nur den User auf, sondern initialisiert auch das Userdir mit dem von mir definierten default-Content).
Und sieh an: Alle Dateien und Ordner haben jetzt die korrekte ACL.
Das (nur per sudo ausführbare) sh-Script tut das hier:
Code: Alles auswählen
[...über dem Code unten stehen noch zusätzliche Checks, wie etwa: Ist $1 leer oder so, usw. ... irrelevant für unser Problem...]
# no password needed because everybody only connects via ssh public keys
if ! adduser --disabled-password $1
then
echo "ERROR: User could not be created!"
exit 1
fi
echo "INFO: Create .ssh folder & auth file."
su -c "mkdir /home/$1/.ssh" $1
su -c "touch /home/$1/.ssh/authorized_keys" $1
chmod 700 /home/$1/.ssh
chmod 600 /home/$1/.ssh/authorized_keys
echo INFO: User created, now add repositories for him/her.
./addgitreposforuser.sh $1
Also wenn die if-clause in "if ! adduser --disabled-password $1" nicht irgendwelche seltsamen Nebeneffekte hat, dann... weiß ich auch nicht, was hier los ist.
chmod <irgendwas> sollte ja die Unix-access-rights-bits setzen, aber nicht die ACLs anfassen... ist mir zumindest noch nie untergekommen, dass es das tut.
edit: Da brat mir doch einer einen Storch!
Jetzt geht es plötzlich! Auch mit dem sh-Script. WTF?
Ehrlich, ich versteh gar nix mehr...