Direktaufnahme - Dateirechte

Wünsche, Anträge, Fehlermeldungen
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Direktaufnahme - Dateirechte

Beitrag von Tommy »

Hi All,

In den Direktaufnahmeeinstellungen kann man die Verzeichnisrechte konfigurieren. Könnte man sowas auch für die Dateirechte der .ts und .xml Dateien einführen? Ich greife auf den Eisfair über Samba zu. Leider habe ich auf die Files nur lesenden Zugriff, da die Rechte auf 644 stehen. Sie müßten auf 666 um über Samba Vollzugriff zu haben.

Man könnte natürlich im recording.end ein chmod 666 * machen aber das wäre uncool weil ja nur das letztaufgezeichnete File(s) geändert werden muß :roll:
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
hvkls
Interessierter
Interessierter
Beiträge: 75
Registriert: Dienstag 26. Dezember 2006, 09:28

Beitrag von hvkls »

Das geht mit NFS anders nur, wenn auf dem Client die umask einstellbar, bei der dbox also in die busybox hineinkompiliert, ist.

Samba kann man, wenn es mit root-Rechten laeuft, allerdings instruieren, die Datei-und Verzeichnisrechte (du brauchst beides) fuer den Share nach Gusto zu setzen.
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

hvkls hat geschrieben:Das geht mit NFS anders nur, wenn auf dem Client die umask einstellbar, bei der dbox also in die busybox hineinkompiliert, ist.

Samba kann man, wenn es mit root-Rechten laeuft, allerdings instruieren, die Datei-und Verzeichnisrechte (du brauchst beides) fuer den Share nach Gusto zu setzen.
Das verstehe ich nicht so recht. Bei Verzeichnissen kann man es festlegen (Ist ja schon in den Settings auswählbar) und bei Dateien nicht?

Im Samba kann ich (Eisfair Konfiguration) nur festlegen welche Rechte eine vom Sambauser _erstellte_ Datei/Verzeichnis bekommt. Den Schreibzugriff von fremderstellten Dateien (dbox NFS) kann ich mir IMO nicht "erschleichen"

Ich dachte an eine Erweiterung des Menüpunkts in der Form:

Verz. / Dateirechte 755/666
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
hvkls
Interessierter
Interessierter
Beiträge: 75
Registriert: Dienstag 26. Dezember 2006, 09:28

Beitrag von hvkls »

Wenn schon, dann 777/666. Die Dateirechte haengen bei *X uebrigens vom uebergeordneten Verzeichnis ab. (man 1 chmod)

In der smb.conf kann man mit force-Parametern die Maske bestimmen, IIRC.
dbox Scripts'nTricks, iPhone software, Kernel 2.6/PPC for Linkstation/Kuro/HG/HS/Tera from http://hvkls.dyndns.org
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

hvkls hat geschrieben:
In der smb.conf kann man mit force-Parametern die Maske bestimmen, IIRC.
Jo - genau diese Parameter habe ich gesetzt (s.Eisfair Config). Dateien/ Verzeichnisse, die ich unter Windows speichere bekommen auch genau diese Rechte. Speichere ich einen Film via NFS von der Box hat er 644 und ich von Windows aus dementsprechend nur Lesezugriff

Code: Alles auswählen

SAMBA_SHARE_5_ACTIVE                                      =  yes                                                                                        ▒
│   SAMBA_SHARE_5_NAME                                        =  HD2                                                                                        #
│   SAMBA_SHARE_5_COMMENT                                     =  public directory on %h                                                                     ▒
│   SAMBA_SHARE_5_RW                                          =  yes                                                                                        ▒
│   SAMBA_SHARE_5_BROWSE                                      =  yes                                                                                        ▒
│   SAMBA_SHARE_5_PATH                                        =  /mnt/HD2                                                                                   ▒
│   SAMBA_SHARE_5_USER                                        =  +heim                                                                                      ▒
│   SAMBA_SHARE_5_PUBLIC                                      =  no                                                                                         ▒
│   SAMBA_SHARE_5_READ_LIST                                   =                                                                                             ▒
│   SAMBA_SHARE_5_WRITE_LIST                                  =                                                                                             ▒
│   SAMBA_SHARE_5_FORCE_CMODE                                 =  0666                                                                                       ▒
│   SAMBA_SHARE_5_FORCE_DIRMODE                               =  0777                                                                                       ▒
│   SAMBA_SHARE_5_FORCE_USER                                  =                                                                                             ▒
│   SAMBA_SHARE_5_FORCE_GROUP                                 =                                                                                             ▒
│   SAMBA_SHARE_5_VSCAN                                       =  no       
hvkls
Interessierter
Interessierter
Beiträge: 75
Registriert: Dienstag 26. Dezember 2006, 09:28

Beitrag von hvkls »

Wenn force user/group keine Alternative ist, bleibt es wohl bei umask (clientseitig). Ich lasse mich gerne eines Besseren belehren.
dbox Scripts'nTricks, iPhone software, Kernel 2.6/PPC for Linkstation/Kuro/HG/HS/Tera from http://hvkls.dyndns.org
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

hvkls hat geschrieben:Wenn force user/group keine Alternative ist, bleibt es wohl bei umask (clientseitig). Ich lasse mich gerne eines Besseren belehren.
Also die Eisfair Doku will ich hier nicht posten aber falls Du Interesse hast hier ein Direktlink http://www.eisfair.org/fileadmin/eisfai ... xFORCEUSER
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
hvkls
Interessierter
Interessierter
Beiträge: 75
Registriert: Dienstag 26. Dezember 2006, 09:28

Beitrag von hvkls »

Ein fluechtiger Blick sagt mir, dass das etwas fuer dich sein koennte. Versuch macht kluch.
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

hvkls hat geschrieben:Ein fluechtiger Blick sagt mir, dass das etwas fuer dich sein koennte. Versuch macht kluch.
nein, Force_User bedeutet bezogen auf das share alles unter der ownership des angegebenen users gespeichert wird.

Mit Samba komme ich an der Stelle deffinitv nicht weiter. Die Rechte müssen von der Dbox gesetzt werden. Wie gesagt, mein derzeitiger Workaround ist in der recording.end:

Code: Alles auswählen

chmod 666 /mnt/video/*.ts
chmod 666 /mnt/video/*.xml
Wenns nicht anders geht bleibts halt (für mich) so
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
hvkls
Interessierter
Interessierter
Beiträge: 75
Registriert: Dienstag 26. Dezember 2006, 09:28

Beitrag von hvkls »

Die Eisfair-Dokumentation habe ich so verstanden, dass die Rechte bei I/O-Operationen gesetzt werden, ergo waeren die Ursprungswerte egal -- sei's dem, wie's ihm wolle.

Der Koenigsweg bliebe meines Erachtens die cleientseitige umask, in der busybox oder zusaetzlich.
dbox Scripts'nTricks, iPhone software, Kernel 2.6/PPC for Linkstation/Kuro/HG/HS/Tera from http://hvkls.dyndns.org
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

Was ihr vermutlich wollt, ist (ungetestet, nur mal kompiliert):

Code: Alles auswählen

Index: apps/tuxbox/neutrino/src/driver/stream2file.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/src/driver/stream2file.cpp,v
retrieving revision 1.28
diff -u -p -r1.28 stream2file.cpp
--- apps/tuxbox/neutrino/src/driver/stream2file.cpp     7 Sep 2007 02:10:38 -0000       1.28
+++ apps/tuxbox/neutrino/src/driver/stream2file.cpp     19 Dec 2007 16:46:02 -0000
@@ -186,11 +186,15 @@ void * FileThread(void * v_arg)
                        if (remfile == 0)
                        {
                                char filename[FILENAMEBUFFERSIZE];
+                               int flags;

                                sprintf(filename, "%s.%3.3d.%s", myfilename, ++filecount, ((struct filenames_t *)v_arg)->extension);
                                if (fd2 != -1)
                                        close(fd2);
-                               if ((fd2 = open(filename, use_o_sync ? O_WRONLY | O_CREAT | O_SYNC | O_TRUNC | O_LARGEFILE : O_WRONLY | O_CREAT | O_TRUNC | O_LARGEFILE, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) < 0)
+                               flags = O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE;
+                               if (use_o_sync)
+                                       flags |= O_SYNC;
+                               if ((fd2 = open(filename, flags, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH)) < 0)
                                {
                                        perror("[stream2file]: error opening outfile");
                                        exit_flag = STREAM2FILE_STATUS_WRITE_OPEN_FAILURE;
@@ -472,7 +476,7 @@ stream2file_error_msg_t start_recording(

        // write stream information (should wakeup the disk from standby, too)
        sprintf(buf, "%s.xml", filename);
-       if ((fd = open(buf, O_SYNC | O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)) >= 0)
+       if ((fd = open(buf, O_SYNC|O_WRONLY|O_CREAT|O_TRUNC, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH)) >= 0)
        {
                write(fd, info, strlen(info));
                fdatasync(fd);
Edit: umask hilft nämlich gar nix, da die modi explizit angegeben sind.
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

Wenn das o.g. die Dateirechte des TS und XML auf 666 setzt und keiner was gegen diese Rechtevergabe hat (Sicherheit?!) dann würde ich darum bitte, es zum Standard zu machen.
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
hvkls
Interessierter
Interessierter
Beiträge: 75
Registriert: Dienstag 26. Dezember 2006, 09:28

Beitrag von hvkls »

Wie waere es mit 0664? Damit haette man Sicherheit und Bedienbarkeit quasi im Gleichgewicht.

@seife, wuerde umask da wirklich nix bringen? Und wenn nein, ueberliesse man a) die Rechte nicht besser ganz dem Betriebssystem oder richtete b) ein Menue ein, mit der man die Maske fuer Dateien analog zur Maske fuer Verzeichnisse einstellen kann? Beide Masken sollten vierstellig sein, so dass man 2775/0664 o.dgl. realisieren koennte.
dbox Scripts'nTricks, iPhone software, Kernel 2.6/PPC for Linkstation/Kuro/HG/HS/Tera from http://hvkls.dyndns.org
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

b) war ja meine Ursprungsanfrage - dann kann es jeder halten wie er will

BTW: Ich glaube die wenigsten haben Ihren NFS Server ungeschützt im Internet. Und selbst wenn - wer zieht sich eine TS Datei mit 2 GiB über ADSL?
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
hvkls
Interessierter
Interessierter
Beiträge: 75
Registriert: Dienstag 26. Dezember 2006, 09:28

Beitrag von hvkls »

@Tommy, was du zu Hause treibst, ist deine Sache. Auch Sicherheitskonzepte deiner eigenen Bequemlichkeit zu opfern. Verschon aber bitte die Oeffentlichkeit damit. Was b) betrifft, empfehle ich die Dokumentation zu NFS.
dbox Scripts'nTricks, iPhone software, Kernel 2.6/PPC for Linkstation/Kuro/HG/HS/Tera from http://hvkls.dyndns.org
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

NFS ist sowieso "No File Security" - so lange ich auf dem Client jeder beliebige User werden kann, ist das relativ wurst, was der Server dazu meint :-)

Mein Patch sollte 0664 draus machen. Hat's denn mal jemand getestet? Ich nicht :-)
Und ja, einfach gar keinen modus angeben und vor dem starten von Neutrino die umask entsprechend im Startskript setzen halte ich auch für eleganter und flexibler.

Noch ein Menü würde ich den Lauglotzpfuschern überlassen. Meine Meinung: Default umask auf 0002 und gut ist. Wer _das_ einstellen muß, der kann auch start_neutrino editieren.
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

hvkls hat geschrieben: @Tommy, was du zu Hause treibst, ist deine Sache. Auch Sicherheitskonzepte deiner eigenen Bequemlichkeit zu opfern. Verschon aber bitte die Oeffentlichkeit damit.
Gut - man kanns auch übertreiben. 644 (was jetzt Standard ist) bedeutet Leserechte für Welt. Das ist natürlich in der Form sicherer als das ein Eindringling auf meinem ungeschützten im Internet verfügbarem Server die Dateien zwar lesen und auch kopieren kann aber nicht löschen und ändern darf
hvkls hat geschrieben:
Was b) betrifft, empfehle ich die Dokumentation zu NFS.
Was hat b) " Feature Request auf Erweiterung eines bestehenden Menüpunkts" mit der Doku zu NFS zu tun?

seife hat geschrieben:
Mein Patch sollte 0664 draus machen. Hat's denn mal jemand getestet? Ich nicht :-)
meine Buildumgebung (unter VMware) tuts momentan nicht :-?
seife hat geschrieben:
Und ja, einfach gar keinen modus angeben und vor dem starten von Neutrino die umask entsprechend im Startskript setzen halte ich auch für eleganter und flexibler.
habe im startscript umask 0002 gesetzt. An der Konsole erhalte ich auch auf umask -> 0002 (im Original 0022). Files werden aber nach wie vor mit 644 geschrieben.

@All:
Mittlerweile wird es unangenehm Feature Requests zu äußern :cry:
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

Tommy hat geschrieben:
seife hat geschrieben:
Und ja, einfach gar keinen modus angeben und vor dem starten von Neutrino die umask entsprechend im Startskript setzen halte ich auch für eleganter und flexibler.
habe im startscript umask 0002 gesetzt. An der Konsole erhalte ich auch auf umask -> 0002 (im Original 0022). Files werden aber nach wie vor mit 644 geschrieben.
Ja, weil umask nur bits wegnehmen kann, keine hinzufügen, wenn ich das richtig in der manpage zu open() lese. Sprich: wir sollten die Dateien mit 00666 erzeugen, und den Rest von der umask erledigen lassen. "00666" liest sich übrigens IMVHO auch leichter als "S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH", das könnte man auch mal aufräumen... :-)

Also: mach deine Buildumgebung wieder ganz, teste das mal (mit 00666 und verschiedenen gesetzten umasks) und wenn es funktioniert, dann mach ich das gern rein.
@All:
Mittlerweile wird es unangenehm Feature Requests zu äußern :cry:
Nun, der beste Feature-Request ist natürlich der, an dem ein Patch dranhängt :-)
Ich habe noch nie einen Hehl draus gemacht, daß ich nur an den Sachen rumschraube, die mich selbst betreffen oder zumindest interessieren. Dieses Thema interessiert mich sogar (sonst würde ich jetzt nichts schreiben), aber halt nicht so stark, daß ich es jetzt auch unbedingt selbst ausprobieren muß. Zumindest nicht, solange ich noch andere Sachen zu fixen habe, und da sind noch ein paar... :-)
hvkls
Interessierter
Interessierter
Beiträge: 75
Registriert: Dienstag 26. Dezember 2006, 09:28

Beitrag von hvkls »

@Tommy: War nicht boes gemeint, tut mir leid.

Ich wollte nur sagen, dass es grundsaetzlich funktioniert.

# cd nfsshare
# umask 00022 ; touch test ; ls -l test
-rw-r--r-- 1 1000 1000 0 Dec 20 12:31 test
# rm test
# umask 00002 ; touch test ; ls -l test
-rw-rw-r-- 1 1000 1000 0 Dec 20 12:33 test
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

seife hat geschrieben:
@All:
Mittlerweile wird es unangenehm Feature Requests zu äußern :cry:
Nun, der beste Feature-Request ist natürlich der, an dem ein Patch dranhängt :-)
Ich habe noch nie einen Hehl draus gemacht, daß ich nur an den Sachen rumschraube, die mich selbst betreffen oder zumindest interessieren. Dieses Thema interessiert mich sogar (sonst würde ich jetzt nichts schreiben), aber halt nicht so stark, daß ich es jetzt auch unbedingt selbst ausprobieren muß. Zumindest nicht, solange ich noch andere Sachen zu fixen habe, und da sind noch ein paar... :-)
@seife:
Das ging auch nicht gegen Dich :wink: . Ich finde es blos blöd, das Ideen von vornherein mit Argumenten zerredet werden die zwar durchaus aber nicht in unserer Umgebung relevant sind. Wer seinen Server ans öffentliche Netz hängt sollte wissen was er tut und dafür sorgen, dass der Server sicher ist. Die Dateirechte spielen bei externem Zugriff über Samba, FTP, SSH sowieso nur eine untergeordnete Rolle, da man im jeweiligen Daemon den Zugriff konfigurieren kann. Und über NFS sollte bei entsprechneder exports von außen auch keiner Zugriff haben (selbst wenn der Port offen wäre).
Aber Da ich nunmal als Globales Sicherheitsrisiko eingestuft bin wird wohl bald das Rollkomando klingeln :wink: und vermutlich wird ein Admin das auch als Titel unter meinen Nick pinnen. :dash:

Da ich momentan meine Urlaubszeit damit verbringe die Videosammlung in Ordnung zu bringen (schneiden, taggen und ordnen) steht das Problem mit der VMware erstmal hintenan. Ich muß da aber sowieso ran da ich mir unbedingt mal ein image mit 2.6er Kernel bauen will.

Mein Workaround mit der recording.end funktioniert ja auch erstmal, ist halt nur "uncool" :wink:
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

hvkls hat geschrieben:@Tommy: War nicht boes gemeint, tut mir leid.

Ich wollte nur sagen, dass es grundsaetzlich funktioniert.

# cd nfsshare
# umask 00022 ; touch test ; ls -l test
-rw-r--r-- 1 1000 1000 0 Dec 20 12:31 test
# rm test
# umask 00002 ; touch test ; ls -l test
-rw-rw-r-- 1 1000 1000 0 Dec 20 12:33 test
Jo - bin hart im nehmen :wink:

Das mag ja grundsätzlich funktionieren aber wenn es im streamts hardcoded ist nutzt des umask nix -leider
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Beitrag von seife »

Tommy hat geschrieben:Ich muß da aber sowieso ran da ich mir unbedingt mal ein image mit 2.6er Kernel bauen will.
Sehr gut! :-)

Und da es ja in meinem Tree hier nun schon "richtig" drin ist, wird meine Frau, wenn ich denn mal wieder ein neues Image aufspiele, ganz zufällig testen, ob die Permissions sich anders verhalten.
Die default-umask von 0022 habe ich nämlich auch gleich mal auf 0002 geändert, damit man's auch merkt.
=> Alles wird gut :-)
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Beitrag von Tommy »

*virtuellesBierzuseifeundFraurüberschieb* :wink:
---------------------------
Alle weiteren Infos findest Du im WIKI
Bitte vor dem posten Boardregeln lesen und verstehen!
Wie erstelle ich ein Bootlog? Wo finde ich die FAQ?
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Direktaufnahme - Dateirechte

Beitrag von seife »

So, ein fix ist committed (mit 0666).
Tommy
Tuxboxer
Tuxboxer
Beiträge: 4332
Registriert: Dienstag 7. Mai 2002, 17:04

Re: Direktaufnahme - Dateirechte

Beitrag von Tommy »

seife hat geschrieben:So, ein fix ist committed (mit 0666).
gestern Abend schon per Post bekommen - THX 4 That :D