Berechtigungen für neu erstellte Dateien

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
ThunderByte
Beiträge: 66
Registriert: 04.10.2014 09:36:16

Berechtigungen für neu erstellte Dateien

Beitrag von ThunderByte » 26.05.2015 11:13:10

Hallo,
Ich benötige kurz Hilfe.
Ich möchte, dass alle Dateien und Verzeichnisse, die ein Nutzer erstellt die Rechte "777" bekommen. Per UMASK lässt sich das ja nur für Verzeichnisnisse machen.
Wie regle ich das?
Vielen Dank
Zuletzt geändert von ThunderByte am 26.05.2015 12:51:50, insgesamt 1-mal geändert.

Benutzeravatar
Prometheuss
Beiträge: 158
Registriert: 10.02.2015 21:45:52

Re: Berechtigungen für neu erstellte Dateien

Beitrag von Prometheuss » 26.05.2015 12:39:31

user@machine:~$ chmod 777 DATEI
wird aber kein sinn machen verzeichnissen ausführbarkeitsrechte zu geben.
Falls das deine frage war :?
~ein Teil dieser Antwort könnte sie verunsichern.

ThunderByte
Beiträge: 66
Registriert: 04.10.2014 09:36:16

Re: Berechtigungen für neu erstellte Dateien

Beitrag von ThunderByte » 26.05.2015 12:40:36

Ich möchte allerdings, dass Neuerstellte Dateien auch diese Rechte bekommen

Benutzeravatar
Prometheuss
Beiträge: 158
Registriert: 10.02.2015 21:45:52

Re: Berechtigungen für neu erstellte Dateien

Beitrag von Prometheuss » 26.05.2015 12:51:44

ich glaub ich versteh dich nicht, sorry.
angenommen du hast eine datei mittels konsole erstellt, sagen wir mit vi und es handelt sich um ein tagebucheintrag den alle benutzer lesen und umschreiben sollen. dann sieht das folgendermaßen aus:
user@machine:~$ chmod 666 /pfadzurdatei/tagebucheintrag
damit bekommen die user und gruppen die rechte zum lesen und schreiben (wichtig ist dass die nicht in deinem homeverzeichnis liegt, da hat nur der besitzer und der superuser zugriff drauf).
ich habe bewusst 666 gewählt weil 777 ergäbe keinen sinn da eine textdatei kein ausführungsrecht benötigt.
die erste oktalzahl (stimmt das?) definiert die rechte des besitzers, die zweite für gruppen und die dritte für alle, so war das glaub ich :D
wenn dir das immernoch nicht hilft brauch ich ein beispiel, tut mir leid :D
~ein Teil dieser Antwort könnte sie verunsichern.

ThunderByte
Beiträge: 66
Registriert: 04.10.2014 09:36:16

Re: Berechtigungen für neu erstellte Dateien

Beitrag von ThunderByte » 26.05.2015 12:53:26

Ich möchte im Prinzip, dass alle Dateien und Verzeichnisse, die ein Nutzer erstellt mit den Rechten "777" versehen werden.

ThunderByte
Beiträge: 66
Registriert: 04.10.2014 09:36:16

Re: Berechtigungen für neu erstellte Dateien

Beitrag von ThunderByte » 26.05.2015 13:04:35

Es geht um einen Gameserver. Ich habe einen Nutzer, der auf diesen per FTP Dateien wie Maps hochlädt. Diese werden nur erkannt, wenn der Ordner die Rechte "777" hat. Da ich nicht immer manuell die Rechte anpassen möchte, sollen die Dateien, die der Nutzer erstellt/hochlädt immer mit den Rechten "777" versehen werden.

Benutzeravatar
Prometheuss
Beiträge: 158
Registriert: 10.02.2015 21:45:52

Re: Berechtigungen für neu erstellte Dateien

Beitrag von Prometheuss » 26.05.2015 13:07:19

ThunderByte hat geschrieben:Ich möchte im Prinzip, dass alle Dateien und Verzeichnisse, die ein Nutzer erstellt mit den Rechten "777" versehen werden.
genau das tut man mit dem kommando chmod 777[datei]
geb mal folgendes ein:

Code: Alles auswählen

:~$ touch test    #erstellt eine datei mit dem namen test
:~$ ls -l    #zeigt die rechte aller dateien im befindlichen verzeichnis an
:~$ chmod 777 test     #gibt der datei test "Read","Write" und "eXecute" rechte für jedermann
:~$ ls -l     #zeigt wieder die rechte an, den unterschied dürfte man bemerken
ich hoffe innigst, dass es dir helfen konnte :)
http://de.wikipedia.org/wiki/Chmod
~ein Teil dieser Antwort könnte sie verunsichern.

ThunderByte
Beiträge: 66
Registriert: 04.10.2014 09:36:16

Re: Berechtigungen für neu erstellte Dateien

Beitrag von ThunderByte » 26.05.2015 13:08:42

Danke, das wusste ich bereits :D
Wie gesagt, ich möchte, dass das "automatisiert" funktioniert. So muss ich jedes Mal, wenn der User Dateien hochgeladen hat, manuell die Rechte anpassen.

debianoob
Beiträge: 3
Registriert: 26.05.2015 12:41:56

Re: Berechtigungen für neu erstellte Dateien

Beitrag von debianoob » 26.05.2015 13:12:30

Zuletzt geändert von debianoob am 26.05.2015 13:12:53, insgesamt 1-mal geändert.

Benutzeravatar
Prometheuss
Beiträge: 158
Registriert: 10.02.2015 21:45:52

Re: Berechtigungen für neu erstellte Dateien

Beitrag von Prometheuss » 26.05.2015 13:12:53

ahhhhhhhh, okay. jetzt weiß ich was du willst :D
stell die frage lieber nochmal beim "serverbereich" oder warte hier einfach weiter bis jemand dein ruf erhört, ich will mich jetzt nicht zu weit aus dem fenster lehnen, da ich mit nem eigenen FTP-server noch nie die Ehre hatte..
sorry :?
~ein Teil dieser Antwort könnte sie verunsichern.

ThunderByte
Beiträge: 66
Registriert: 04.10.2014 09:36:16

Re: Berechtigungen für neu erstellte Dateien

Beitrag von ThunderByte » 26.05.2015 13:13:34

Per Cron ist das irgendwie "unschön".
Kann man es nicht irgendwie so ähnlich machen wie per Umask?

Benutzeravatar
smutbert
Beiträge: 8350
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Berechtigungen für neu erstellte Dateien

Beitrag von smutbert » 26.05.2015 13:20:44

Grundsätzlich wirkt sich umask auf Dateien und Verzeichnisse gleichermassen aus. Nur bleibt das letzte Wort beim Festlegen der Berechtigungen neu angelegter Dateien und Verzeichnisse bei dem Programm, das diese anlegt:

Code: Alles auswählen

$ umask 0000
$ ls
hello-world.c
$ touch testfile
$ gcc hello-world.c 
$ ls -l
insgesamt 12
-rwxrwxrwx 1 smutbert smutbert 6672 Mai 26 13:02 a.out
-rw-r----- 1 smutbert smutbert   82 Mai 26 13:00 hello-world.c
-rw-rw-rw- 1 smutbert smutbert    0 Mai 26 13:02 testfile
Ein ausführbares Programm wird also nach dem festlegen von umask von gcc durchaus mit den gewünschten Rechten angelegt, touch dagegen legt eine leere Datei ohne ausführbare Rechte an, genauso wie es Ausgabeumleitungen in Dateien und ähnliches in bash machen würden.
Ich halte dieses Verhalten für durchaus sinnvoll und ändern kannst du es wohl nur indem du entweder die verwendeten Programme änderst (touch, bash, oder was auch immer). Ich habe es jedenfalls auf die Schnelle nicht einmal geschafft das von dir gewünschte Verhalten mit einer Default-ACL des Verzeichnisses zu erreichen, aber vielleicht hast du mehr Glück:
- http://wiki.ubuntuusers.de/ACL
- http://www.mpipks-dresden.mpg.de/~muell ... 28s03.html

ThunderByte
Beiträge: 66
Registriert: 04.10.2014 09:36:16

Re: Berechtigungen für neu erstellte Dateien

Beitrag von ThunderByte » 26.05.2015 13:22:00

Also ich habe gelesen, dass Verzeichnisse per Umask maximal die Rechte 777 bekommen können, Dateien hingegen jedoch nur 666

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: Berechtigungen für neu erstellte Dateien

Beitrag von uname » 26.05.2015 13:27:27

Müssen bzw. können die Dateien denn überhaupt ausgeführt werden? Denn nur dann macht 777 anstatt von 666 wirklich Sinn. Ich denke bei einem Webserver ist das eher nicht der Fall. Selbst PHP-Programme die aus Webserver-Sicht schon irgendwie ausführbar sind haben keine Ausführrechte. Wobei ich generell den Upload von ausführbaren Dateien aus Sicherheitsgründen wohl gleich unterbinden würde. Das geht aber wohl nur über entsprechende Suffix-Listen und nicht über die Dateiberechtigungen. Das wäre aber wohl ein anderes Thema.

ThunderByte
Beiträge: 66
Registriert: 04.10.2014 09:36:16

Re: Berechtigungen für neu erstellte Dateien

Beitrag von ThunderByte » 26.05.2015 13:28:12

Ja, 777 ist notwendig

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: Berechtigungen für neu erstellte Dateien

Beitrag von uname » 26.05.2015 13:28:30

Ja, 777 ist notwendig
Und warum? Beispiel? Vielleicht musst du Scripte wie z.B. http://tutorialzine.com/2013/05/mini-aj ... pload-form verwenden, wo du nachgelagert die Rechte einfach ändern kannst.
Zuletzt geändert von uname am 26.05.2015 13:29:31, insgesamt 1-mal geändert.

ThunderByte
Beiträge: 66
Registriert: 04.10.2014 09:36:16

Re: Berechtigungen für neu erstellte Dateien

Beitrag von ThunderByte » 26.05.2015 13:29:14

Ich habe es getestet, die Dateien lassen sich nur "importieren" wenn die Dateien die Rechte 777 haben.

Benutzeravatar
Meillo
Moderator
Beiträge: 9267
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Berechtigungen für neu erstellte Dateien

Beitrag von Meillo » 26.05.2015 13:30:58

ThunderByte hat geschrieben:Also ich habe gelesen, dass Verzeichnisse per Umask maximal die Rechte 777 bekommen können, Dateien hingegen jedoch nur 666
So sehe ich das auch. Das sind die Ausgangsrechte, ueber die noch die umask gelegt wird. Was dann dabei raus kommt, das sind die tatsaechlichen Rechte einer neuen Datei.

Das gcc-Beispiel passt nicht, da gcc die Ergebnisdatei ausfuehrbar macht, mit einem separaten chmod(2)-Aufruf oder via drittem Argument von open(2) (was man vermutlich mit strace sehen kann).

Ich kenne keine Moeglichkeit, das Problem von ThunderByte so zu loesen wie er es haben will ... ausser man wuerde den Kernel patchen und neu backen.
Use ed once in a while!

ThunderByte
Beiträge: 66
Registriert: 04.10.2014 09:36:16

Re: Berechtigungen für neu erstellte Dateien

Beitrag von ThunderByte » 26.05.2015 13:31:38

Hmm..

Benutzeravatar
Meillo
Moderator
Beiträge: 9267
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Berechtigungen für neu erstellte Dateien

Beitrag von Meillo » 26.05.2015 13:32:08

ThunderByte hat geschrieben:Ich habe es getestet, die Dateien lassen sich nur "importieren" wenn die Dateien die Rechte 777 haben.
Das ist halt das eigentliche Problem ... :?
Use ed once in a while!

ThunderByte
Beiträge: 66
Registriert: 04.10.2014 09:36:16

Re: Berechtigungen für neu erstellte Dateien

Beitrag von ThunderByte » 26.05.2015 13:32:40

Ok.. Ich danke euch..

uname
Beiträge: 12474
Registriert: 03.06.2008 09:33:02

Re: Berechtigungen für neu erstellte Dateien

Beitrag von uname » 26.05.2015 13:35:23

Nachtrag:

http://tutorialzine.com/2013/05/mini-aj ... load-form/

Anpassung upload.php:

Code: Alles auswählen

    if(move_uploaded_file($_FILES['upl']['tmp_name'], 'files/'.$_FILES['upl']['name'])){
        echo '{"status":"success"}';
        chmod ('files/'.$_FILES['upl']['name'], 0777);
        exit;
    }
Nicht schön aber wird funktionieren. Kannst auch mehrere Dateien hochladen. Aber immer nur in einem Ordner. Vielleicht hilft es. Auch brauchst du dann kein FTP.

Antworten