mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-25 20:19:18 -05:00
doc: Expand ‘setuid-root’-only references.
* doc/guix.texi (Setuid Programs, Service Reference): Don't assume setuid-root as the only possibility.
This commit is contained in:
parent
3783a7b8e4
commit
7fe382892a
1 changed files with 10 additions and 9 deletions
|
@ -339,7 +339,7 @@ System Configuration
|
||||||
* Keyboard Layout:: How the system interprets key strokes.
|
* Keyboard Layout:: How the system interprets key strokes.
|
||||||
* Locales:: Language and cultural convention settings.
|
* Locales:: Language and cultural convention settings.
|
||||||
* Services:: Specifying system services.
|
* Services:: Specifying system services.
|
||||||
* Setuid Programs:: Programs running with root privileges.
|
* Setuid Programs:: Programs running with elevated privileges.
|
||||||
* X.509 Certificates:: Authenticating HTTPS servers.
|
* X.509 Certificates:: Authenticating HTTPS servers.
|
||||||
* Name Service Switch:: Configuring libc's name service switch.
|
* Name Service Switch:: Configuring libc's name service switch.
|
||||||
* Initial RAM Disk:: Linux-Libre bootstrapping.
|
* Initial RAM Disk:: Linux-Libre bootstrapping.
|
||||||
|
@ -15414,7 +15414,7 @@ instance to support new system services.
|
||||||
* Keyboard Layout:: How the system interprets key strokes.
|
* Keyboard Layout:: How the system interprets key strokes.
|
||||||
* Locales:: Language and cultural convention settings.
|
* Locales:: Language and cultural convention settings.
|
||||||
* Services:: Specifying system services.
|
* Services:: Specifying system services.
|
||||||
* Setuid Programs:: Programs running with root privileges.
|
* Setuid Programs:: Programs running with elevated privileges.
|
||||||
* X.509 Certificates:: Authenticating HTTPS servers.
|
* X.509 Certificates:: Authenticating HTTPS servers.
|
||||||
* Name Service Switch:: Configuring libc's name service switch.
|
* Name Service Switch:: Configuring libc's name service switch.
|
||||||
* Initial RAM Disk:: Linux-Libre bootstrapping.
|
* Initial RAM Disk:: Linux-Libre bootstrapping.
|
||||||
|
@ -35755,22 +35755,23 @@ Extra command line options for @code{nix-service-type}.
|
||||||
@section Setuid Programs
|
@section Setuid Programs
|
||||||
|
|
||||||
@cindex setuid programs
|
@cindex setuid programs
|
||||||
Some programs need to run with ``root'' privileges, even when they are
|
@cindex setgid programs
|
||||||
|
Some programs need to run with elevated privileges, even when they are
|
||||||
launched by unprivileged users. A notorious example is the
|
launched by unprivileged users. A notorious example is the
|
||||||
@command{passwd} program, which users can run to change their
|
@command{passwd} program, which users can run to change their
|
||||||
password, and which needs to access the @file{/etc/passwd} and
|
password, and which needs to access the @file{/etc/passwd} and
|
||||||
@file{/etc/shadow} files---something normally restricted to root, for
|
@file{/etc/shadow} files---something normally restricted to root, for
|
||||||
obvious security reasons. To address that, these executables are
|
obvious security reasons. To address that, @command{passwd} should be
|
||||||
@dfn{setuid-root}, meaning that they always run with root privileges
|
@dfn{setuid-root}, meaning that it always runs with root privileges
|
||||||
(@pxref{How Change Persona,,, libc, The GNU C Library Reference Manual},
|
(@pxref{How Change Persona,,, libc, The GNU C Library Reference Manual},
|
||||||
for more info about the setuid mechanism).
|
for more info about the setuid mechanism).
|
||||||
|
|
||||||
The store itself @emph{cannot} contain setuid programs: that would be a
|
The store itself @emph{cannot} contain setuid programs: that would be a
|
||||||
security issue since any user on the system can write derivations that
|
security issue since any user on the system can write derivations that
|
||||||
populate the store (@pxref{The Store}). Thus, a different mechanism is
|
populate the store (@pxref{The Store}). Thus, a different mechanism is
|
||||||
used: instead of changing the setuid bit directly on files that are in
|
used: instead of changing the setuid or setgid bits directly on files that
|
||||||
the store, we let the system administrator @emph{declare} which programs
|
are in the store, we let the system administrator @emph{declare} which
|
||||||
should be setuid root.
|
programs should be entrusted with these additional privileges.
|
||||||
|
|
||||||
The @code{setuid-programs} field of an @code{operating-system}
|
The @code{setuid-programs} field of an @code{operating-system}
|
||||||
declaration contains a list of @code{<setuid-program>} denoting the
|
declaration contains a list of @code{<setuid-program>} denoting the
|
||||||
|
@ -38000,7 +38001,7 @@ pointing to the given file.
|
||||||
@defvr {Scheme Variable} setuid-program-service-type
|
@defvr {Scheme Variable} setuid-program-service-type
|
||||||
Type for the ``setuid-program service''. This service collects lists of
|
Type for the ``setuid-program service''. This service collects lists of
|
||||||
executable file names, passed as gexps, and adds them to the set of
|
executable file names, passed as gexps, and adds them to the set of
|
||||||
setuid-root programs on the system (@pxref{Setuid Programs}).
|
setuid and setgid programs on the system (@pxref{Setuid Programs}).
|
||||||
@end defvr
|
@end defvr
|
||||||
|
|
||||||
@defvr {Scheme Variable} profile-service-type
|
@defvr {Scheme Variable} profile-service-type
|
||||||
|
|
Loading…
Reference in a new issue