Provided by: util-linux-locales_2.41-4ubuntu3_all bug

НАЗИВ

       setpriv - покреће програм са различитим поставкама Линукс привилегија

УВОД

       setpriv [опције] програм [аргументи]

ОПИС

       Поставља или пропитује разне поставке Линукс привилегија које су наслеђене кроз execve(2).

       У поређењу са su(1) и runuser(1), setpriv не користи PAM, нити тражи лозинку. То је једноставан омотач
       непостављеног корисничког ИД-а око execve(2) и може се користити за одбацивање привилегија на исти начин
       као setuidgid(8) из daemontools, chpst(8) из runit, или сличних алата које испоручују други управници
       услуга.

ОПЦИЈЕ

       --clear-groups
           Чисти додатне групе.

       -d, --dump
           Избацује текуће стање привилегије. Ова опција се може навести више од једном да покаже додатне,
           углавном корисне, информације. Несагласна са свим другим опцијама.

       --groups корисник...
           Поставља додатне групе. Аргумент је зарезом раздвојен списак ГИД-ова или назива.

       --inh-caps (+|-)могућн..., --ambient-caps (+|-)могућн..., --bounding-set (+|-)могућн...
           Поставља наследне могућности, амбијенталне могућности или гранични скуп могућности. Погледајте
           capabilities(7). Аргумент је зарезима раздвојен списак уноса +cap и -cap, који додају или уклањају
           унос. cap може бити или човеку читљив назив као што се види у capabilities(7) без префикса cap_ или у
           формату cap_N, где је N унутрашњи индекс могућности који користи Линукс. +all и -all се могу
           користити за додавање или уклањање свих могућности.

           Скуп могућности почиње као тренутни наследни скуп за --inh-caps, тренутни амбијентални скуп за
           --ambient-caps и тренутни гранични скуп за --bounding-set.

           Знајте да следећа ограничења (описан у capabilities(7)) која се односе на изменама ових могућности
           постављају:

           •   Могућност се може додати наследном скупу само ако је тренутно присутна у граничном скупу.

           •   Могућност се може додати амбијенталном скупу само ако је тренутно присутна и у дозвољеном и у
               наследном скупу.

           •   Без обзира на синтаксу коју нуди setpriv, кернел не дозвољава додавање могућности у гранични
               скуп.

       Ако избаците могућност из граничног скупа, а да је не избаците и из наследног скупа, вероватно ћете
       постати збуњени. Не радите то.

       --keep-groups
           Очувава додатне групе. Корисно је само у конјункцији са --rgid, --egid, или --regid.

       --init-groups
           Започиње додатне групе користећи „initgroups3“. Корисна је само у конјункцији са --ruid или --reuid.

       --list-caps
           Исписује све познате могућности. Ова опција мора бити наведена сама.

       --no-new-privs
           Поставља бит no_new_privs. Са овим битом постављеним, execve(2) неће гарантовати нове привилегије. На
           пример, битови постави-ИД-корисника и постави-ИД-групе, као и могућности датотеке биће онемогућени.
           (Извршавање бинарних датотека са овим битовима постављеним ће и даље радити, али неће добити
           привилегије. Одређени LSM-ови, посебно AppArmor, могу довести до неуспеха у извршавању одређених
           програма.) Овај бит наслеђују подређени процеси и не може се поништити. Погледајте prctl(2) и
           Documentation/prctl/no_new_privs.txt у извору Линукс кернела.

           не_нове_привил бит је подржан још од Линукса 3.5.

       --rgid гид, --egid гид, --regid гид
           Поставља стварни, ефективни, или оба ГИД-а. Аргумент гид се може дати као текстуални назив групе.

           Због безбедности, морате навести --clear-groups, --groups, --keep-groups, или --init-groups ако
           поставите неки примарни гид.

       --ruid уид, --euid уид, --reuid уид
           Поставља стварни, ефективни, или оба УИД-а. Аргумент уид се може дати као текстуални назив пријаве.

           Постављање уид-а или гид-а не мења могућности, иако позив извршавања на крају може променити
           могућности. То значи да, ако сте администратор, вероватно желите да урадите нешто попут:

           setpriv --reuid=1000 --regid=1000 --inh-caps=-all

       --securebits (+|-)безбедносни-бит...
           Поставља или брише битове безбедности. Аргумент је зарезима раздвојен списак. Исправни битови
           безбедности су noroot, noroot_locked, no_setuid_fixup, no_setuid_fixup_locked, и keep_caps_locked.
           keep_caps је избрисан од стране execve-а(2) и стога није дозвољен.

       --pdeathsig keep|clear|<сигнал>
           Задржава, брише или поставља родитељски сигнал смрти. Неки LSM-ови, пре свега СЕЛинукс и AppArmor,
           бришу сигнал када се креденцијали процеса промене. Коришћење --pdeathsig keep ће повратити родитељски
           сигнал смрти након промене креденцијала да би се поправила та ситуација.

       --ptracer pid|any|none
           When Yama’s restricted ptrace mode is in effect (that is, when /proc/sys/kernel/yama/ptrace_scope is
           set to 1), allow being traced via ptrace(2) by the process with the specified PID, or any process, or
           no process. See PR_SET_PTRACER(2const). (Note that this is not inherited by child processes, though
           it is preserved across execve(2).) This option has no effect when Yama is not enabled or is in a mode
           other than restricted ptrace.

       --selinux-label натпис
           Потражује одређени СЕЛинукс прелаз (користећи прелаз на „exec“-у, а не „dyntrans“-у). Ово неће успети
           и проузроковаће прекида setpriv-а ако СЕЛинукс није у употреби, а прелаз може бити занемарен или може
           довести до тога да execve(2) не успе по хиру СЕЛинукса. (Нарочито, мало је вероватно да ће ово радити
           заједно са no_new_privs.) Ово је слично са runcon(1).

       --apparmor-profile профил
           Потражује одређени AppArmor профил (користећи прелаз на извршавању). Ово неће успети и довести до
           тога да setpriv прекине ако се AppArmor не користи, а прелаз може бити занемарен или довести до тога
           да execve(2) не успе по жељи AppArmor-а.

       --landlock-access приступ
           Укључује „landlock“ ограничења за одређени скуп системских приступа. Да омогућите одређене подгрупе
           приступа користите --landlock-rule.

           Блокира приступ свим системима датотека:

           setpriv --landlock-access сд

           Блокира брисање свих датотека и стварање директоријума:

           setpriv --landlock-access сд:remove-file,make-dir

           За потпун скуп подржаних категорија приступа користите setpriv --help.

       --landlock-rule правило
           Допушта један посебан приступ из категорија блокираних са --landlock-access.

           Синтакса је као што следи:

           --landlock-rule $врста_правила:$приступ:$аргумент_правила

           На пример гарантује приступ читања датотеке свему под /boot:

           --landlock-rule путања-под:датотека-читања:/boot

       --seccomp-filter file
           Load raw BPF seccomp filter code from a file.

           Filters can for example be created with enosys.

       --reset-env
           Брише све променљиве окружења осим ТЕРМ; покреће променљиве окружења ЛИЧНА, ШКОЉКА, КОРИСНИК,
           ИМЕ_ПРИЈАВЕ у складу са уносом лозинке корисника; поставља ПУТАЊУ на /usr/local/bin:/bin:/usr/bin за
           обичног корисника и на /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin за
           администратора.

           Променљива окружења ПУТАЊА може бити другачија на системима где су /bin и /sbin стопљени у /usr.
           Променљива окружења ШКОЉКА подразумева /bin/sh ако није дата ниједна у корисничком уносу лозинке.

       -h, --help
           Приказује текст помоћи и излази.

       -V, --version
           Display version and exit.

БЕЛЕШКЕ

       Ако примена неке наведене опције не успе, програм неће бити покренут и setpriv ће резултирати излазним
       стањем 127.

       Будите опрезни са овим алатом – може имати неочекиване безбедносне последице. На пример, постављање
       no_new_privs и затим извршавање програма који је ограничен на СЕЛинукс (као што би урадио овај алат) може
       спречити да СЕЛинукс ограничења ступе на снагу.

ПРИМЕРИ

       Ако тражите понашање слично са su(1)/runuser(1), или sudo(8) (без опције -g), покушајте нешто као:

       setpriv --reuid=1000 --regid=1000 --init-groups

       Ако желите да опонашате setuid(8) позадинског алата, покушајте:

       setpriv --reuid=1000 --regid=1000 --clear-groups

АУТОРИ

       Andy Lutomirski <luto@amacapital.net>

ПОГЛЕДАЈТЕ ТАКОЂЕ

       runuser(1), su(1), prctl(2), capabilities(7) landlock(7)

ПРИЈАВЉИВАЊЕ ГРЕШАКА

       For bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>.

ДОСТУПНОСТ

       Наредба setpriv је део пакета „util-linux“ који се може преузети са Архиве Линукс кернела
       <https://www.kernel.org/pub/linux/utils/util-linux/>.

util-linux 2.41                                    2025-07-02                                         SETPRIV(1)