'\" t .\" Title: setpriv .\" Author: [see the "AUTHOR(S)" section] .\" Generator: Asciidoctor 2.0.26 .\" Date: 2026-05-18 .\" Manual: Användarkommandon .\" Source: util-linux 2.42.1 .\" Language: English .\" .TH "SETPRIV" "1" "2026-05-18" "util\-linux 2.42.1" "Användarkommandon" .ie \n(.g .ds Aq \(aq .el .ds Aq ' .ss \n[.ss] 0 .nh .ad l .de URL \fI\\$2\fP <\\$1>\\$3 .. .als MTO URL .if \n[.g] \{\ . mso www.tmac . am URL . ad l . . . am MTO . ad l . . . LINKSTYLE blue R < > .\} .SH "NAMN" setpriv \- kör ett program med olika inställningar för Linux\-privilegier .SH "SYNOPSIS" .sp \fBsetpriv\fP [flaggor] \fIprogram\fP [\fIargument\fP] .SH "BESKRIVNING" .sp Ställer in eller frågar efter olika Linux\-privilegieinställningar som ärvs av \fBexecve\fP(2). .sp I jämförelse med \fBsu\fP(1) och \fBrunuser\fP(1) använder \fBsetpriv\fP varken PAM eller frågar efter lösenord. Det är en enkel, icke\-set\-user\-ID\-omslag runt \fBexecve\fP(2), och kan användas för att släppa privilegier på samma sätt som \fBsetuidgid\fP(8) från \fBdaemontools\fP, \fBchpst\fP(8) från \fBrunit\fP, eller liknande verktyg som levereras av andra tjänstehanterare. .SH "FLAGGOR" .sp \fB\-\-clear\-groups\fP .RS 4 Tydliga tilläggsgrupper. .RE .sp \fB\-d\fP, \fB\-\-dump\fP .RS 4 Dumpa det aktuella privilegietillståndet. Denna flagga kan anges mer än en gång för att visa extra, oftast värdelös, information. Inkompatibelt med alla andra flaggor. .RE .sp \fB\-\-groups\fP \fIgrupp\fP.\|.\|. .RS 4 Ange kompletterande grupper. Argumentet är en kommaseparerad lista med GID eller namn. .RE .sp \fB\-\-inh\-caps\fP (\fB+\fP|\fB\-\fP)\fIcap\fP.\|.\|., \fB\-\-ambient\-caps\fP (\fB+\fP|\fB\-\fP)\fIcap\fP.\|.\|., \fB\-\-bounding\-set\fP (\fB+\fP|\fB\-\fP)\fIcap\fP.\|.\|. .RS 4 Ställ in de ärftliga kapaciteterna, omgivande kapaciteter eller kapacitetens avgränsande uppsättning. Se \fBcapabilities\fP(7). Argumentet är en kommaseparerad lista med \fB+\fP\fIcap\fP\- och \fB\-\fP\fIcap\fP\-poster, som lägger till respektive tar bort en post. \fIcap\fP kan antingen vara ett mänskligt läsbart namn som i \fBcapabilities\fP(7) utan prefixet \fIcap_\fP eller i formatet \fBcap_N\fP, där \fIN\fP är det interna kapacitetsindex som används av Linux. \fB+all\fP och \fB\-all\fP kan användas för att lägga till eller ta bort alla versaler. .sp Uppsättningen av funktioner börjar som den aktuella ärftliga uppsättningen för \fB\-\-inh\-caps\fP, den aktuella omgivande uppsättningen för \fB\-\-ambient\-caps\fP och den aktuella avgränsande uppsättningen för \fB\-\-bounding\-set\fP. .sp Observera följande restriktioner (som beskrivs i \fBcapabilities\fP(7)) beträffande modifieringar av dessa kapacitetsuppsättningar: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} En förmåga kan endast läggas till i den ärftliga uppsättningen om den för närvarande finns i den avgränsande uppsättningen. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} En förmåga kan endast läggas till i den omgivande uppsättningen om den för närvarande finns i både den tillåtna och den ärftliga uppsättningen. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} Trots den syntax som erbjuds av \fBsetpriv\fP tillåter inte kärnan att förmågor läggs till i den avgränsande uppsättningen. .RE .sp Om du tar bort en kapacitet från den avgränsande uppsättningen utan att samtidigt ta bort den från den ärftliga uppsättningen, kommer du sannolikt att bli förvirrad. Gör inte så. .RE .sp \fB\-\-keep\-groups\fP .RS 4 Bevara kompletterande grupper. Används endast i kombination med \fB\-\-rgid\fP, \fB\-\-egid\fP eller \fB\-\-regid\fP. .RE .sp \fB\-\-init\-groups\fP .RS 4 Initiera tilläggsgrupper med hjälp av initgroups3. Endast användbar i samband med \fB\-\-ruid\fP eller \fB\-\-reuid\fP. .RE .sp \fB\-\-list\-caps\fP .RS 4 Lista alla kända funktioner. Denna flagga måste anges ensamt. .RE .sp \fB\-\-nnp\fP, \fB\-\-no\-new\-privs\fP .RS 4 Ställ in biten \fIno_new_privs\fP. Om den här biten är aktiverad kommer \fBexecve\fP(2) inte att bevilja nya privilegier. Exempelvis kommer bitarna set\-user\-ID och set\-group\-ID samt filfunktioner att inaktiveras. (Exekvering av binärfiler med dessa bitar aktiverade kommer fortfarande att fungera, men de kommer inte att få några privilegier. Vissa LSM:er, särskilt AppArmor, kan leda till att vissa program inte kan köras) Denna bit ärvs av underordnade processer och kan inte inaktiveras. Se \fBprctl\fP(2) och \fIDocumentation/prctl/no_new_privs.txt\fP i Linux\-kärnans källkod. .sp Biten \fIno_new_privs\fP stöds sedan Linux 3.5. .RE .sp \fB\-\-rgid\fP \fIgid\fP, \fB\-\-egid\fP \fIgid\fP, \fB\-\-regid\fP \fIgid\fP .RS 4 Ange det verkliga, det effektiva eller båda GID:en. Argumentet \fIgid\fP kan anges som ett gruppnamn i textform. .sp För säkerhets skull måste du ange något av \fB\-\-clear\-groups\fP, \fB\-\-groups\fP, \fB\-\-keep\-groups\fP eller \fB\-\-init\-groups\fP om du anger någon primär \fIgid\fP. .RE .sp \fB\-\-ruid\fP \fIuid\fP, \fB\-\-euid\fP \fIuid\fP, \fB\-\-reuid\fP \fIuid\fP .RS 4 Ange det verkliga, det effektiva eller båda UID:erna. Argumentet \fIuid\fP kan anges som ett inloggningsnamn i textform. .sp Att ställa in en \fIuid\fP eller \fIgid\fP ändrar inte kapaciteten, även om exec\-anropet i slutet kan ändra kapaciteten. Det innebär att om du är root vill du förmodligen göra något i stil med: .sp \fBsetpriv \-\-reuid=1000 \-\-regid=1000 \-\-inh\-caps=\-all\fP .RE .sp \fB\-\-securebits\fP (\fB+\fP|\fB\-\fP)\fIsecurebit\fP.\|.\|. .RS 4 Ställ in eller rensa securebits. Argumentet är en kommaseparerad lista. De giltiga securebits är \fInoroot\fP, \fInoroot_locked\fP, \fIno_setuid_fixup\fP, \fIno_setuid_fixup_locked\fP och \fIkeep_caps_locked\fP. \fIkeep_caps\fP rensas av \fBexecve\fP(2) och är därför inte tillåtet. .RE .sp \fB\-\-pdeathsig keep\fP|\fBclear\fP|\fB\fP .RS 4 Behåll, rensa eller ställ in den överordnade processens dödssignal. Vissa LSM:er, framför allt SELinux och AppArmor, rensar signalen när processens autentiseringsuppgifter ändras. Om du använder \fB\-\-pdeathsig keep\fP återställs den överordnade dödssignalen efter att autentiseringsuppgifterna har ändrats för att åtgärda den situationen. .RE .sp \fB\-\-ptracer\fP \fIpid\fP|\fBany\fP|\fBnone\fP .RS 4 När Yamas begränsade ptrace\-läge är i kraft (det vill säga när \fI/proc/sys/kernel/yama/ptrace_scope\fP är satt till 1), tillåt att spåras via \fBptrace\fP(2) av processen med den angivna PID:n, eller någon process, eller ingen process. Se \fBPR_SET_PTRACER\fP(2const). (Observera att detta inte ärvs av underordnade processer, även om det bevaras över \fBexecve\fP(2)) Denna flagga har ingen effekt när Yama inte är aktiverat eller är i ett annat läge än restricted ptrace. .RE .sp \fB\-\-selinux\-label\fP \fIetikett\fP .RS 4 Begär en viss SELinux\-övergång (använder en övergång på exec, inte dyntrans). Detta kommer att misslyckas och leda till att \fBsetpriv\fP avbryts om SELinux inte används, och övergången kan ignoreras eller leda till att \fBexecve\fP(2) misslyckas om SELinux så önskar. (I synnerhet är det osannolikt att detta fungerar tillsammans med \fIno_new_privs\fP.) Detta liknar \fBruncon\fP(1). .RE .sp \fB\-\-apparmor\-profile\fP \fIprofile\fP .RS 4 Begär en viss AppArmor\-profil (med hjälp av en övergång på exec). Detta kommer att misslyckas och leda till att \fBsetpriv\fP avbryts om AppArmor inte används, och övergången kan ignoreras eller leda till att \fBexecve\fP(2) misslyckas om AppArmor så önskar. .RE .sp \fB\-\-landlock\-access\fP \fIaccess\fP .RS 4 Aktivera landlock\-begränsningar för en viss uppsättning systemåtkomster. För att tillåta specifika undergrupper av åtkomster använd \fB\-\-landlock\-rule\fP. .sp Blockera all åtkomst till filsystemet: .sp \fBsetpriv \-\-landlock\-åtkomst fs\fP .sp Blockera all radering av filer och skapande av kataloger: .sp \fBsetpriv \-\-landlock\-åtkomst fs:remove\-file,make\-dir\fP .sp För en fullständig uppsättning av åtkomstkategorier som stöds, använd \fBsetpriv \-\-help\fP. .sp The generic placeholder "fs" is subject to change and may be extended in future versions to support new access types. .RE .sp \fB\-\-landlock\-rule\fP \fIrule\fP .RS 4 Tillåt en specifik åtkomst från de kategorier som blockeras av \fB\-\-landlock\-access\fP. .sp Syntaxen är som följer: .sp \fB\-\-landlock\-rule $ruletype:$access:$rulearg\fP .sp Ge t.ex. läsåtkomst till allt under \fB/boot\fP: .sp \fB\-\-landlock\-rule path\-beneath:read\-file:/boot\fP .RE .sp \fB\-\-seccomp\-filter\fP \fIfil\fP .RS 4 Ladda rå BPF seccomp filterkod från en fil. .sp Filter kan t.ex. skapas med \fBenosys\fP. .RE .sp \fB\-\-reset\-env\fP .RS 4 .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} clears all the environment variables except \fBTERM\fP environment variable .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} initializes the environment variables \fBHOME\fP, \fBSHELL\fP, \fBUSER\fP, \fBLOGNAME\fP according to the user\(cqs passwd entry .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} the environment variable \fBSHELL\fP defaults to \fB/bin/sh\fP if none is given in the user\(cqs passwd entry. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ . sp -1 . IP \(bu 2.3 .\} resets \fBPATH\fP environment variable according to setting in \fI/etc/login.defs\fP (\fBENV_PATH\fP, \fBENV_SUPATH\fP or \fBENV_ROOTPATH\fP variables), or defaults to \fI/usr/local/bin:/bin:/usr/bin\fP for a regular user and to \fI/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin\fP for root. .sp The environment variable \fBPATH\fP may be different on systems where \fI/bin\fP and \fI/sbin\fP are merged into \fI/usr\fP. .RE .RE .sp \fB\-h\fP, \fB\-\-help\fP .RS 4 Visa hjälptext och avsluta. .RE .sp \fB\-V\fP, \fB\-\-version\fP .RS 4 Visa version och avsluta. .RE .SH "ANTECKNINGAR" .sp Om tillämpningen av någon av de angivna flaggorna misslyckas kommer \fIprogram\fP inte att köras och \fBsetpriv\fP kommer att returneras med utgångsstatus 127. .sp Var försiktig med det här verktyget \- det kan få oväntade konsekvenser för säkerheten. Om du till exempel ställer in \fIno_new_privs\fP och sedan kör ett program som är SELinux\-begränsat (som det här verktyget skulle göra) kan det hända att SELinux\-begränsningarna inte träder i kraft. .SH "EXEMPEL" .sp Om du vill ha ett beteende som liknar \fBsu\fP(1)/\fBrunuser\fP(1) eller \fBsudo\fP(8) (utan flaggan \fB\-g\fP) kan du prova något liknande: .sp \fBsetpriv \-\-reuid=1000 \-\-regid=1000 \-\-init\-groups\fP .sp Om du vill efterlikna daemontools \fBsetuid\fP(8) kan du prova: .sp \fBsetpriv \-\-reuid=1000 \-\-regid=1000 \-\-clear\-groups\fP .SH "UPPHOVSPERSONER" .sp .MTO "luto\(atamacapital.net" "Andy Lutomirski" "" .SH "SE ÄVEN" .sp \fBrunuser\fP(1), \fBsu\fP(1), \fBprctl\fP(2), \fBcapabilities\fP(7), \fBlandlock\fP(7) .SH "FELRAPPORTERING" .sp För felrapporter, använd \c .URL "https://github.com/util\-linux/util\-linux/issues" "felhanteraren" "." .SH "TILLGÄNGLIGHET" .sp Kommandot \fBsetpriv\fP ingår i paketet util\-linux som kan hämtas från \c .URL "https://www.kernel.org/pub/linux/utils/util\-linux/" "Linux Kernel Archive" "."