PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bash script zum auslesen von usern remote



micsnare
31-05-2013, 10:17
Hallo zusammen,

ich möchte ein bash script erstellen, dass mir die nicht-system user von entfernten servern ausliest und in ein txt file schreibt. da ich leider nicht so der bash scripting experte bin, würde ich euch gern um etwas hilfe bitte.

folgendes habe ich bis jetzt schon zusammen gebastelt, aber irgendwo scheint's noch zu hapern.



#!/bin/bash
# -----------------------------------------------------------------------------------
_l="/etc/login.defs"
_p="/etc/passwd"

## get mini UID limit ##
l=$(grep "^UID_MIN" $_l)

## get max UID limit ##
l1=$(grep "^UID_MAX" $_l)

## use awk to print if UID >= $MIN and UID <= $MAX and shell is not /sbin/nologin ##
echo "----------[ Normal User Accounts ]---------------"
command=awk -F':' -v "min=${l##UID_MIN}" -v "max=${l1##UID_MAX}" '{ if ( $3 >= min && $3 <= max && $7 != "/sbin/nologin" ) print $0 }' "$_p" 2>&1 | tee -a users.txt

for host in $(cat hosts.txt); do ssh "$host" "$command" >"output.$host"; done


Also ich hab ein txt file erstellt, in dem alle Hostnamen drin stehen zu denen ich connecten muss.
Dann möchte ich von dort die User Accounts auslesen und in ein eigenes txt file schreiben.

Aber irgendwie dürfte es noch nicht so ganz funktionieren....was mache ich also falsch?

bitte um rat!

lg,
micsnare

micsnare
03-06-2013, 12:36
Hello,

hat keiner eine Idee, was ich hier falsche mache? :(

lg,
theresa