Zum Inhalt springen

Shell Skript


geist_der_foren

Empfohlene Beiträge

Hi@all,

ich würde gerne ein kleines Skript schreiben, dass mir die user ausgibt, die einen und die keinen autorizesdkeys2 haben.

Ich kenn mich da leider nicht aus, ich hab es jetzt einfach mal so Probiert:


find /home/*/.ssh -name "authorized_keys2"


Ausgabe:

/home/s1maul/.ssh/authorized_keys2

/home/s8elud/.ssh/authorized_keys2

/home/s8eneub/.ssh/authorized_keys2

/home/s8epol/.ssh/authorized_keys2

/home/s8ewal/.ssh/authorized_keys2

/home/saa1001/.ssh/authorized_keys2

jetzt habe ich die User die einen schlüssel haben, wie kann ich es bewärkstelligen mir die jenigen anzeigen zulassen die keinen schlüssel haben ?

Und wie kann ich mir nur die User anzeigen lassen ohne den Ganzen Pfad ???

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von geist_der_foren

/code]

jetzt habe ich die User die einen schlüssel haben, wie kann ich es bewärkstelligen mir die jenigen anzeigen zulassen die keinen schlüssel haben ?

Und wie kann ich mir nur die User anzeigen lassen ohne den Ganzen Pfad ???

Nabend, ich würde das so machen :

---

for a in `ls /home` ; do if test ! -e /home/$a/.ssh/authorized_keys2; then echo User $a hat keinen Key; fi ; done

---

Als root ausführen, wobei das größere Problem die mangelnde Zugriffsberechtigung auf diesen Ordner sein dürfte. Bei mir darf nur der User selbst reinsehen (was auch Sinn macht).

Gruß

Terran Marine

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hier noch eine klitzekleine Änderung...:


for a in `ls /home` ; do

    if test ! -e /home/$a/.ssh/authorized_keys; then

        echo "User '$(echo $a | awk -F"/" '{print $1}')' hat keinen Key.";

    fi;

done

Naja ganz richtig ist es zwar nicht, weil nicht jedes Verzeichnis in /home muss nicht einem User gehören, wenn ich da ein Verzeichnis erstelle, dann steht da: User Backup/ hat keinen Key. Obwohl Backup nur ein Verzeichnis in /home ist - jedoch es den User im System garnicht gibt. Du solltest dir - wenn dir das noch zu wenig ist - mal die /etc/passwd ansehen Eventl. hilft dir sowas dann weiter:

users="$(cat /etc/passwd | awk -F: '{ print $1 }')";


for a in $users ; do

    if test ! -e /home/$a/.ssh/authorized_keys; then

        echo "User '$(echo $a | awk -F"/" '{print $1}')' hat keinen Key.";

    fi;

done

Aber hier gibts auch wieder ein Problem und zwar dass nicht jeder User, auch das gleichnamige Verzeichnis in /home haben muss - z.B. wenn es zwar einen User Backup gibt im aber das Verzeichnis /home/bak zugewiesen wurde.

Du musst halt vorher mehrere Abprüfungen machen, bevor du die Zeile ab "for a in...." nimmst.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...