Giter Club home page Giter Club logo

Comments (6)

jonboulle avatar jonboulle commented on July 17, 2024

ah, thanks for reminding me about this, I was intending to file an issue. I
think we should be able to just split this out and use ExtractTarChroot iff
euid == 0, and ExtractTar otherwise?

On Wed, Oct 14, 2015 at 11:12 AM, Derek Gonyeo [email protected]
wrote:

The ExpandTar function untars the ACI in a chroot, which requires root
permissions to set up.


Reply to this email directly or view it on GitHub
#35.

from build.

alban avatar alban commented on July 17, 2024

If a regular non-root user bob wants to build an ACI that contains files belonging to someone else than bob, the tar create/extract functions must be able to ignore the file ownership in the .acbuild directory, and instead acbuild must have a separate database of files' ownerships.

Basically this is what FakeRoot does but since we control the tar library from go, we don't need this kind of LD_PRELOAD trick.

The tar writer BuildWalker used by End already has a callback that can be used to change the files ownership in the tarball (added by appc/spec#498). But for the tar reader part (extract), I don't know if rkt/pkg/tar (rkt/rkt#1616) should grow this kind of feature or if it should be implemented directly in acbuild?

from build.

alban avatar alban commented on July 17, 2024

Also, ExpandTar can only extract to /: see how it is hardcoded: filepath.Join("/", hdr.Name). This is ok for rkt but does not really fit acbuild's requirements.

from build.

jonboulle avatar jonboulle commented on July 17, 2024

@alban my proposal here

from build.

jonboulle avatar jonboulle commented on July 17, 2024

@dgonyeo is this done now?

from build.

cgonyeo avatar cgonyeo commented on July 17, 2024

Nope, I still need to make a PR to make use of the new ExtractTarInsecure function. I'll get around to it in the near future.

from build.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.