all options
buster  ] [  bullseye  ] [  bookworm  ] [  trixie  ] [  sid  ]
[ Source: gosu  ]

Package: gosu (1.14-1 and others)

Links for gosu

Screenshot

Debian Resources:

Download Source Package gosu:

Maintainers:

External Resources:

Similar packages:

Simple Go-based setuid setgid setgroups exec

This is a simple tool grown out of the simple fact that "su" and "sudo" have very strange and often annoying TTY and signal-forwarding behavior. They're also somewhat complex to setup and use (especially in the case of "sudo"), which allows for a great deal of expressivity, but falls flat if all you need is "run this specific application as this specific user and get out of the pipeline".

The core of how "gosu" works is stolen directly from how Docker/libcontainer itself starts an application inside a container (and in fact, is using the "/etc/passwd" processing code directly from libcontainer's codebase).

Once the user/group is processed, we switch to that user, then we "exec" the specified process and "gosu" itself is no longer resident or involved in the process lifecycle at all. This avoids all the issues of signal passing and TTY, and punts them to the process invoking "gosu" and the process being invoked by "gosu", where they belong.

Download gosu

Download for all available architectures
Architecture Version Package Size Installed Size Files
amd64 1.14-1 b10 748.3 kB2,185.0 kB [list of files]
arm64 1.14-1 b10 647.3 kB2,225.0 kB [list of files]
armel 1.14-1 b10 674.8 kB2,204.0 kB [list of files]
armhf 1.14-1 b10 668.2 kB2,140.0 kB [list of files]
i386 1.14-1 b10 734.6 kB2,091.0 kB [list of files]
mips64el 1.14-1 b10 611.4 kB2,499.0 kB [list of files]
mipsel 1.14-1 b10 622.3 kB2,408.0 kB [list of files]
ppc64el 1.14-1 b10 639.6 kB2,161.0 kB [list of files]
s390x 1.14-1 b10 682.5 kB2,353.0 kB [list of files]