[EMAIL PROTECTED] (Jacques Gelinas) writes: >> * provide secure vrpm/vapt-get wrappers which will be executed outside >> of the vserver and will not depend on content within the vserver. This >> is finished to 80% and in the CVS tree. > > Package updates have to be done inside a vserver context. Unless you > do that malicious scripts in the package may break the integrity of > the root server.
This is solved with overloading rpm's execv() with an LD_PRELOAD wrapper. This wrapper changes the context and removes capabilities before doing the real execv(). See [1] for the wrapper itself, and vapt-get*, vrpm* and functions in [2] for the tools using it. Stuff like using other (older) versions of rpm is supported also. Enrico Footnotes: [1] http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/src/rpm-fake.c?rev=HEAD&content-type=text/vnd.viewcvs-markup [2] http://savannah.nongnu.org/cgi-bin/viewcvs/util-vserver/util-vserver/scripts/
