Man page - setpriv(1)
Packages contains this manual
- getopt(1)
- x86_64(8)
- zramctl(8)
- findfs(8)
- blockdev(8)
- ipcmk(1)
- linux64(8)
- ldattach(8)
- findmnt(8)
- unshare(1)
- uclampset(1)
- partx(8)
- lscpu(1)
- flock(1)
- fallocate(1)
- setterm(1)
- terminal-colors.d(5)
- setsid(1)
- setarch(8)
- lsns(8)
- adjtime_config(5)
- chcpu(8)
- runuser(1)
- rtcwake(8)
- rev(1)
- lsipc(1)
- blkdiscard(8)
- nsenter(1)
- whereis(1)
- dmesg(1)
- fsck(8)
- blkid(8)
- ipcs(1)
- mcookie(1)
- lsblk(8)
- readprofile(8)
- switch_root(8)
- wdctl(8)
- mountpoint(1)
- lsmem(1)
- fsfreeze(8)
- i386(8)
- pivot_root(8)
- swaplabel(8)
- scols-filter(5)
- getty(8)
- chmem(8)
- chrt(1)
- agetty(8)
- blkzone(8)
- more(1)
- choom(1)
- mkswap(8)
- wipefs(8)
- taskset(1)
- lslocks(8)
- linux32(8)
- ionice(1)
- isosize(8)
- su(1)
- rename.ul(1)
- prlimit(1)
- namei(1)
- lslogins(1)
- ipcrm(1)
- fstrim(8)
- mkfs(8)
- hardlink(1)
- sulogin(8)
- setpriv(1)
apt-get install util-linux
Available languages:
en uk ro sr deManual
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/>.