Vorschlag für FHEM auf 7390 ohne root

Begonnen von Guest, 30 Dezember 2011, 23:28:54

Vorheriges Thema - Nächstes Thema

Guest

Originally posted by: <email address deleted>

Hallo,

FHEM auf der 7390 gemäß FHEM-Image http://fhem.de/fhem-5.1-fb7390.image
läuft bei mir ohne Probleme.

Was mir bisher nicht gefällt ist, dass FHEM auf der Fritzbox als root
läuft. Das ist auch leider bei der AVM-chroot-Version der Fall.

Mein Vorschlag wäre FHEM als normaler Nutzer laufen zu lassen wie man
es ja auf einem normalen Unix/Linux auch machen sollte. Da das
Verzeichnis von FHEM unter /var/InternerSpeicher bereits dem User
boxusr80 (ftp- bzw. Netzlaufwerk-User der Fritzbox) gehört, wäre es
das einfachste fhem als boxusr80 laufen zu lassen. Anbei eine Änderung
an startfhem, um den User fhem mit der uid von boxusr80 hinzuzufügen
und die Rechte der Verzeichnisse entsprechend zu setzen, damit
updatefhem danach noch läuft. Leider gibt es kein adduser bei der
Fritzbox. Daher durch Änderung an der passwd.

Nach Hinzufügen des Users fhem startet fhem.pl ohne weitere Änderungen
unter diesem User. Das hat Rudi ja bereits so vorgesehen.

Besser wäre noch fhem mit einer neuen uid als User hinzuzufügen. Dann
entfällt allerdings die Möglichkeit über Netzlaufwerk bzw. FTP
Änderungen vorzunehmen. Nutzt das jemand?

@Rudi: Was hältst Du davon diese Änderung generell in das fhem-5.1-
fb7390.image zu integrieren? Bestehende 7390-Nutzer müssten die
Änderung wohl manuell durchführen.

MfG Willi
--------------------------
# Zusatz für startfhem:

# let FHEM run as user boxusr80
# add user fhem with uid of boxusr80
id fhem > /dev/null 2>&1
if [ "$?" -ne "0" ]; then
        echo "user fhem does not exist. Adding
it."
        echo "fhem:any:1080:0:fhem:/home-not-used:/bin/sh" >>/var/tmp/
passwd
        # set files ownership
        chown -R boxusr80 ${home}/log
        chown -R boxusr80 ${home}/FHEM
fi

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

LuckyDay

                                         

wäre ich nicht glücklich,
könnte kein Backup per ftp machen, könnte keine Dateien von Hand
tauschen
mein Anrufbeantworter, mein Fax, legen auch ihre Daten auf dem
internenSpeicher ab,
meine Dreambox quatscht auch mit der Fritzbox,

bitte nicht :(

Hary

On 30 Dez., 23:28, Willi wrote:
> Hallo,
>
> FHEM auf der 7390 gemäß FHEM-Imagehttp://fhem.de/fhem-5.1-fb7390.image
> läuft bei mir ohne Probleme.
>
> Was mir bisher nicht gefällt ist, dass FHEM auf der Fritzbox als root
> läuft. Das ist auch leider bei der AVM-chroot-Version der Fall.
>
> Mein Vorschlag wäre FHEM als normaler Nutzer laufen zu lassen wie man
> es ja auf einem normalen Unix/Linux auch machen sollte. Da das
> Verzeichnis von FHEM unter /var/InternerSpeicher bereits dem User
> boxusr80 (ftp- bzw. Netzlaufwerk-User der Fritzbox) gehört, wäre es
> das einfachste fhem als boxusr80 laufen zu lassen. Anbei eine Änderung
> an startfhem, um den User fhem mit der uid von boxusr80 hinzuzufügen
> und die Rechte der Verzeichnisse entsprechend zu setzen, damit
> updatefhem danach noch läuft. Leider gibt es kein adduser bei der
> Fritzbox. Daher durch Änderung an der passwd.
>
> Nach Hinzufügen des Users fhem startet fhem.pl ohne weitere Änderungen
> unter diesem User. Das hat Rudi ja bereits so vorgesehen.
>
> Besser wäre noch fhem mit einer neuen uid als User hinzuzufügen. Dann
> entfällt allerdings die Möglichkeit über Netzlaufwerk bzw. FTP
> Änderungen vorzunehmen. Nutzt das jemand?
>
> @Rudi: Was hältst Du davon diese Änderung generell in das fhem-5.1-
> fb7390.image zu integrieren? Bestehende 7390-Nutzer müssten die
> Änderung wohl manuell durchführen.
>
> MfG Willi
> --------------------------
> # Zusatz für startfhem:
>
> # let FHEM run as user boxusr80
> # add user fhem with uid of boxusr80
> id fhem > /dev/null 2>&1
> if [ "$?" -ne "0" ]; then
>         echo "user fhem does not exist. Adding
> it."
>         echo "fhem:any:1080:0:fhem:/home-not-used:/bin/sh" >>/var/tmp/
> passwd
>         # set files ownership
>         chown -R boxusr80 ${home}/log
>         chown -R boxusr80 ${home}/FHEM
> fi

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

ich wäre damit auch nicht glücklich.
grade als blutiger Anfänger muss man ne Menge probieren, jedesmal ne
Datensicherung per FTP machen, Dateien runterziehen, editieren und
wieder drauf schieben...

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 31 Dez., 00:42, fhem-hm-knecht wrote:
> wäre ich nicht glücklich,
> könnte kein Backup per ftp machen, könnte keine Dateien von Hand
> tauschen
> mein Anrufbeantworter, mein Fax, legen auch ihre Daten auf dem
> internenSpeicher ab,
> meine Dreambox quatscht auch mit der Fritzbox,
>

Das hat ja erst mal nichts direkt mit einem Startskript von FHEM zu
tun oder was meinst Du damit?

> bitte nicht :(

Du meinst damit, dass Du evtl. keinen Schreibzugriff auf FHEM-Dateien
mehr hättest?
Das ist bei dem Vorschlag meines Skriptes, bei dem FHEM als boxusr80
läuft überhaupt nicht eingeschränkt.

Oder was meinst Du mit "bitte nicht".

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 31 Dez., 00:55, kermi wrote:
> ich wäre damit auch nicht glücklich.
> grade als blutiger Anfänger muss man ne Menge probieren, jedesmal ne
> Datensicherung per FTP machen, Dateien runterziehen, editieren und
> wieder drauf schieben...

Ich verstehe Dich so, dass Du nicht glücklich damit wärst, dass Du
keinen Zugriff mehr auf die FHEM-Dateien per FTP oder Netzlaufwerk
hättest und diese nicht mehr überschreiben könntest. Richtig.

Der Vorschlag meines Skriptes mit der uid als boxusr80 macht da
keinerlei Einschränkungen.

Oder ist das Problem?

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 30 Dez., 23:28, Willi wrote:
> Besser wäre noch fhem mit einer neuen uid als User hinzuzufügen. Dann
> entfällt allerdings die Möglichkeit über Netzlaufwerk bzw. FTP
> Änderungen vorzunehmen. Nutzt das jemand?

Zur Klarstellung: Das war eine Frage einer alternativen
Implementierung. Mein Vorschlag des Skriptes, welches ich jetzt selbst
verwende, macht keinerlei dieser Einschränkungen.

Mit dem vorgeschlagene Skript, kann man weiterhin per FTP oder
Netzlaufwerk auf die Dateien per FTP oder Netzlaufwerk von FHEM
zugreifen und diese auch ändern.

FHEM läuft lediglich nicht mehr als root.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

dann habe ich das falsch verstanden.
Solange ich per FTP ins FHEM Verzeichnis komme habe ich kein Problem.

Guten Rutsch
Stephan

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

LuckyDay

                                         

Sorry, wenn ich jetzt blöd frage, worin liegt der Sinn einen 2. User
einzutragen, wenn sich nix ändert?
normaler weise, beschränke ich damit irgendwas.

hary


On 31 Dez., 01:20, Willi wrote:
> On 30 Dez., 23:28, Willi wrote:
>
> > Besser wäre noch fhem mit einer neuen uid als User hinzuzufügen. Dann
> > entfällt allerdings die Möglichkeit über Netzlaufwerk bzw. FTP
> > Änderungen vorzunehmen. Nutzt das jemand?
>
> Zur Klarstellung: Das war eine Frage einer alternativen
> Implementierung. Mein Vorschlag des Skriptes, welches ich jetzt selbst
> verwende, macht keinerlei dieser Einschränkungen.
>
> Mit dem vorgeschlagene Skript, kann man weiterhin per FTP oder
> Netzlaufwerk auf die Dateien per FTP oder Netzlaufwerk von FHEM
> zugreifen und diese auch ändern.
>
> FHEM läuft lediglich nicht mehr als root.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

rudolfkoenig

                                                   

> @Rudi: Was hältst Du davon diese Änderung generell in das fhem-5.1-
> fb7390.image zu integrieren? Bestehende 7390-Nutzer müssten die
> Änderung wohl manuell durchführen.

Wenn, dann in fhem-5.2 :) Ich frage mich, wieso AVM statt diese unter Unix
naheliegende Loesung lieber chroot gewaehlt hat. Vielleicht wussten Sie es
nicht besser, und wir koennen AVM mit dieser Loesung vom chroot abhalten. Wenn
niemand gute Argumente GEGEN einen fhem user auf dem FB hat, dann wuerde ich es
einfuehren.

Btw.: sind die /dev Eintraege fuer boxusr80 zugaenglich? Wenn ja, dann frag ich
mich, was boxusr80 nicht kann :)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 31 Dez., 10:21, Rudolf Koenig wrote:
> > @Rudi: Was h ltst Du davon diese nderung generell in das fhem-5.1-
> > fb7390.image zu integrieren? Bestehende 7390-Nutzer m ssten die
> > nderung wohl manuell durchf hren.
>
> Wenn, dann in fhem-5.2 :) Ich frage mich, wieso AVM statt diese unter Unix
> naheliegende Loesung lieber chroot gewaehlt hat. Vielleicht wussten Sie es
> nicht besser, und wir koennen AVM mit dieser Loesung vom chroot abhalten. Wenn
> niemand gute Argumente GEGEN einen fhem user auf dem FB hat, dann wuerde ich es
> einfuehren.
>
> Btw.: sind die /dev Eintraege fuer boxusr80 zugaenglich? Wenn ja, dann frag ich
> mich, was boxusr80 nicht kann :)

boxusr80 kann nicht in die Verzeichnisse /var/tmp und /var/flash sowie
die darunter liegenden Dateien schreiben. Soweit zumindest die
Theorie.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 31 Dez., 02:04, fhem-hm-knecht wrote:
> Sorry, wenn ich jetzt blöd frage, worin liegt der Sinn einen 2. User
> einzutragen, wenn sich nix ändert?
> normaler weise, beschränke ich damit irgendwas.
>
> hary

FHEM hat damit nur die Rechte des Users boxusr80.

Wenn jemand Zugriff auf die Konsole von FHEM hat (Web-Oberfläche, Port
7072) kann man dann nur Aktionen in dieser Benutzerumgebung
durchführen. Wie bekannt, kann man über die Konsole von FHEM beliebige
Perl-Skripte ausführen. Wer also Zugriff auf FHEM einer Fritzbox hat,
kann auch die komplette Konfiguration einer Fritzbox ändern. AVM
versucht eine Sicherheit gegen solche Modifikationen über eine Chroot-
Umgebung zu schaffen (leider auch als User root und damit potentiell
wieder angreifbar....). Leider hat dies die bekannten Einschränkungen
für die Benutzer (siehe auch Diskussionen dazu) und wird dann von
vielen Nutzern so nicht eingesetzt.

Auf der Fritzbox 7390 sind die Verzeichnisse /var/tmp und /var/flash
sowie die darunter liegenden Dateien (dazu gehören auch
Konfigurationsdateien) nur für den  Benutzer root schreibbar/änderbar.
Damit kann der Benutzer boxusr80 nicht ohne weiteres Änderungen daran
durchführen. Soweit die Theorie. Ob AVM das Rechtemanagement
konsequent umgesetzt hat, habe ich nicht vollständig geprüft. Man
schafft mit dem Benutzer boxusr80 aber zumindest eine erste Hürde.
Wenn uns bekannt werden sollte, dass dies so nicht ausreicht, müssen
wir mit AVM reden eventuelle Schwachstellen abzustellen.

Ich würde generell empfehlen, FHEM auf einem System niemals als root
laufen zu lassen, egal ob Unix/Linux/OSX oder Fritzbox. Ansonsten kann
jeder oder je eAnwendung mit Zugriff auf FHEM das komplette System
übernehmen und umkonfigurieren.

Wir geben auch freiwillig den Zugriff auf FHEM ab. Ich vertraue
beispielsweise mit der Installation von andFHEM Matthias, dessen
Anwendung über Port 7072 auf meinen FHEM-Server zugreift. Das gleiche
gilt bei anderen Anwendungen (beispielsweise für IPad), die auf FHEM
zugreifen. Häufig hat man bei solchen Anwendungen auch keine Sources,
um zu prüfen, was hier realisiert ist.
Das soll keinerlei Kritik sein, ich finde andFHEM toll. Mir ist nur
wohler, wenn FHEM dann als normaler User läuft.

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Guest

Originally posted by: <email address deleted>

On 31 Dez., 10:21, Rudolf Koenig wrote:
> Btw.: sind die /dev Eintraege fuer boxusr80 zugaenglich? Wenn ja, dann frag ich
> mich, was boxusr80 nicht kann :)

Der Zugriff auf /dev/ttyACM0 funktioniert, da bei meinem Vorschlag nur
die UID, aber nicht GID geändert wird (letzteres würde mir besser
gefallen, aber .....):

/dev/ttyACM*
crw-rw----    1 root     root      166,   0 Dec 31 01:41 /dev/ttyACM0

Besser wäre natürlich auch die GID (Group-ID) zu ändern und die die
Devices wie /dev/ttyACM* nur für die Gruppe tty schreibbar zu machen.
Aber ich wollte mit dem Vorschlag mal einen ersten Schritt machen. Mir
ist klar, dass es so nicht perfekt ist.

Eventuell bekommen wir es irgendwann zukünftig mal hin, dass AVM auf
der Fritzbox noch mehr macht...................

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Oskar

                                                     

Am 31.12.2011 um 10:21 schrieb Rudolf Koenig:

>> @Rudi: Was hältst Du davon diese Änderung generell in das fhem-5.1-
>> fb7390.image zu integrieren? Bestehende 7390-Nutzer müssten die
>> Änderung wohl manuell durchführen.
>
> Wenn, dann in fhem-5.2 :) Ich frage mich, wieso AVM statt diese unter Unix
> naheliegende Loesung lieber chroot gewaehlt hat.

Weil die chroot-Variante sicherer (im Sinne von Security) ist.  Ein Prozeß im chroot kommt da nicht raus.

Noch besser wäre natürlich die Kombination mit fhem-User.  Da könnte man nämlich schick die für fhem relevanten Devices im chroot für fhem zugänglich machen.  (mknod /woauchimmerchrootgeradeist/dev/ttyACM00 c x y ; chown fhem dasda)

> Vielleicht wussten Sie es
> nicht besser, und wir koennen AVM mit dieser Loesung vom chroot abhalten. Wenn
> niemand gute Argumente GEGEN einen fhem user auf dem FB hat, dann wuerde ich es
> einfuehren.

Da gibt es keine gegen, solange da chroot nicht abgeschafft wird.  Denn auf der FB ist es eigentlich egal, welcher user man ist, man kann dann entweder (fast) alles oder aber überhaupt nichts.  Mit der Rechteseparierung ist das nicht so weit her, weil eigentlich in diesen embedded-Linuxen der Fokus auf "das muß laufen" und nicht "das muß sicher laufen" liegt.

> Btw.: sind die /dev Eintraege fuer boxusr80 zugaenglich? Wenn ja, dann frag ich
> mich, was boxusr80 nicht kann :)

Tja, ebend :-)

Grüße
   Oskar

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
--
fhem geht auch auf mac os x

tiptronic

                                                 

Schönes neues Jahr alle miteinander.


Gibt es eigentlich ein Türschloss (ala keymatic) das mit fhem zusammen funktioniert? Vielleicht sogar mit KeyPad?


Andy

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com