On Tuesday 27 December 2016 07:28:58 Xen wrote: > Nicolas George schreef op 23-12-2016 9:32: > > Le tridi 3 nivôse, an CCXXV, Xen a écrit : > >> I think my point was more that I didn't know how to chgrp, but I > >> found I > >> needed to add myself to www-data first before I could chgrp to it. > > > > Just a basic sanity check: > > > > If your web server is running as www-data, then it is better if the > > files do NOT belong to that user and/or group. For the group, it > > does not matter much, but for the user it is very important. > > That's the problem I've had with dokuwiki (and other such programs). > > Since they create lost of files those programs typically create those > files as the user the webserver is running as, which would typically > be www-data. Sometimes you want to be able those files directly as a > user outside of the application (which is typically the case for me) > so how do you give access to those files as your user? > > That's rather hard?
Uhh, no. Add yourself to the www-data group. > > But any program running under any (limited) user does not have rights > to chown to another user. What remains is either something filessytem > specific (inheritance through setfacl, if that works) or some service > that keeps chowning files in the background. > > Which may even be the nicest solution in the end because you are in > full control of something like that and do not depend on the proper > functioning of the server. Call it a quick solution that works. > > So what you then would get -- but I know no other solution as of now > -- is that you service/daemon is just going to chown stuff to your > regular user with www-data as the group, and if the webserver needs > write access to the files it just created (which it probably does) you > give g+w to it. > > Those are not program files, just data, but not all server > (applications) exclusively use a database. > > The same applies to OwnCloud and I'm the kind of person that likes to > do stuff outside of control of the application because the application > may be severely limited in moving data around or importing data. > > So the solution each time seems to be to ensure that the files are > owned by your regular user and given g+w to the group which is then > www-data, in this case. It can also be the reverse: don't touch the > ownership but give all files g+w to your own user who is part of > www-data. > > I guess it depends on how "personal" you want to make those files but > you need to do this anyway. For these packages the program files are > just sitting in /usr/share, that is not an issue. > > But /var/lib/xxx is not a very "user servicable" directory. That is > not a place you easily go to (as a shell user, and not at all as a GUI > user either) so in order to keep your data manageable to your own > person and separate from the rest of the system you have to give it a > better location anyway, whether it be /data, or /srv, or even some > home directory of some kind (not recommended in this case I guess). So > supposing you end up with /srv/owncloud you really want all those > files to become owned by your regular user and the group that it > already had + g+w. Or just do g+w while you are in www-data. > > I haven't checked those applications but in general since they cannot > chown anyway I assume that this works: > > chmod g+s will retain group ownership from the containing directory > setfacl -d -m g::rwx will make everything group writable. > > Also on the containing directory. I don't consider these acl > permissions to be so great, but that's just me you know. They stand so > apart from the regular permissions we have, almost superseding it > completely. > > The only alternative is a service that will retain these permissions > after the fact (triggered by some event or some watch daemon) but I > think changing these web applications is really "onbegonnen werk" as > we say in Dutch (work that seems so endless that there is no use even > beginning it). I think it is also safer to retain ownership and > control of that yourself (so you can pick and choose). > > Besides this is in this case only about group permissions and the > webserver already has write access in this case. It's just about your > user also being able to manipulate it. > > And only applies to filesystem data and files created by the web > application on disk. > > It would be nice to have a better sense of "who owns what" in any > case. I feel the gap between the administrator and the regular user is > too big, but that's just me. I think it would be helpful if it was > easier to place user data (such as wiki data) more under control of > the regular user. Something like.... ordinarily, something like > Dokuwiki is a very personal thing, not something big or site-wide. > > But we require usually (as per the package at least) site-wide servers > to run it. Not a very good combination in my idea. Maybe running it AS > your personal user would be a better idea but that is more work and is > perhaps, as said here, also not ideal. Personally I am probably going > to implement one of the above. I think SystemD makes it very easy to > watch a directory right? > > But maybe I will just do it on my own :p. Having services for the > automatic correction of user and file permissions wouldn't be so bad. > > Anyway, those are just my thoughts alright. Cheers, Gene Heskett -- "There are four boxes to be used in defense of liberty: soap, ballot, jury, and ammo. Please use in that order." -Ed Howdershelt (Author) Genes Web page <http://geneslinuxbox.net:6309/gene>