Пакет: libcap
- Версия
- 2.75
- Релиз
- 1.niceos5
- Архитектура
- x86_64
- Хэш GOST
- 7a922f353e810faec13c9a31fb1204cbeb24b969b3469981f8730fd9f362e8a5
- Хэш MD5
- 8eaa747e39cbf0e06d9a7815fc9e15bf
- Хэш SHA256
- 9cd26821d0abffcb15b7502dfe406c0026db112864fedad200835cd7aab42464
- Лицензия
- GPLv2+
- Дата сборки
- 12 мая 2025 г.
- Размер
- 1,99 ГиБ
- Совместимые ОС
- rpm файл:
- libcap-2.75-1.niceos5.x86_64.rpm
Подпакеты
| Имя | Краткое описание |
|---|---|
| libcap-devel | Описание отсутствует |
| lib32-libcap | 32-битные библиотеки для libcap |
Зависимости
| Имя | Тип | Версия |
|---|---|---|
| libc.so.6()(64bit) | runtime | - |
| libc.so.6(GLIBC_2.14)(64bit) | runtime | - |
| libc.so.6(GLIBC_2.2.5)(64bit) | runtime | - |
| libc.so.6(GLIBC_2.3)(64bit) | runtime | - |
| libc.so.6(GLIBC_2.3.3)(64bit) | runtime | - |
| libc.so.6(GLIBC_2.33)(64bit) | runtime | - |
| libc.so.6(GLIBC_2.34)(64bit) | runtime | - |
| libc.so.6(GLIBC_2.38)(64bit) | runtime | - |
| libc.so.6(GLIBC_2.4)(64bit) | runtime | - |
| libcap.so.2()(64bit) | runtime | - |
| rtld(GNU_HASH) | runtime | - |
Граф зависимостей
История изменений
| Дата | Автор | Сообщение |
|---|---|---|
| 1 апр. 2025 г. | Stanislav Belikov <sbelikov@ncsgp.ru> | Первая сборка для libcap |
Файлы пакета
-
-
- /usr/lib/libcap.so.2 14 Б
- /usr/lib/libcap.so.2.75 52,078 КиБ
- /usr/lib/libpsx.so.2 14 Б
- /usr/lib/libpsx.so.2.75 20,688 КиБ
-
-
- /usr/sbin/capsh 60,477 КиБ
- /usr/sbin/captree 1,803 МиБ
- /usr/sbin/getcap 16,367 КиБ
- /usr/sbin/getpcaps 16,359 КиБ
- /usr/sbin/setcap 16,672 КиБ
-
-
-
-
- /usr/share/man/man1/capsh.1.gz 3,759 КиБ
-
-
- /usr/share/man/man8/captree.8.gz 1,209 КиБ
- /usr/share/man/man8/getcap.8.gz 949 Б
- /usr/share/man/man8/getpcaps.8.gz 827 Б
- /usr/share/man/man8/pam_cap.8.gz 1,396 КиБ
- /usr/share/man/man8/setcap.8.gz 997 Б
-
-
-
-
Документация (man-страницы)
CAPSH(1) Команды пользователя CAPSH(1)
NAME
capsh - оболочка-обёртка для возможностей
SYNOPSIS
capsh [OPTION]...
DESCRIPTION
Поддержка и использование возможностей Linux можно исследовать и ограничивать с помощью этого инструмента. Этот инструмент предоставляет удобную обёртку для определённых типов тестирования возможностей и создания среды. Он также включает некоторые функции отладки, полезные для суммирования состояния возможностей.
OPTIONS
capsh принимает несколько необязательных аргументов и действует на них в порядке их предоставления. Они следующие:
--help Вывести список команд, поддерживаемых capsh.
--print
Вывести текущие возможности и связанное состояние.
--current
Вывести текущее состояние возможностей, то есть возможности и вектор IAB.
-- [args]
Выполнить /bin/bash с последующими аргументами. Обратите внимание, вы можете использовать -c 'command to execute' для выполнения конкретных команд.
-+ [args]
Использовать cap_launch(3) для создания дочернего процесса, выполняющего оболочку. Когда дочерний процесс завершается, capsh завершается со статусом дочернего процесса или 1 в случае, если дочерний процесс был прерван сигналом.
== [args]
Выполнить capsh заново с остальными аргументами. Полезно для тестирования поведения exec(). Обратите внимание, что при поиске PATH используется путь, по которому был найден запущенный capsh. Если exec() происходит после аргумента --chroot=/some/path, то двоичный файл, найденный по PATH, может не соответствовать исходному. Это поведение является намеренным, так как оно может завершить переход chroot.
=+ [args]
Использовать cap_launch(3) для создания дочернего процесса, перезапускающего capsh. Когда этот дочерний процесс завершается, capsh завершается со статусом дочернего процесса или 1 в случае, если дочерний процесс был прерван сигналом.
--caps=cap-set
Установить текущие возможности процесса в соответствии с теми, что указаны в cap-set. Где cap-set — текстовое представление состояния возможностей, как в cap_from_text(3).
--drop=cap-list
Удалить перечисленные возможности из текущего bounding-набора. Возможности — это список, разделённый запятыми, как распознаётся функцией cap_from_name(3). Для использования этой функции capsh должен работать с CAP_SETPCAP в своём эффективном наборе.
--inh=cap-list
Установить набор наследуемых возможностей для текущего процесса в соответствии с теми, что предоставлены в списке, разделённом запятыми. Для успешного выполнения этого действия, текущий процесс должен уже иметь каждую из этих возможностей в объединении текущих наследуемых и разрешённых наборов возможностей, или capsh должен работать с CAP_SETPCAP в своём эффективном наборе.
--user=username
Принять идентичность указанного пользователя. То есть, получить UID и GID пользователя с помощью getpwuid(3) и их группы с помощью getgrouplist(3), а затем установить их все с помощью cap_setuid(3) и cap_setgroups(3). После этой команды эффективные возможности будут очищены, но разрешённый набор не будет, поэтому запущенная программа всё ещё будет привилегированной.
--mode Вывести предполагаемый режим libcap с помощью функции cap_get_mode(3).
--mode=<mode>
Принудительно установить программу в режим безопасности cap_set_mode(3). Это набор securebits и текущее расположение возможностей, рекомендованное для предопределённой позиции безопасности.
--modes
Вывести все режимы libcap, поддерживаемые опцией --mode=<mode>.
--inmode=<mode>
Подтвердить, что текущий режим соответствует указанному в <mode>, иначе завершить работу со статусом 1.
--uid=id
Принудительно установить все значения UID равными id с помощью системного вызова setuid(2). Этот аргумент может требовать явной подготовки эффективного набора.
--cap-uid=<uid>
Использовать функцию cap_setuid(3) для установки UID текущего процесса. Это выполняет всю подготовку для установки UID без удаления возможностей в процессе. После этой команды текущие эффективные возможности будут понижены.
--is-uid=<id>
Завершить работу со статусом 1, если текущий UID не равен <id>.
--gid=<id>
Принудительно установить все значения GID равными id с помощью системного вызова setgid(2).
--is-gid=<id>
Завершить работу со статусом 1, если текущий GID не равен <id>.
--groups=<gid-list>
Установить дополнительные группы в соответствии с предоставленным числовым списком. Группы устанавливаются с помощью системного вызова setgroups(2). См. --user для более удобного способа сделать это.
--keep=<0|1>
В не-чистых режимах возможностей ядро предоставляет либеральные привилегии суперпользователю. Однако, обычно, когда суперпользователь изменяет UID на меньшего пользователя, возможности удаляются. Для таких ситуаций ядро может позволить процессу сохранить свои возможности после системного вызова setuid(2). Эта функция известна как поддержка keep-caps. Способ активировать её с помощью этой программы — с помощью этого аргумента. Установка значения в 1 активирует keep-caps. Установка в 0 деактивирует keep-caps для текущего процесса. В любом случае, keep-caps деактивируется при выполнении exec(). См. --secbits и --mode для способов отключения этой функции.
--secbits=N
Установить security-bits для программы. Это делается с помощью операции prctl(2) PR_SET_SECUREBITS. Список поддерживаемых бит и их значения можно найти в заголовочном файле <sys/secbits.h>. Программа выведет эти биты с помощью команды --print. Аргумент выражается как числовая маска, в любых форматах, разрешённых strtoul(3). Альтернатива этому манипулированию битами встроена в аргументы командной строки --mode*.
--chroot=/some/path
Выполнить системный вызов chroot(2) с новой корневой директорией (/) равной path. Эта операция требует, чтобы CAP_SYS_CHROOT был в действии.
--forkfor=sec
Эта команда заставляет программу создать дочерний процесс на указанное количество секунд. Дочерний процесс будет спать столько времени, а затем завершится со статусом 0. Цель этой команды — поддержка исследования того, как процессы могут быть завершены в связи с изменениями возможностей. См. команду --killit. Только один fork может быть активным за раз.
--killit=sig
Эта команда заставляет дочерний процесс --forkfor быть убитым с помощью kill(2) указанным сигналом. Затем команда ждёт завершения дочернего процесса. Если статус завершения не соответствует сигналу, используемому для его убийства, программа capsh завершается со статусом 1.
--explain=cap_xxx
Дать краткое текстовое описание привилегий, которые делает доступными указанная возможность для запущенной программы. Обратите внимание, вместо cap_xxx можно предоставить десятичное число, и capsh найдёт соответствующее описание возможности.
--shell=/full/path
Эта опция изменяет оболочку, которая вызывается при встрече аргумента ==.
--strict
Эта опция переключает подавление последующих попыток исправления аргументов --caps= и --inh=. То есть, когда флаг Effective не содержит CAP_SETPCAP, значения флага Inheritable Flag (в строгом режиме) ограничиваются теми, что в Permitted-наборе. Строгий режим по умолчанию выключен. Предоставление этого аргумента чётное количество раз восстанавливает поведение по умолчанию.
--suggest=phrase
Просканировать каждое текстовое описание возможностей, известных capsh, и вывести все описания, которые включают phrase.
--decode=N
Это удобная функция. Если вы смотрите в /proc/1/status, там есть связанные с возможностями поля следующего вида:
CapInh: 0000000000000000
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000
Эта опция предоставляет быстрый способ декодирования вектора возможностей, представленного в этой шестнадцатеричной форме. Вот пример, который декодирует два самых низких бита возможности:
$ capsh --decode=3
0x0000000000000003=cap_chown,cap_dac_override
--supports=xxx
По мере эволюции ядра добавляются новые возможности. Эта опция может использоваться для проверки существования возможности в системе. Например, --supports=cap_syslog заставит capsh немедленно завершить работу со статусом 1 на ядре 2.6.27. Однако, на ядре 2.6.38 она завершится успешно без вывода.
--has-p=xxx
Завершить работу со статусом 1, если вектор permitted не имеет возможности xxx установленной.
--has-ambient
Выполнить проверку, чтобы увидеть, поддерживает ли запущенное ядро ambient-возможности. Если нет, capsh завершает работу со статусом 1.
--has-a=xxx
Завершить работу со статусом 1, если вектор ambient не имеет возможности xxx установленной.
--has-b=xxx
Завершить работу со статусом 1, если вектор bounding имеет возможность xxx в своём (по умолчанию) не-блокированном состоянии.
--iab=xxx
Попытка установить кортеж IAB наследуемых векторов возможностей. Текстовые соглашения, используемые для xxx, такие как в cap_iab_from_text(3).
--addamb=xxx
Добавить указанную ambient-возможность к запущенному процессу.
--delamb=xxx
Удалить указанную ambient-возможность из запущенного процесса.
--noamb
Удалить все ambient-возможности из запущенного процесса.
--noenv
Подавляет переопределение переменных окружения HOME и USER при обработке последующего аргумента --user.
--quiet
Этот аргумент игнорируется, если он не первый. Если он присутствует, он подавляет проверку времени выполнения capsh на подтверждение, что запущенная libcap достаточно свежая, чтобы называть все значения возможностей, поддерживаемые ядром.
EXIT STATUS
После успешного выполнения capsh завершается со статусом 0. После ошибки capsh немедленно завершается со статусом 1.
AUTHOR
Написано Andrew G. Morgan <morgan@kernel.org>.
REPORTING BUGS
Пожалуйста, сообщайте об ошибках по адресу:
https://bugzilla.kernel.org/buglist.cgi?component=lib‐
cap&list_id=1090757
SEE ALSO
libcap(3), cap_from_text(3), cap_iab(3) capabilities(7), captree(8),
getcap(8), getpcaps(8), and setcap(8).
libcap 2021-10-22 CAPSH(1)
CAPSH(1) User Commands CAPSH(1)
NAME
capsh - capability shell wrapper
SYNOPSIS
capsh [OPTION]...
DESCRIPTION
Linux capability support and use can be explored and constrained with
this tool. This tool provides a handy wrapper for certain types of ca‐
pability testing and environment creation. It also provides some debug‐
ging features useful for summarizing capability state.
OPTIONS
capsh takes a number of optional arguments, acting on them in the order
they are provided. They are as follows:
--help Display the list of commands supported by capsh.
--print
Display prevailing capability and related state.
--current
Display prevailing capability state, 1e capabilities and IAB
vector.
-- [args]
Execute /bin/bash with trailing arguments. Note, you can use -c
'command to execute' for specific commands.
-+ [args]
Uses cap_launch(3) to fork a child to execute the shell. When
the child exits, capsh exits with the status of the child or 1
in the case that the child was terminated by a signal.
== [args]
Execute capsh again with the remaining arguments. Useful for
testing exec() behavior. Note, PATH is searched when the running
capsh was found via the shell's PATH searching. If the exec oc‐
curs after a --chroot=/some/path argument the PATH located bi‐
nary may not be resolve to the same binary as that running ini‐
tially. This behavior is an intended feature as it can complete
the chroot transition.
=+ [args]
Uses cap_launch(3) to fork a child to re-execute capsh. When
this child exits, capsh exits with the status of the child or 1
in the case that the child was terminated by a signal.
--caps=cap-set
Set the prevailing process capabilities to those specified by
cap-set. Where cap-set is a text-representation of capability
state as per cap_from_text(3).
--drop=cap-list
Remove the listed capabilities from the prevailing bounding set.
The capabilities are a comma-separated list of capabilities as
recognized by the cap_from_name(3) function. Use of this feature
requires that capsh is operating with CAP_SETPCAP in its effec‐
tive set.
--inh=cap-list
Set the inheritable set of capabilities for the current process
to equal those provided in the comma separated list. For this
action to succeed, the prevailing process should already have
each of these capabilities in the union of the current inherita‐
ble and permitted capability sets, or capsh should be operating
with CAP_SETPCAP in its effective set.
--user=username
Assume the identity of the named user. That is, look up the
user's UID and GID with getpwuid(3) and their group memberships
with getgrouplist(3) and set them all using cap_setuid(3) and
cap_setgroups(3). Following this command, the effective capa‐
bilities will be cleared, but the permitted set will not be, so
the running program is still privileged.
--mode Display the prevailing libcap mode as guessed by the
cap_get_mode(3) function.
--mode=<mode>
Force the program into a cap_set_mode(3) security mode. This is
a set of securebits and prevailing capability arrangement recom‐
mended for its pre-determined security stance.
--modes
Lists all of the libcap modes supported by --mode=<mode>.
--inmode=<mode>
Confirm that the prevailing mode is that specified in <mode>, or
exit with a status 1.
--uid=id
Force all UID values to equal id using the setuid(2) system
call. This argument may require explicit preparation of the ef‐
fective set.
--cap-uid=<uid>
use the cap_setuid(3) function to set the UID of the current
process. This performs all preparations for setting the UID
without dropping capabilities in the process. Following this
command the prevailing effective capabilities will be lowered.
--is-uid=<id>
Exit with status 1 unless the current UID equals <id>.
--gid=<id>
Force all GID values to equal id using the setgid(2) system
call.
--is-gid=<id>
Exit with status 1 unless the current GIQ equals <id>.
--groups=<gid-list>
Set the supplementary groups to the numerical list provided. The
groups are set with the setgroups(2) system call. See --user for
a more convenient way of doing this.
--keep=<0|1>
In a non-pure capability mode, the kernel provides liberal priv‐
ilege to the super-user. However, it is normally the case that
when the super-user changes UID to some lesser user, then capa‐
bilities are dropped. For these situations, the kernel can per‐
mit the process to retain its capabilities after a setuid(2)
system call. This feature is known as keep-caps support. The way
to activate it using this program is with this argument. Setting
the value to 1 will cause keep-caps to be active. Setting it to
0 will cause keep-caps to deactivate for the current process. In
all cases, keep-caps is deactivated when an exec() is performed.
See --secbitsand--mode for ways to disable this feature.
--secbits=N
Set the security-bits for the program. This is done using the
prctl(2) PR_SET_SECUREBITS operation. The list of supported
bits and their meaning can be found in the <sys/secbits.h>
header file. The program will list these bits via the --print
command. The argument is expressed as a numeric bitmask, in any
of the formats permitted by strtoul(3). An alternative to this
bit-twiddling is embedded in the --mode* commandline arguments.
--chroot=/some/path
Execute the chroot(2) system call with the new root-directory
(/) equal to path. This operation requires CAP_SYS_CHROOT to be
in effect.
--forkfor=sec
This command causes the program to fork a child process for so
many seconds. The child will sleep that long and then exit with
status 0. The purpose of this command is to support exploring
the way processes are killable in the face of capability
changes. See the --killit command. Only one fork can be active
at a time.
--killit=sig
This commands causes a --forkfor child to be kill(2)d with the
specified signal. The command then waits for the child to exit.
If the exit status does not match the signal being used to kill
it, the capsh program exits with status 1.
--explain=cap_xxx
Give a brief textual description of what privileges the speci‐
fied capability makes available to a running program. Note, in‐
stead of cap_xxx, one can provide a decimal number and capsh
will look up the corresponding capability's description.
--shell=/full/path
This option changes the shell that is invoked when the argument
== is encountered.
--strict
This option toggles the suppression of subsequent attempts to
fixup --caps= and --inh= arguments. That is, when the prevailing
Effective flag does not contain CAP_SETPCAP the to be raised In‐
heritable Flag values (in strict mode) are limited to those in
the Permitted set. The strict mode defaults to off. Supplying
this argument an even number of times restores this default be‐
havior.
--suggest=phrase
Scan each of the textual descriptions of capabilities, known to
capsh, and display all descriptions that include phrase.
--decode=N
This is a convenience feature. If you look at /proc/1/status
there are some capability related fields of the following form:
CapInh: 0000000000000000
CapPrm: 0000003fffffffff
CapEff: 0000003fffffffff
CapBnd: 0000003fffffffff
CapAmb: 0000000000000000
This option provides a quick way to decode a capability vector
represented in this hexadecimal form. Here's an example that
decodes the two lowest capability bits:
$ capsh --decode=3
0x0000000000000003=cap_chown,cap_dac_override
--supports=xxx
As the kernel evolves, more capabilities are added. This option
can be used to verify the existence of a capability on the sys‐
tem. For example, --supports=cap_syslog will cause capsh to
promptly exit with a status of 1 when run on kernel 2.6.27.
However, when run on kernel 2.6.38 it will silently succeed.
--has-p=xxx
Exit with status 1 unless the permitted vector has capability
xxx raised.
--has-ambient
Performs a check to see if the running kernel supports ambient
capabilities. If not, capsh exits with status 1.
--has-a=xxx
Exit with status 1 unless the ambient vector has capability xxx
raised.
--has-b=xxx
Exit with status 1 unless the bounding vector has capability xxx
in its (default) non-blocked state.
--iab=xxx
Attempts to set the IAB tuple of inheritable capability vectors.
The text conventions used for xxx are those of
cap_iab_from_text(3).
--addamb=xxx
Adds the specified ambient capability to the running process.
--delamb=xxx
Removes the specified ambient capability from the running
process.
--noamb
Drops all ambient capabilities from the running process.
--noenv
Suppresses overriding of the HOME and USER environment variables
when a subsequent --user argument is processed.
--quiet
This argument is ignored unless it is the first one. If present,
it suppresses the capsh runtime check to confirm the running
libcap is recent enough that it can name all of the kernel sup‐
ported capability values.
EXIT STATUS
Following successful execution, capsh exits with status 0. Following an
error, capsh immediately exits with status 1.
AUTHOR
Written by Andrew G. Morgan <morgan@kernel.org>.
REPORTING BUGS
Please report bugs via:
https://bugzilla.kernel.org/buglist.cgi?component=lib‐
cap&list_id=1090757
SEE ALSO
libcap(3), cap_from_text(3), cap_iab(3) capabilities(7), captree(8),
getcap(8), getpcaps(8), and setcap(8).
libcap 2021-10-22 CAPSH(1)
SETCAP(8) System Manager's Manual SETCAP(8)
NAME
setcap - установка file capabilities
SYNOPSIS
setcap [-q] [-n <rootuid>] [-v] {capabilities|-|-r} filename [ ... ca‐
pabilitiesN fileN ]
DESCRIPTION
В отсутствие опции -v (verify) setcap устанавливает capabilities каждого указанного filename в соответствии с указанными capabilities. Опциональный аргумент -n <rootuid> можно использовать для установки file capability только для использования в user namespace с этим root user ID владельцем. Опция -v используется для проверки, что указанные capabilities в настоящее время связаны с файлом. Если предоставлены -v и -n, то аргумент -n <rootuid> также проверяется.
Capabilities указываются в форме, описанной в cap_from_text(3).
Специальная строка capabilities, '-', может использоваться для указания, что capabilities читаются из стандартного ввода. В таких случаях набор capabilities завершается пустой строкой.
Специальная строка capabilities, '-r', используется для удаления набора capabilities из файла. Обратите внимание, что установка пустого набора capabilities не то же самое, что его удаление. Пустой набор может использоваться для гарантии, что файл не будет выполнен с привилегиями, несмотря на то, что текущие ambient+inheritable наборы в противном случае предоставили бы capabilities выполненным бинарным файлам.
Опция '-f' используется для принудительного завершения даже в случае, если операция считается недействительной. Это может повлиять на '-r' и на установку file capabilities, которые ядро не сможет правильно интерпретировать.
Флаг -q используется для уменьшения объёма выводимой информации программы.
EXIT CODE
Программа setcap завершается с кодом выхода 0 в случае успеха. В случае неудачи код выхода равен 1.
REPORTING BUGS
Пожалуйста, сообщайте об ошибках по адресу:
https://bugzilla.kernel.org/buglist.cgi?component=lib‐
cap&list_id=1090757
SEE ALSO
capsh(1), cap_from_text(3), cap_get_file(3), capabilities(7),
user_namespaces(7), captree(8), getcap(8) and getpcaps(8).
2020-08-29 SETCAP(8)
SETCAP(8) System Manager's Manual SETCAP(8)
NAME
setcap - set file capabilities
SYNOPSIS
setcap [-q] [-n <rootuid>] [-v] {capabilities|-|-r} filename [ ... ca‐
pabilitiesN fileN ]
DESCRIPTION
In the absence of the -v (verify) option setcap sets the capabilities
of each specified filename to the capabilities specified. The optional
-n <rootuid> argument can be used to set the file capability for use
only in a user namespace with this root user ID owner. The -v option is
used to verify that the specified capabilities are currently associated
with the file. If -v and -n are supplied, the -n <rootuid> argument is
also verified.
The capabilities are specified in the form described in
cap_from_text(3).
The special capability string, '-', can be used to indicate that capa‐
bilities are read from the standard input. In such cases, the capabil‐
ity set is terminated with a blank line.
The special capability string, '-r', is used to remove a capability set
from a file. Note, setting an empty capability set is not the same as
removing it. An empty set can be used to guarantee a file is not exe‐
cuted with privilege in spite of the fact that the prevailing ambi‐
ent+inheritable sets would otherwise bestow capabilities on executed
binaries.
The '-f', is used to force completion even when it is in some way con‐
sidered an invalid operation. This can affect '-r' and setting file ca‐
pabilities the kernel will not be able to make sense of.
The -q flag is used to make the program less verbose in its output.
EXIT CODE
The setcap program will exit with a 0 exit code if successful. On fail‐
ure, the exit code is 1.
REPORTING BUGS
Please report bugs via:
https://bugzilla.kernel.org/buglist.cgi?component=lib‐
cap&list_id=1090757
SEE ALSO
capsh(1), cap_from_text(3), cap_get_file(3), capabilities(7),
user_namespaces(7), captree(8), getcap(8) and getpcaps(8).
2020-08-29 SETCAP(8)
GETCAP(8) System Manager's Manual GETCAP(8)
NAME
getcap - просматривать возможности файлов
SYNOPSIS
getcap [-v] [-n] [-r] [-h] filename [ ... ]
DESCRIPTION
getcap отображает имя и возможности каждого указанного файла.
OPTIONS
-h выводит краткое использование.
-n выводит любое ненулевое значение ID корневого пользователя
пространства имён пользователя, которое найдено и связано
с возможностями файла.
-r включает рекурсивный поиск.
-v отображает все проверенные записи, даже если у них нет
возможностей файла.
ПРИМЕЧАНИЕ: пустое значение '=' не эквивалентно пропущенному (или
удалённому) значению возможности для файла. Это особенно важно в
отношении вектора Ambient возможностей, поскольку процесс с Ambient
возможностями потеряет их при выполнении файла с '=' возможностями, но
сохранит наследование Ambient привилегий при выполнении файла с
пропущенной возможностью файла. Это специальное пустое значение можно
использовать для предотвращения выполнения бинарного файла с
привилегиями. В течение некоторого времени ядро учитывало это
подавление для root, выполняющего файл, но разработчики ядра решили
после нескольких лет, что такое поведение было неожиданным для
суперпользователя, и вернули его только для этой идентичности
пользователя. Подавление привилегий root для дерева процессов
возможно с помощью опции capsh(1) --mode.
filename
Один файл на строку.
REPORTING BUGS
Пожалуйста, сообщайте об ошибках по адресу:
https://bugzilla.kernel.org/buglist.cgi?component=lib‐
cap&list_id=1090757
SEE ALSO
capsh(1), cap_get_file(3), cap_to_text(3), capabilities(7), user_name‐
spaces(7), captree(8), getpcaps(8) и setcap(8).
2021-08-29 GETCAP(8)
GETCAP(8) System Manager's Manual GETCAP(8)
NAME
getcap - examine file capabilities
SYNOPSIS
getcap [-v] [-n] [-r] [-h] filename [ ... ]
DESCRIPTION
getcap displays the name and capabilities of each specified file.
OPTIONS
-h prints quick usage.
-n prints any non-zero user namespace root user ID value found to be
associated with a file's capabilities.
-r enables recursive search.
-v display all searched entries, even if the have no file-capabili‐
ties.
NOTE: an empty value of '=' is not equivalent to an omitted (or re‐
moved) capability on a file. This is most significant with respect to
the Ambient capability vector, since a process with Ambient capabili‐
ties will lose them when executing a file having '=' capabilities, but
will retain the Ambient inheritance of privilege when executing a file
with an omitted file capability. This special empty setting can be used
to prevent a binary from executing with privilege. For some time, the
kernel honored this suppression for root executing the file, but the
kernel developers decided after a number of years that this behavior
was unexpected for the superuser and reverted it just for that user
identity. Suppression of root privilege, for a process tree, is possi‐
ble, using the capsh(1) --mode option.
filename
One file per line.
REPORTING BUGS
Please report bugs via:
https://bugzilla.kernel.org/buglist.cgi?component=lib‐
cap&list_id=1090757
SEE ALSO
capsh(1), cap_get_file(3), cap_to_text(3), capabilities(7), user_name‐
spaces(7), captree(8), getpcaps(8) and setcap(8).
2021-08-29 GETCAP(8)
PAM_CAP(8) Руководство системного администратора PAM_CAP(8)
NAME
pam_cap - Модуль PAM для Capabilities
SYNOPSIS
[service-name] auth control-flag pam_cap [options]
DESCRIPTION
Модуль pam_cap можно использовать для указания Inheritable capabilities процессам, корни которых в приложении PAM. Модуль также поддерживает блокировку Bounding vector capabilities и добавление Ambient vector capabilities.
Для правильной работы общих приложений PAM приложение должно запускаться с хотя бы CAP_SETPCAP, установленным в флаге Permitted capability. Многие приложения PAM запускаются от имени root, у которого все биты в Bounding set установлены, поэтому это требование обычно выполняется. Для предоставления Ambient vector capability соответствующий бит Permitted должен быть доступен приложению.
Модуль pam_cap является модулем аутентификации Linux-PAM. Он предоставляет функциональность для поддержки pam_sm_authenticate() и pam_sm_setcred(). Именно последний фактически модифицирует наследуемый 3-кортеж векторов capabilities: настроенный IAB. В типичной конфигурации приложения у вас может быть строка вроде этой:
auth optional pam_cap.so
Аргументы модуля:
○ debug: Хотя поддерживается, в настоящее время это не выполняет никаких действий.
○ config=/path/to/file: Переопределяет конфигурацию модуля по умолчанию. Неуказанное значение по умолчанию для этого файла — /etc/security/capability.conf. Обратите внимание, config=/dev/null — допустимое значение. См. default= ниже для ситуаций, в которых это может быть уместно.
○ keepcaps: Это всё, что модуль pam_cap.so может сделать, чтобы помочь приложению поддерживать использование Ambient capability vector. Поддержка Ambient set в приложениях в настоящее время слабая.
○ autoauth: Этот аргумент заставляет модуль pam_cap.so возвращать PAM_SUCCESS, если пользователь PAM_USER существует. Если этот аргумент отсутствует, pam_cap.so вернёт PAM_SUCCESS только в том случае, если PAM_USER покрывается конкретным правилом в текущем файле конфигурации.
○ default=IAB: Этот аргумент игнорируется, если в текущем файле конфигурации есть правило "*". Если такого правила нет, 3-кортеж IAB вставляется в конец файла конфигурации и применяется ко всем PAM_USER, не покрытым более ранним правилом. Обратите внимание, если вы хотите, чтобы все PAM_USER покрывалось этим правилом по умолчанию, вы можете указать аргумент модуля config=/dev/null.
○ defer: Этот аргумент обеспечивает добавление IAB capabilities пользователю достаточно поздно в стеке аутентификации Linux-PAM, чтобы они сохранились. То есть, после вызова setuid(UID) приложением. В сочетании с аргументом keepcaps такие совместимые приложения могут поддерживать предоставление Ambient vector capabilities с помощью pam_cap.so.
SEE ALSO
pam.conf(5), capability.conf(5), pam(8).
Апрель 2024 PAM_CAP(8)
PAM_CAP(8) System Manager's Manual PAM_CAP(8)
NAME
pam_cap - Capabilities PAM module
SYNOPSIS
[service-name] auth control-flag pam_cap [options]
DESCRIPTION
The pam_so module can be used to specify Inheritable capabilities to
process trees rooted in the PAM application. The module also supports
blocking Bounding vector capabilities and adding Ambient vector capa‐
bilities.
For general PAM apps to work correctly, the application must be run
with at least CAP_SETPCAP raised in its Permitted capability flag. Many
PAM applications run as root, which has all of the bits in the Bounding
set raised, so this requirement is typically met. To grant an Ambient
vector capability, the corresponding Permitted bit must be available to
the application too.
The pam_so module is a Linux-PAM auth module. It provides functionality
to back pam_sm_authenticate() and pam_sm_setcred(). It is the latter
that actually modifies the inheritable 3-tuple of capability vectors:
the configured IAB. In a typical application configuration you might
have a line like this:
auth optional pam_cap.so
The module arguments are:
○ debug: While supported, this is a no-op at present.
○ config=/path/to/file: Override the default config for the module.
The unspecified default value for this file is /etc/security/capa‐
bility.conf. Note, config=/dev/null is a valid value. See default=
below for situations in which this might be appropriate.
○ keepcaps: This is as much as the pam_cap.so module can do to help
an application support use of the Ambient capability vector. The
application support for the Ambient set is poor at the present
time.
○ autoauth: This argument causes the pam_cap.so module to return
PAM_SUCCESS if the PAM_USER being authenticated exists. The absence
of this argument will cause pam_cap.so to only return PAM_SUCCESS
if the PAM_USER is covered by a specific rule in the prevailing
config file.
○ default=IAB: This argument is ignored if the prevailing configura‐
tion file contains a "*" rule. If there is no such rule, the IAB
3-tuple is inserted at the end of the config file and applies to
all PAM_USERs not covered by an earlier rule. Note, if you want all
PAM_USERs to be covered by this default rule, you can supply the
module argument config=/dev/null.
○ defer: This argument arranges for the IAB capabilities granted to a
user to be added sufficiently late in the Linux-PAM authentication
stack that they stick. That is, after the application does its se‐
tuid(UID) call. As such, in conjunction with the keepcaps module
argument, such compliant applications can support granting Ambient
vector capabilities with pam_cap.so.
SEE ALSO
pam.conf(5), capability.conf(5), pam(8).
April 2024 PAM_CAP(8)
GETPCAPS(8) Руководство системного администратора GETPCAPS(8)
NAME
getpcaps - отображение возможностей процесса
SYNOPSIS
getpcaps [опциональные аргументы] pid...
DESCRIPTION
getpcaps отображает возможности процессов, указанных значениями pid на
командной строке. Значение pid, равное 0, отображает возможности процесса,
который запускает getpcaps сам.
Возможности отображаются в формате cap_from_text(3).
Опциональные аргументы:
--help or --usage
Отображает информацию об использовании и выходит.
--ugly or --legacy
Отображает вывод в несколько уродливом устаревшем формате.
--verbose
Отображает использование в формате, похожем на устаревший, но не
совсем так уродливо в современных терминальных шрифтах по умолчанию.
--iab Отображает возможности IAB-туплов из процесса. Формат вывода
здесь - текстовый формат, описанный в cap_iab(3). Двойные
кавычки окружают обычные возможности процесса, а квадратные
скобки окружают IAB-тупл. Этот формат также используется
captree(8).
REPORTING BUGS
Пожалуйста, сообщайте об ошибках по адресу:
https://bugzilla.kernel.org/buglist.cgi?component=lib-cap&list_id=1090757
SEE ALSO
capsh(1), cap_from_text(3), cap_iab(3), capabilities(7), captree(8),
getcap(8), и setcap(8).
AUTHOR
Эта страница руководства была изначально написана Robert Bihlmeyer <robbe@debian.org>
для системы Debian GNU/Linux (но может быть использована другими).
2020-08-29 GETPCAPS(8)
GETPCAPS(8) System Manager's Manual GETPCAPS(8)
NAME
getpcaps - display process capabilities
SYNOPSIS
getpcaps [optional args] pid...
DESCRIPTION
getpcaps displays the capabilities on the processes indicated by the
pid value(s) given on the command line. A pid of 0 displays the capa‐
bilities of the process that is running getpcaps itself.
The capabilities are displayed in the cap_from_text(3) format.
Optional arguments:
--help or --usage
Displays usage information and exits.
--ugly or --legacy
Displays output in a somewhat ugly legacy format.
--verbose
Displays usage in a legacy-like format but not quite so ugly in
modern default terminal fonts.
--iab Displays IAB tuple capabilities from the process. The output
format here is the text format described in cap_iab(3). Double
quotes encase the regular process capabilities and square brack‐
ets encase the IAB tuple. This format is also used by cap‐
tree(8).
REPORTING BUGS
Please report bugs via:
https://bugzilla.kernel.org/buglist.cgi?component=lib‐
cap&list_id=1090757
SEE ALSO
capsh(1), cap_from_text(3), cap_iab(3), capabilities(7), captree(8),
getcap(8), and setcap(8).
AUTHOR
This manual page was originally written by Robert Bihlmeyer <robbe@de‐
bian.org>, for the Debian GNU/Linux system (but may be used by others).
2020-08-29 GETPCAPS(8)
CAPTREE(8) Руководство системного администратора CAPTREE(8)
NAME
captree - отображение дерева возможностей процессов
SYNOPSIS
captree [OPTIONS] [(pid|glob-name) ...]
DESCRIPTION
captree отображает возможности указанных процессов, указанных
по pid или glob-name значениям, заданным в командной строке. Если никакие
pid и т.д. значения не предоставлены, подразумевается pid=1. Значение pid=0
отображает все процессы, известные ядру.
Формат POSIX.1e возможностей отображаются в двойных кавычках в формате
cap_from_text(3). Кортеж IAB возможностей отображается в квадратных
скобках в текстовом формате, описанном в cap_iab(3).
Обратите внимание, что текст кортежа IAB omitted, если он содержит пустые
компоненты A и B. Это происходит потому, что обычный текст POSIX.1e уже
содержит информацию о флаге Inheritable. Это поведение можно переопределить
с помощью аргумента командной строки --verbose.
Опциональные аргументы (которые должны предшествовать списку значений
pid|glob-name):
--help Отображает информацию об использовании и выходит. Обратите внимание,
современные среды выполнения Go выходят со статусом 0 в этом случае,
но более старые среды выполнения выходят со статусом 2.
--verbose
Отображает наборы возможностей и кортежи IAB даже если они пустые
или избыточные.
--depth=n
Отображает дерево процессов на глубину n. Обратите внимание, значение
по умолчанию для этого параметра — 0, что подразумевает бесконечную
глубину.
--colo[u]r=false
Раскрашивает целевые PID в красный цвет, если stdout является TTY.
Эта опция по умолчанию равна true при запуске через TTY. Аргумент
--color=false подавит эту раскраску. Перенаправление вывода в другую
программу также подавит использование цвета.
EXIT STATUS
Если указанная цель не найдена, статус выхода равен 1. Если предоставлена
нераспознанная опция, статус выхода равен 2. В противном случае captree
выходит со статусом 0.
REPORTING BUGS
Пожалуйста, сообщайте об ошибках по адресу:
https://bugzilla.kernel.org/buglist.cgi?component=lib‐
cap&list_id=1090757
SEE ALSO
cap_from_text(3), capabilities(7), и cap_iab(3).
Здесь есть более подробная статья о captree, которая включает некоторые
примеры:
https://sites.google.com/site/fullycapable/captree
AUTHOR
Andrew G. Morgan <morgan@kernel.org>
2022-04-11 CAPTREE(8)
CAPTREE(8) System Manager's Manual CAPTREE(8)
NAME
captree - display tree of process capabilities
SYNOPSIS
captree [OPTIONS] [(pid|glob-name) ...]
DESCRIPTION
captree displays the capabilities on the mentioned processes indicated
by pid or glob-name value(s) given on the command line. If no pid etc
values are supplied, pid=1 is implied. A pid value of 0 displays all
the processes known to the kernel.
The POSIX.1e capabilities are displayed in double quotes in the
cap_from_text(3) format. The IAB tuple of capabilities is displayed be‐
tween square brackets in the text format described in cap_iab(3).
Note, the IAB tuple text is omitted if it contains empty A and B compo‐
nents. This is because the regular POSIX.1e text contains information
about the Inheritable flag already. This behavior can be overridden
with the --verbose command line argument.
Optional arguments (which must precede the list of pid|glob-name val‐
ues):
--help Displays usage information and exits. Note, modern Go runtimes
exit with status 0 in this case, but older runtimes exit with
status 2.
--verbose
Displays capability sets and IAB tuples even when they are
empty, or redundant.
--depth=n
Displays the process tree to a depth of n. Note, the default
value for this parameter is 0, which implies infinite depth.
--colo[u]r=false
Colo[u]rs the targeted PIDs, if stdout is a TTY, in red. This
option defaults to true when running via a TTY. The
--color=false argument will suppress this color. Piping the out‐
put into some other program will also suppress the use of
colo[u]r.
EXIT STATUS
If the supplied target cannot be found the exit status is 1. Should an
unrecognized option be provided, the exit status is 2. Otherwise, cap‐
tree exits with status 0.
REPORTING BUGS
Please report bugs via:
https://bugzilla.kernel.org/buglist.cgi?component=lib‐
cap&list_id=1090757
SEE ALSO
cap_from_text(3), capabilities(7), and cap_iab(3).
There is a longer article about captree, which includes some examples,
here:
https://sites.google.com/site/fullycapable/captree
AUTHOR
Andrew G. Morgan <morgan@kernel.org>
2022-04-11 CAPTREE(8)