Man page - setpriv(1)

Packages contains this manual

Available languages:

en uk ro sr de

Manual

SETPRIV

НАЗИВ
УВОД
ОПИС
ОПЦИЈЕ
БЕЛЕШКЕ
ПРИМЕРИ
АУТОРИ
ПОГЛЕДАЈТЕ ТАКОЂЕ
ПРИЈАВЉИВАЊЕ ГРЕШАКА
ДОСТУПНОСТ

НАЗИВ

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/>.