Hi @ all,
Vorneweg, mir geht es wirklich "nur" darum, ob die bereits existierende Umsetzung sicher ist oder ggf. eine andere Lösung besser wäre.
Kurz zur Einleitung fürs Verständnis: Ich hab hier ein kleines Projektchen am Laufen mit einem Server, der mit diversen Diensten im Internet hängen soll. Eine Firma soll sich über SSH (bzw. genauer: SFTP) verbinden und Dateien rüberkopieren. Alles kein Problem u. sollte ich sicher aufgesetzt haben^^.
Die Dateien sollen dann regelmäßig via Bash-Skript und Cronjob an verschiedenen Orten mit verschiedenen Zugriffsrechten kopiert werden. Da hab ich aber das Problem, dass die Rechte SEHR unterschiedlich und streng gesetzt sind, teilweise haben z.B. nur Benutzer und sonst niemand Schreibzugriffe auf die Ordner, in denen die Dateien landen sollen. (z.B.: Ordner "SMB", bei dem nur Benutzer "SMBUSER" Schreibrechte hat; Ordner "NFS", in dem nur Benutzer "NFSUSER" Schreibrechte hat etc.). Die Berechtigungen zu ändern (z.B. eine bestimmte Gruppe Schreibzugriffe für alle erforderlichen Verzeichnisse zuweisen) kommt leider nicht infrage, da hat unser Admin was dagegen.
Jetzt zu meiner Umsetzung: Meine naive Lösung wäre gewesen, einen neuen User (ich nenn ihn jetzt einfach mal "copycat") zu erstellen, ohne Zugriffsrechte außerhalb seines HOME-Verzeichnisses, ohne Shell und ohne Kennwort. Stattdessen verwende ich "visudo", um nur diesem Benutzer die Berechtigung zu erteilen, einige Befehle (darunter auch "rm") ohne Passworteingabe ausführen zu dürfen. Mittels "su - copycat -s /bin/bash" kann ich dann in seinem Home-Verzeichnis die Rechte entsprechend setzen (nur er selbst hat Zugriff auf sein eigenes Home-Verzeichnis) und einem Cronjob anweisen, unter diesem Benutzer mit einer Shell ein Script auszuführen, was mit "sudo"-Aufrufen gespickt ist. Hab ich auch gemacht, die Lösung funktioniert so blendend (unser Admin hat dafür entsprechend die PAM-Config geändert, damit "su" nur von meinem Account aus auf "copycat" ohne PW-Eingabe funktioniert)^^.
Meine Frage ist: Ist das eine sichere Konfiguration? Oder habe ich den Wald vor lauter Bäumen übersehen und in Wahrheit einen Benutzer erstellt, dessen Zugriff viel zu leicht möglich ist? Eigentlich halte ich den "passwortlosen" Benutzer für eine elegante Lösung solange dadurch das Anmelden verhindert wird... Da der Nutzer dank SUDO aber theoretisch Schaden anrichten kann, wollte ich sicherheitshalber nachfragen, ob man das so lassen kann oder ich einen Bock geschossen habe^^...
Oder wärs im Nachhinein die bessere Lösung gewesen, das Script direkt Benutzer "root" als Cronjob mitzugeben?^^
Schonmal im Voraus Danke für jede Hilfe!^^