Re: Verhalten eines shell-Skripts

2012-11-05 Diskussionsfäden Grimnin Fridyson


> 
> nunja, immerhin sind sie in meinem Einflußbereich mittels DHCP
> festgenagelt ;-)

Da nutze doch deinen DHCP+TFTP um den Client zu "konfigurieren" lass dem DHCP 
sagen wo der Client ist, per TFTP bekommt er die Mountanweisung als Datei

(vielleicht geht auch was über Resource Location Server )
> 
> Aber ich kann natürlich nicht ausschließen, daß außerhalb dessen nicht
> auch mal die gleiche IP wie im 'Heimat-Netz' zugeteilt wird - genau dann
> wäre die IP-Prüfung nicht mal mehr fünf Pfennig wert...
> 
> Aktuell ist das Risiko zwar gering, aber Danke für Deinen Hinweis -
> das ist die Sicherheit, die ich letztlich haben will.
> 
> Grüße,
> 
>     Bernhard
andreas

___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd


Re: Verhalten eines shell-Skripts

2012-11-04 Diskussionsfäden Bernhard Bittner
Am 04.11.2012, 21:18 Uhr, schrieb Heiko Schlittermann  
:


Hallo Heiko,

snip


„ip“ ist da besser zu parsen und m.W. auch nicht locale-abhängig.


und befindet sich obendrein in /bin :-)


Und für die Feststellung, wo Du bist, würde ich nicht die eigene IP
nehmen, sondern die MAC-Adresse des Gateways. IP-Adressen ändern sich.


nunja, immerhin sind sie in meinem Einflußbereich mittels DHCP
festgenagelt ;-)

Aber ich kann natürlich nicht ausschließen, daß außerhalb dessen nicht
auch mal die gleiche IP wie im 'Heimat-Netz' zugeteilt wird - genau dann
wäre die IP-Prüfung nicht mal mehr fünf Pfennig wert...

Aktuell ist das Risiko zwar gering, aber Danke für Deinen Hinweis -
das ist die Sicherheit, die ich letztlich haben will.

Grüße,

Bernhard

___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Re: Verhalten eines shell-Skripts

2012-11-04 Diskussionsfäden Heiko Schlittermann
Andre Klärner  (So 04 Nov 2012 21:45:08 CET):
> Moin Heiko,
> 
> On Sun, Nov 04, 2012 at 09:18:27PM +0100, Heiko Schlittermann wrote:
> >   #!/bin/sh
> > + export LC_ALL=POSIX
> > - IP=`/sbin/ifconfig eth0 | sed 's/\:/ /g' | awk '/inet Adresse/ {print$3}'`
> > + IP=`/sbin/ifconfig eth0 | sed 's/\:/ /g' | awk '/inet addr/ {print$3}'`
> > 
> > „ip“ ist da besser zu parsen und m.W. auch nicht locale-abhängig.
> 
> Gibt es eigentlichen einen "ordentlichen" Weg die IP-Adressen/Config auf
> einem Linux ohne ip/ifconfig oder andere Tools zu ermitteln? Ich mag es
> nämlich so oder so nicht, das man irgendwie nur Screen-Scraping hat, um
> solche Informationen zu ermitteln.

Du könntest die API ansehen, die ifconfig oder ip verwenden.
Vielleicht kann man das in /proc oder /sys ausgraben. Aber ich denke,
genau „ip“ ist dafür gemacht, zu wissen, wo der Kernel das vergraben
hat.

> > Und für die Feststellung, wo Du bist, würde ich nicht die eigene IP
> > nehmen, sondern die MAC-Adresse des Gateways. IP-Adressen ändern sich.
> 
> Und was ist wenn das (Hardware-) Gateway ausgetauscht wird oder dynamisch
> konfigurierte Router sind? Gibt es irgendwo eine Best-Practice der "in
> welchem Netz bin ich?" Frage? Ich hab ja auch schon gesehen, dass Microsoft
> damit teilweise auf die Schnauze geflogen ist, die einzige richtig gute
> Variante für MS-Netze ist ein Domain-Controller.. Aber wie macht man es am
> bessten für ein Linux-only Netz?

Der Router/GW wird am seltesten getauscht, wenn es mehrere gibt, dann 
sind es eben verschiedene Konfigurationen, die alle gleich sind. (So
habe ich das gelöst, denn in der Praxis ist das sehr selten.)

Was ist denn die „Umgebung“? Ich könnte nach mehr als nur einer
MAC-Adresse gucken. Wenn ich X% der erwarteten MACs sehe, bin ich also
in einer bestimmten Umgebung. Wenn ich alle meine Heimat-PCs mit ins
Büro nehme, bin ich dann netzumgebungsmäßig zu Hause oder im Büro?

Bei IPv6 könnte man - wenn ein Prefix verteilt wird im jeweiligen Netz
(was wohl allermeistens so sein wird), nach dem Prefix gucken. Aber IPv6
finden wir nur sehr selten.

-- 
Heiko



signature.asc
Description: Digital signature
___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Re: Verhalten eines shell-Skripts

2012-11-04 Diskussionsfäden Andre Klärner
Moin Heiko,

On Sun, Nov 04, 2012 at 09:18:27PM +0100, Heiko Schlittermann wrote:
>   #!/bin/sh
> + export LC_ALL=POSIX
> - IP=`/sbin/ifconfig eth0 | sed 's/\:/ /g' | awk '/inet Adresse/ {print$3}'`
> + IP=`/sbin/ifconfig eth0 | sed 's/\:/ /g' | awk '/inet addr/ {print$3}'`
> 
> „ip“ ist da besser zu parsen und m.W. auch nicht locale-abhängig.

Gibt es eigentlichen einen "ordentlichen" Weg die IP-Adressen/Config auf
einem Linux ohne ip/ifconfig oder andere Tools zu ermitteln? Ich mag es
nämlich so oder so nicht, das man irgendwie nur Screen-Scraping hat, um
solche Informationen zu ermitteln.

> Und für die Feststellung, wo Du bist, würde ich nicht die eigene IP
> nehmen, sondern die MAC-Adresse des Gateways. IP-Adressen ändern sich.

Und was ist wenn das (Hardware-) Gateway ausgetauscht wird oder dynamisch
konfigurierte Router sind? Gibt es irgendwo eine Best-Practice der "in
welchem Netz bin ich?" Frage? Ich hab ja auch schon gesehen, dass Microsoft
damit teilweise auf die Schnauze geflogen ist, die einzige richtig gute
Variante für MS-Netze ist ein Domain-Controller.. Aber wie macht man es am
bessten für ein Linux-only Netz?

Danke und Gruß, Andre

-- 
Andre Klärner


smime.p7s
Description: S/MIME cryptographic signature
___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Re: Verhalten eines shell-Skripts

2012-11-04 Diskussionsfäden Heiko Schlittermann
Bernhard Bittner  (So 04 Nov 2012 18:21:45 CET):
> Hallo,
> 
> folgendes Skript soll einem Mobilgerät abhängig vom Aufenthaltsort
> unterschiedliche Mount-Optionen unterjubeln:
> 

  #!/bin/sh
+ export LC_ALL=POSIX
- IP=`/sbin/ifconfig eth0 | sed 's/\:/ /g' | awk '/inet Adresse/ {print$3}'`
+ IP=`/sbin/ifconfig eth0 | sed 's/\:/ /g' | awk '/inet addr/ {print$3}'`

„ip“ ist da besser zu parsen und m.W. auch nicht locale-abhängig.

Und für die Feststellung, wo Du bist, würde ich nicht die eigene IP
nehmen, sondern die MAC-Adresse des Gateways. IP-Adressen ändern sich.

-- 
Heiko


signature.asc
Description: Digital signature
___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Re: Automounter, war Re: Verhalten eines shell-Skripts

2012-11-04 Diskussionsfäden Andre Klärner
Hi Bernhard,

On Sun, Nov 04, 2012 at 07:32:10PM +0100, Bernhard Bittner wrote:
> Am 04.11.2012, 18:34 Uhr, schrieb Andre Klärner :
> >Aber des weiteren: nen Automounter kann ja auch mehrere Ziele ansprechen.
> >Sollte das nicht reichen, um das Ziel und die Mount-Optionen an die
> >Location anzupassen?
> 
> m.E. nicht, wenn ich /home/user mal per NFS vom Server und mal von
> der lokalen
> HDD (DSL-Upstream-bedingt) einbinden will. Da sollte es doch
> eindeutig sein, oder?

Also, du kannst damit nicht ein gemountetes Filesystem zwischen zwei
Locations springen lassen. Aber wenn das Filesystem dazwischen abgemounted
wird (also z.B. Timeout) kann der nächste Mount sich wieder zwischen allen
Zielen entscheiden. Das ist für ein repliziertes Filesystem gedacht, das
mehrere Front-Gateways hat, über die z.B. per NFS auf das Filesystem
zugegriffen werden kann.

Die genaue Syntax in indirekten Maps ist dann z.B.:

mountkey-rw,hard,intr   server1:/foo server2:/foobar

bzw.

mountkey-rw,hard,intr   server1,server2:/foo


Ich dachte jetzt für diesen Fall daran, dass man die ideale Kopie über z.B.
den DNS-Namen "home-nfs" verfügbar macht, der nur da auflösbar ist, wenn
man dieses Filesystem auch via NFS erreichen kann. Da wäre das Ergebnis z.B.:

datenplatte -rw,hard,intr   home-nfs:/datenplatte localhost:/datenplatte

Wenn dann home-nfs nicht erreichbar ist (Timeout oder keine DNS-Auflösung)
wird der Mount-Request zum nächsten Server geleitet der in der Liste steht.
Also dann localhost, auf dem die lokale Kopie unter einem bestimmten Pfad
liegt.

Alternative wäre noch, die Mount-Map dynamisch zu machen, wie zum Beispiel
mit dem map-Typ "program" (man 5 auto.master) ein Skript anzugeben, das die
passende Map abhänggig vom Standort generiert oder abliefert.

Gruß, Andre

-- 
Andre Klärner


smime.p7s
Description: S/MIME cryptographic signature
___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Automounter, war Re: Verhalten eines shell-Skripts

2012-11-04 Diskussionsfäden Bernhard Bittner

Am 04.11.2012, 18:34 Uhr, schrieb Andre Klärner :

Hallo Andre,

snip


Aber des weiteren: nen Automounter kann ja auch mehrere Ziele ansprechen.
Sollte das nicht reichen, um das Ziel und die Mount-Optionen an die
Location anzupassen?


m.E. nicht, wenn ich /home/user mal per NFS vom Server und mal von der  
lokalen
HDD (DSL-Upstream-bedingt) einbinden will. Da sollte es doch eindeutig  
sein, oder?


Grüße,

Bernhard

___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd


Re: AW: Verhalten eines shell-Skripts [gelöst]

2012-11-04 Diskussionsfäden Bernhard Bittner

Am 04.11.2012, 18:32 Uhr, schrieb Ronny Seffner :

Hallo Ronny,


Hallo,

Nur Tipps ins Balue, ohne Dein Skript wirklich geistig debugged zu haben

shebang is /bin/sh - bei der Umstellung in debain bin ich damit oft auf  
die

Nase gefallen, ein /bin/bash half da sofort
sed und awk - sind nicht absolut angegeben, vielleicht findet der user  
oder

die Umgebung es aus dem GDM nicht
ifconfig - welcher user lässt das Skript im GCM laufen, darf der ifconfig


ich nehme mal an der user gdm, und der darf wohl nicht



Gib Dir doch im else-Zweig mal $IP aus, ich vermute es ist leer.


so isses

bin jetzt auf 'ip' anstelle von 'ifconfig' umgeschwenkt; die Zeile sieht  
dann

so aus:

IP=`/bin/ip addr show eth0 | sed 's/\:/ /g' | awk '/inet/ {print$2}'`

Funktioniert aus /etc/gdm3/Init/Default und /etc/rc.local.

snip

Danke & Grüße,

Bernhard

___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd


Re: Verhalten eines shell-Skripts

2012-11-04 Diskussionsfäden Andre Klärner
On Sun, Nov 04, 2012 at 06:21:45PM +0100, Bernhard Bittner wrote:
> folgendes Skript soll einem Mobilgerät abhängig vom Aufenthaltsort
> unterschiedliche Mount-Optionen unterjubeln:
> 
>  Code 
> #!/bin/sh
>  /Code 
> 
> Das Skript funktioniert soweit, wenn ich es im Terminal ausführe.
> 
> Jedoch aus z.B. /etc/gdm3/Init/Default heraus aufgerufen liefert es
> das Gegenteil des zu erwartenden Ergebnisses.
> 
> Hat jemand ne Idee, woran das liegen könnte?

Kann es sein dass die bash in deinem Terminal den Shebang etwas ignoriert
bzw. einfach selbst /bin/sh implementiert, und deine eigentliche /bin/sh
ein Symlink zu z.B. /bin/dash ist?

Aber des weiteren: nen Automounter kann ja auch mehrere Ziele ansprechen.
Sollte das nicht reichen, um das Ziel und die Mount-Optionen an die
Location anzupassen?

Gruß, Andre

-- 
Andre Klärner


smime.p7s
Description: S/MIME cryptographic signature
___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

AW: Verhalten eines shell-Skripts

2012-11-04 Diskussionsfäden Ronny Seffner
Hallo,

Nur Tipps ins Balue, ohne Dein Skript wirklich geistig debugged zu haben

shebang is /bin/sh - bei der Umstellung in debain bin ich damit oft auf die
Nase gefallen, ein /bin/bash half da sofort
sed und awk - sind nicht absolut angegeben, vielleicht findet der user oder
die Umgebung es aus dem GDM nicht
ifconfig - welcher user lässt das Skript im GCM laufen, darf der ifconfig


Gib Dir doch im else-Zweig mal $IP aus, ich vermute es ist leer.


Mit freundlichen Grüßen / Kind regards
     Ronny Seffner
-- 
Ronny Seffner  |  Alter Viehweg 1  |  01665 Klipphausen

www.seffner.de  |  ro...@seffner.de  |  +49 35245 72950


> -Ursprüngliche Nachricht-
> Von: lug-dd-boun...@mailman.schlittermann.de [mailto:lug-dd-
> boun...@mailman.schlittermann.de] Im Auftrag von Bernhard Bittner
> Gesendet: Sonntag, 4. November 2012 18:22
> An: Linux-User-Group Dresden
> Betreff: Verhalten eines shell-Skripts
> 
> Hallo,
> 
> folgendes Skript soll einem Mobilgerät abhängig vom Aufenthaltsort
> unterschiedliche Mount-Optionen unterjubeln:
> 
>  Code 
> #!/bin/sh
> IP=`/sbin/ifconfig eth0 | sed 's/\:/ /g' | awk '/inet Adresse/ {print$3}'`
> 
> echo "$IP"
> 
> if [ "$IP" = "a.b.c.d" ]; then
> echo "bin zuhause"
> rsync -av /etc/auto.home.lan /etc/auto.home
> /etc/init.d/autofs restart
> 
> else
> 
> echo "bin unterwegs"
> rsync -av /etc/auto.home.mobil /etc/auto.home
> /etc/init.d/autofs restart
> 
> fi
>  /Code 
> 
> Das Skript funktioniert soweit, wenn ich es im Terminal ausführe.
> 
> Jedoch aus z.B. /etc/gdm3/Init/Default heraus aufgerufen liefert es
> das Gegenteil des zu erwartenden Ergebnisses.
> 
> Hat jemand ne Idee, woran das liegen könnte?
> 
> Danke & Grüße,
> 
>   Bernhard
> 
> ___
> Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
> https://ssl.schlittermann.de/mailman/listinfo/lug-dd


___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd


Verhalten eines shell-Skripts

2012-11-04 Diskussionsfäden Bernhard Bittner

Hallo,

folgendes Skript soll einem Mobilgerät abhängig vom Aufenthaltsort
unterschiedliche Mount-Optionen unterjubeln:

 Code 
#!/bin/sh
IP=`/sbin/ifconfig eth0 | sed 's/\:/ /g' | awk '/inet Adresse/ {print$3}'`

echo "$IP"

if [ "$IP" = "a.b.c.d" ]; then
echo "bin zuhause"
rsync -av /etc/auto.home.lan /etc/auto.home
/etc/init.d/autofs restart

else

echo "bin unterwegs"
rsync -av /etc/auto.home.mobil /etc/auto.home
/etc/init.d/autofs restart

fi
 /Code 

Das Skript funktioniert soweit, wenn ich es im Terminal ausführe.

Jedoch aus z.B. /etc/gdm3/Init/Default heraus aufgerufen liefert es
das Gegenteil des zu erwartenden Ergebnisses.

Hat jemand ne Idee, woran das liegen könnte?

Danke & Grüße,

Bernhard

___
Lug-dd maillist  -  Lug-dd@mailman.schlittermann.de
https://ssl.schlittermann.de/mailman/listinfo/lug-dd