capabilities

CAPABILITIES(7) Ð ÑководÑÑво пÑогÑаммиÑÑа Linux CAPABILITIES(7)



ÐÐЯ
       capabilities - Ð¾Ð±Ð·Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов Linux

ÐÐÐСÐÐÐÐ
       ÐÐ»Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÑовеÑки пÑав доÑÑÑпа в
       обÑÑнÑÑ ÑеализаÑиÑÑ UNIX пÑоÑеÑÑÑ ÑазделÑÑÑ Ð½Ð°
       две каÑегоÑии: пÑивилегиÑованнÑе (ID
       ÑÑÑекÑивного полÑзоваÑÐµÐ»Ñ Ñавен 0, как Ñ
       ÑÑпеÑполÑзоваÑÐµÐ»Ñ Ð¸Ð»Ð¸ root), и не
       пÑивилегиÑованнÑе (ID ÑÑÑекÑивного
       полÑзоваÑÐµÐ»Ñ Ð½Ðµ Ñавен нÑлÑ). ÐлÑ
       пÑивилегиÑованнÑÑ Ð¿ÑоÑеÑÑов вÑе пÑовеÑки
       пÑав в ÑдÑе не вÑполнÑÑÑÑÑ, а Ð´Ð»Ñ Ð½Ðµ
       пÑивилегиÑованнÑÑ Ð¿ÑоÑеÑÑов вÑполнÑеÑÑÑ
       Ð¿Ð¾Ð»Ð½Ð°Ñ Ð¿ÑовеÑка на оÑнове мандаÑов
       пÑоÑеÑÑа (обÑÑно, ÑÑÑекÑивного UID,
       ÑÑÑекÑивного GID и ÑпиÑка дополниÑелÑнÑÑ
       гÑÑпп).

       Ð ÑдÑе Linux наÑÐ¸Ð½Ð°Ñ Ñ Ð²ÐµÑÑии 2.2, вÑе
       пÑивилегии, обÑÑно ÑвÑзÑваемÑе Ñ
       ÑÑпеÑполÑзоваÑелем, ÑÐ°Ð·Ð´ÐµÐ»ÐµÐ½Ñ Ð½Ð° неÑколÑко
       ÑаÑÑей, назÑваемÑÑ Ð¼Ð°Ð½Ð´Ð°Ñами (capabilities),
       коÑоÑÑе можно ÑазÑеÑаÑÑ Ð¸ запÑеÑаÑÑ
       незавиÑимо дÑÑг Ð¾Ñ Ð´ÑÑга. ÐандаÑÑ ÑвлÑÑÑÑÑ
       аÑÑибÑÑом ниÑи.

   СпиÑок мандаÑов
       Ð ÑледÑÑÑим ÑпиÑке Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ Ð¼Ð°Ð½Ð´Ð°ÑÑ,
       ÑеализованнÑе в Linux, а Ñакже опеÑаÑии или
       поведение, коÑоÑÑе ÑÑи мандаÑÑ ÑазÑеÑаÑÑ:

       CAP_AUDIT_CONTROL (наÑÐ¸Ð½Ð°Ñ Ñ Linux 2.6.11)
              ÐозволÑÐµÑ Ð²ÐºÐ»ÑÑаÑÑ Ð¸Ð»Ð¸ вÑклÑÑаÑÑ Ð°ÑдиÑ
              ÑдÑа; изменÑÑÑ ÑилÑÑÑÑÑÑие пÑавила аÑдиÑа;
              полÑÑаÑÑ ÑоÑÑоÑние аÑдиÑа и ÑилÑÑÑÑÑÑие
              пÑавила.

       CAP_AUDIT_READ (наÑÐ¸Ð½Ð°Ñ Ñ Linux 3.16)
              ÐозволÑÐµÑ ÑиÑаÑÑ Ð¿ÑоÑокол аÑдиÑа ÑеÑез
              мÑлÑÑикаÑÑовÑй ÑÐ¾ÐºÐµÑ netlink.

       CAP_AUDIT_WRITE (наÑÐ¸Ð½Ð°Ñ Ñ Linux 2.6.11)
              ÐозволÑÐµÑ Ð·Ð°Ð¿Ð¸ÑÑваÑÑ Ð´Ð°Ð½Ð½Ñе в жÑÑнал
              аÑдиÑа ÑдÑа.

       CAP_BLOCK_SUSPEND (наÑÐ¸Ð½Ð°Ñ Ñ Linux 3.5)
              ÐозволÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи,
              коÑоÑÑе могÑÑ Ð¿ÑиводиÑÑ Ðº блокиÑованиÑ
              пÑиоÑÑановки ÑиÑÑÐµÐ¼Ñ (epoll(7)  EPOLLWAKEUP,
              /proc/sys/wake_lock).

       CAP_CHOWN
              ÐозволÑÐµÑ Ð²ÑполнÑÑÑ Ð¿ÑоизволÑнÑе
              Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑайловÑÑ UID и GID (ÑмоÑÑиÑе
              chown(2)).

       CAP_DAC_OVERRIDE
              ÐозволÑÐµÑ Ð¿ÑопÑÑкаÑÑ Ð¿ÑовеÑки доÑÑÑпа к
              ÑÐ°Ð¹Ð»Ñ Ð½Ð° ÑÑение, запиÑÑ Ð¸ вÑполнение (DAC
              (discretionary access control) â избиÑаÑелÑнÑй
              конÑÑÐ¾Ð»Ñ Ð´Ð¾ÑÑÑпа).

       CAP_DAC_READ_SEARCH
              * ÐозволÑÐµÑ Ð¿ÑопÑÑкаÑÑ Ð¿ÑовеÑки доÑÑÑпа к
                ÑÐ°Ð¹Ð»Ñ Ð½Ð° ÑÑение и доÑÑÑпа к каÑÐ°Ð»Ð¾Ð³Ñ Ð½Ð°
                ÑÑение и вÑполнение;
              * ÐозволÑÐµÑ Ð²ÑзÑваÑÑ open_by_handle_at(2).

       CAP_FOWNER
              * ÐозволÑÐµÑ Ð¿ÑопÑÑкаÑÑ Ð¿ÑовеÑки доÑÑÑпа
                Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑий, коÑоÑÑе обÑÑно ÑÑебÑÑÑ
                ÑÐ¾Ð²Ð¿Ð°Ð´ÐµÐ½Ð¸Ñ UID Ñайловой ÑиÑÑÐµÐ¼Ñ Ð¿ÑоÑеÑÑа
                и UID Ñайла (напÑимеÑ, chmod(2), utime(2)),
                иÑклÑÑÐ°Ñ Ð¾Ð¿ÐµÑаÑии, оÑваÑÑваемÑе
                CAP_DAC_OVERRIDE и CAP_DAC_READ_SEARCH;
              * ÐозволÑÐµÑ ÑÑÑанавливаÑÑ ÑаÑÑиÑеннÑе
                аÑÑибÑÑÑ (ÑмоÑÑиÑе chattr(1)) пÑоизволÑнÑÑ
                Ñайлов;
              * ÐозволÑÐµÑ ÑÑÑанавливаÑÑ ÑпиÑки конÑÑолÑ
                доÑÑÑпа (ACL) пÑоизволÑнÑÑ Ñайлов;
              * ÐозволÑÐµÑ Ð¸Ð³Ð½Ð¾ÑиÑоваÑÑ Ð·Ð°ÐºÑеплÑÑÑий
                Ð±Ð¸Ñ Ð¿Ñи Ñдалении Ñайла;
              * ÐозволÑÐµÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑ O_NOATIME длÑ
                пÑоизволÑнÑÑ Ñайлов в open(2) и fcntl(2).

       CAP_FSETID
              ÐозволÑÐµÑ Ð½Ðµ оÑиÑаÑÑ Ð±Ð¸ÑÑ Ñежима set-user-ID
              и set-group-ID пÑи изменении Ñайла;
              ÑÑÑанавливаÑÑ Ð±Ð¸Ñ set-group-ID на Ñайл, Ñ
              коÑоÑого GID не ÑÐ¾Ð²Ð¿Ð°Ð´Ð°ÐµÑ Ñ Ð±Ð¸Ñом
              Ñайловой ÑиÑÑÐµÐ¼Ñ Ð¸Ð»Ð¸ лÑбÑми
              дополниÑелÑнÑми GID вÑзÑваÑÑего пÑоÑеÑÑа.

       CAP_IPC_LOCK
              ÐозволÑÐµÑ Ð±Ð»Ð¾ÐºÐ¸ÑоваÑÑ Ð¿Ð°Ð¼ÑÑÑ (mlock(2),
              mlockall(2), mmap(2), shmctl(2)).

       CAP_IPC_OWNER
              ÐозволÑÐµÑ Ð½Ðµ вÑполнÑÑÑ Ð¿ÑовеÑки доÑÑÑпа
              Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑий Ñ Ð¾Ð±ÑекÑами System V IPC.

       CAP_KILL
              ÐозволÑÐµÑ Ð½Ðµ вÑполнÑÑÑ Ð¿ÑовеÑки пÑи
              оÑпÑавке Ñигналов (ÑмоÑÑиÑе kill(2)). СÑда
              оÑноÑиÑÑÑ Ð¸ÑполÑзование ioctl(2) Ñ
              опеÑаÑией KDSIGACCEPT.

       CAP_LEASE (наÑÐ¸Ð½Ð°Ñ Ñ Linux 2.4)
              ÐозволÑÐµÑ ÑÑÑанавливаÑÑ Ð°ÑÐµÐ½Ð´Ñ Ð½Ð°
              пÑоизволÑнÑе ÑÐ°Ð¹Ð»Ñ (ÑмоÑÑиÑе fcntl(2)).

       CAP_LINUX_IMMUTABLE
              ÐозволÑÐµÑ ÑÑÑанавливаÑÑ inode-Ñлаги
              FS_APPEND_FL и FS_IMMUTABLE_FL (ÑмоÑÑиÑе chattr(1)).

       CAP_MAC_ADMIN (наÑÐ¸Ð½Ð°Ñ Ñ Linux 2.6.25)
              ÐозволÑÐµÑ Ð·Ð°Ð¼ÐµÑаÑÑ Ð¼Ð°Ð½Ð´Ð°ÑнÑй конÑÑолÑ
              доÑÑÑпа (MAC). Реализован в Smack Linux Security
              Module (LSM).

       CAP_MAC_OVERRIDE (наÑÐ¸Ð½Ð°Ñ Ñ Linux 2.6.25)
              РазÑеÑÐ°ÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ Ð½Ð°ÑÑÑÐ¾Ð¹ÐºÑ MAC или
              ÑоÑÑоÑние. Реализован в Smack LSM.

       CAP_MKNOD (наÑÐ¸Ð½Ð°Ñ Ñ Linux 2.4)
              ÐозволÑÐµÑ ÑоздаваÑÑ ÑпеÑиалÑнÑе ÑÐ°Ð¹Ð»Ñ Ñ
              помоÑÑÑ mknod(2).

       CAP_NET_ADMIN
              ÐозволÑÐµÑ Ð²ÑполнÑÑÑ ÑазлиÑнÑе ÑеÑевÑе
              опеÑаÑии:
              * наÑÑÑÐ¾Ð¹ÐºÑ Ð¸Ð½ÑеÑÑейÑа;
              * ÑпÑавление IP ÐÐ, ÑÑанÑлÑÑией адÑеÑов и
                ведением ÑÑÑÑа;
              * изменÑÑÑ ÑаблиÑÑ Ð¼Ð°ÑÑÑÑÑизаÑии;
              * пÑивÑзÑваÑÑÑÑ Ðº лÑÐ±Ð¾Ð¼Ñ Ð°Ð´ÑеÑÑ Ð´Ð»Ñ
                пÑозÑаÑного пÑокÑиÑованиÑ;
              * назнаÑаÑÑ Ñип ÑеÑвиÑа (TOS)
              * оÑиÑаÑÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð´ÑайвеÑа;
              * вклÑÑаÑÑ Ñежим заÑваÑа (promiscuous);
              * вклÑÑаÑÑ Ð¼Ð½Ð¾Ð³Ð¾Ð°Ð´ÑеÑнÑе ÑаÑÑÑлки
                (multicasting);
              * иÑполÑзоваÑÑ setsockopt(2) Ð´Ð»Ñ Ð²ÐºÐ»ÑÑениÑ
                ÑледÑÑÑÐ¸Ñ Ð¿Ð°ÑамеÑÑов ÑокеÑа: SO_DEBUG, SO_MARK,
                SO_PRIORITY (Ð´Ð»Ñ Ð¿ÑиоÑиÑеÑов вне
                диапазона 0 - 6), SO_RCVBUFFORCE и SO_SNDBUFFORCE.

       CAP_NET_BIND_SERVICE
              ÐозволÑÐµÑ Ð¿ÑивÑзÑваÑÑ ÑÐ¾ÐºÐµÑ Ðº
              пÑивилегиÑованнÑм поÑÑам домена
              инÑеÑнеÑа (номеÑа поÑÑов менÑÑе 1024).

       CAP_NET_BROADCAST
              (не иÑполÑзÑеÑÑÑ) ÐозволÑÐµÑ Ð¾ÑÑÑеÑÑвлÑÑÑ
              ÑиÑоковеÑание Ñ ÑокеÑа и пÑоÑлÑÑивание
              многоадÑеÑнÑÑ ÑаÑÑÑлок.

       CAP_NET_RAW
              * позволÑÐµÑ Ð¸ÑполÑзоваÑÑ ÑокеÑÑ RAW и PACKET;
              * позволÑÐµÑ Ð¿ÑивÑзÑваÑÑÑÑ Ðº лÑÐ±Ð¾Ð¼Ñ Ð°Ð´ÑеÑÑ
                Ð´Ð»Ñ Ð¿ÑозÑаÑного пÑокÑиÑованиÑ.

       CAP_SETGID
              ÐозволÑÐµÑ Ð²ÑполнÑÑÑ Ð¿ÑоизволÑнÑе
              дейÑÑÐ²Ð¸Ñ Ñ GID пÑоÑеÑÑа и ÑпиÑком
              дополниÑелÑнÑÑ GID; подделÑваÑÑ GID пÑи
              пеÑедаÑе мандаÑов ÑокеÑа ÑеÑез
              доменнÑе ÑокеÑÑ UNIX; запиÑÑваÑÑ
              оÑобÑажение ID гÑÑÐ¿Ð¿Ñ Ð²
              полÑзоваÑелÑÑкое пÑоÑÑÑанÑÑво имÑн
              (ÑмоÑÑиÑе user_namespaces(7)).

       CAP_SETFCAP (наÑÐ¸Ð½Ð°Ñ Ñ Linux 2.6.24)
              ÐозволÑÐµÑ Ð½Ð°Ð·Ð½Ð°ÑаÑÑ ÑайловÑе мандаÑÑ.

       CAP_SETPCAP
              ÐÑли ÑайловÑе мандаÑÑ Ð½Ðµ поддеÑживаÑÑÑÑ:
              позволÑÐµÑ Ð¿ÑедоÑÑавлÑÑÑ Ð¸ оÑзÑваÑÑ Ð»Ñбой
              Ð¼Ð°Ð½Ð´Ð°Ñ Ð² ÑпиÑке ÑазÑеÑÑннÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов
              вÑзÑваÑÑего или лÑбого дÑÑгого пÑоÑеÑÑа
              (ÑÑо ÑвойÑÑво CAP_SETPCAP недоÑÑÑпно, еÑли
              ÑдÑо ÑобÑано Ñ Ð¿Ð¾Ð´Ð´ÐµÑжкой ÑайловÑÑ
              мандаÑов, Ñак как CAP_SETPCAP имееÑ
              полноÑÑÑÑ Ð´ÑÑгÑÑ ÑеманÑÐ¸ÐºÑ Ñ ÑÐ°ÐºÐ¸Ñ ÑдеÑ).

              ÐÑли ÑайловÑе мандаÑÑ Ð¿Ð¾Ð´Ð´ÐµÑживаÑÑÑÑ:
              позволÑÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑ Ð»Ñбой Ð¼Ð°Ð½Ð´Ð°Ñ Ð¸Ð·
              огÑаниÑиваÑÑего набоÑа вÑзÑваÑÑей ниÑи
              в ÐµÑ Ð½Ð°ÑледÑемÑй набоÑ; оÑзÑваÑÑ Ð¼Ð°Ð½Ð´Ð°ÑÑ
              из огÑаниÑиваÑÑего набоÑа (Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
              prctl(2) Ñ Ð¾Ð¿ÐµÑаÑией PR_CAPBSET_DROP); изменÑÑÑ
              Ñлаги securebits.

       CAP_SETUID
              ÐозволÑÐµÑ Ð²ÑполнÑÑÑ Ð¿ÑоизволÑнÑе
              дейÑÑÐ²Ð¸Ñ Ñ UID пÑоÑеÑÑа (setuid(2), setreuid(2),
              setresuid(2), setfsuid(2)); подделÑваÑÑ UID пÑи
              пеÑедаÑе мандаÑов ÑокеÑа ÑеÑез
              доменнÑе ÑокеÑÑ UNIX; запиÑÑваÑÑ
              оÑобÑажение ID полÑзоваÑÐµÐ»Ñ Ð²
              полÑзоваÑелÑÑкое пÑоÑÑÑанÑÑво имÑн
              (ÑмоÑÑиÑе user_namespaces(7)).

       CAP_SYS_ADMIN
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ ÑледÑÑÑие задаÑи
                ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑиÑÑемой: quotactl(2), mount(2),
                umount(2), swapon(2), swapoff(2), sethostname(2) и
                setdomainname(2);
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ Ð¿ÑивилегиÑованнÑе
                опеÑаÑии syslog(2) (наÑÐ¸Ð½Ð°Ñ Ñ Linux 2.6.37, длÑ
                ÑÑÐ¸Ñ Ð¾Ð¿ÐµÑаÑий нÑжно иÑполÑзоваÑÑ
                CAP_SYSLOG);
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ VM86_REQUEST_IRQ
                vm86(2);
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ Ð¾Ð¿ÐµÑаÑии IPC_SET и
                IPC_RMID над пÑоизволÑнÑми обÑекÑами
                System V IPC;
              * ÐозволÑÐµÑ Ð¿ÐµÑезапиÑÑваÑÑ Ð¾Ð³ÑаниÑение
                ÑеÑÑÑÑа RLIMIT_NPROC;
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ Ð¾Ð¿ÐµÑаÑии над
                ÑаÑÑиÑеннÑми аÑÑибÑÑами trusted и security
                (ÑмоÑÑиÑе xattr(7));
              * ÐозволÑÐµÑ Ð¸ÑполÑзоваÑÑ lookup_dcookie(2);
              * ÐозволÑÐµÑ Ð¸ÑполÑзоваÑÑ ioprio_set(2) длÑ
                назнаÑÐµÐ½Ð¸Ñ ÐºÐ»Ð°ÑÑов планиÑованиÑ
                ввода-вÑвода IOPRIO_CLASS_RT и (до Linux 2.6.25)
                IOPRIO_CLASS_IDLE;
              * ÐозволÑÐµÑ Ð¿Ð¾Ð´Ð´ÐµÐ»ÑваÑÑ PID пÑи пеÑедаÑе
                мандаÑов ÑокеÑа ÑеÑез доменнÑе ÑокеÑÑ
                UNIX;
              * ÐозволÑÐµÑ Ð¿ÑевÑÑаÑÑ /proc/sys/fs/file-max,
                ÑиÑÑемное огÑаниÑение на колиÑеÑÑво
                оÑкÑÑÑÑÑ Ñайлов, в ÑиÑÑемнÑÑ Ð²ÑзоваÑ,
                оÑкÑÑваÑÑÐ¸Ñ ÑÐ°Ð¹Ð»Ñ (напÑимеÑ, accept(2),
                execve(2), open(2), pipe(2));
              * ÐозволÑÐµÑ Ð·Ð°Ð´ÐµÐ¹ÑÑвоваÑÑ Ñлаги CLONE_*,
                коÑоÑÑе ÑоздаÑÑ Ð½Ð¾Ð²Ñе пÑоÑÑÑанÑÑва имÑн Ñ
                помоÑÑÑ clone(2) и unshare(2)) (наÑÐ¸Ð½Ð°Ñ Ñ Linux 3.8
                Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкиÑ
                пÑоÑÑÑанÑÑв имÑн болÑÑе никакиÑ
                мандаÑов не ÑÑебÑеÑÑÑ);
              * ÐозволÑÐµÑ Ð²ÑзÑваÑÑ perf_event_open(2);
              * ÐозволÑÐµÑ Ð¿Ð¾Ð»ÑÑаÑÑ Ð´Ð¾ÑÑÑп к инÑоÑмаÑии о
                пÑивилегиÑованном ÑобÑÑии perf;
              * ÐозволÑÐµÑ Ð²ÑзÑваÑÑ setns(2) (ÑÑебÑеÑÑÑ
                CAP_SYS_ADMIN в пÑоÑÑÑанÑÑве имÑн
                назнаÑениÑ);
              * ÐозволÑÐµÑ Ð²ÑзÑваÑÑ fanotify_init(2);
              * ÐозволÑÐµÑ Ð²ÑзÑваÑÑ bpf(2);
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ Ð¾Ð¿ÐµÑаÑии KEYCTL_CHOWN и
                KEYCTL_SETPERM в keyctl(2);
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ Ð¾Ð¿ÐµÑаÑÐ¸Ñ MADV_HWPOISON в
                madvise(2);
              * ÐозволÑÐµÑ Ð·Ð°Ð´ÐµÐ¹ÑÑвоваÑÑ TIOCSTI в ioctl(2)
                Ð´Ð»Ñ Ð²ÑÑавки Ñимволов во вÑоднÑÑ
                оÑеÑÐµÐ´Ñ ÑеÑминала, оÑлиÑного оÑ
                ÑпÑавлÑÑÑего ÑеÑминала вÑзÑваÑÑего;
              * ÐозволÑÐµÑ Ð·Ð°Ð´ÐµÐ¹ÑÑвоваÑÑ ÑÑÑаÑевÑий
                ÑиÑÑемнÑй вÑзов nfsservctl(2);
              * ÐозволÑÐµÑ Ð·Ð°Ð´ÐµÐ¹ÑÑвоваÑÑ ÑÑÑаÑевÑий
                ÑиÑÑемнÑй вÑзов bdflush(2);
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ ÑазлиÑнÑе
                пÑивилегиÑованнÑе опеÑаÑии ioctl(2) над
                блоÑнÑми ÑÑÑÑойÑÑвами;
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ ÑазлиÑнÑе
                пÑивилегиÑованнÑе опеÑаÑии ioctl(2) над
                Ñайловой ÑиÑÑемой;
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ Ð°Ð´Ð¼Ð¸Ð½Ð¸ÑÑÑаÑивнÑе
                опеÑаÑии над многими дÑайвеÑами
                ÑÑÑÑойÑÑв.

       CAP_SYS_BOOT
              ÐозволÑÐµÑ Ð¸ÑполÑзоваÑÑ reboot(2) и kexec_load(2).

       CAP_SYS_CHROOT
              ÐозволÑÐµÑ Ð¸ÑполÑзоваÑÑ chroot(2).

       CAP_SYS_MODULE
              ÐозволÑÐµÑ Ð·Ð°Ð³ÑÑжаÑÑ Ð¸ вÑгÑÑжаÑÑ Ð¼Ð¾Ð´Ñли
              ÑдÑа (ÑмоÑÑиÑе init_module(2) и delete_module(2)); в
              ÑдÑÐ°Ñ Ð´Ð¾ веÑÑии 2.6.25: позволÑÐµÑ Ð¾ÑзÑваÑÑ
              мандаÑÑ Ð¸Ð· ÑиÑÑемного огÑаниÑиваÑÑего
              набоÑа мандаÑов.

       CAP_SYS_NICE
              * ÐозволÑÐµÑ Ð¿Ð¾Ð²ÑÑаÑÑ Ð·Ð½Ð°Ñение ÑÑÑÑпÑивоÑÑи
                пÑоÑеÑÑа (nice(2), setpriority(2)) и изменÑÑÑ
                знаÑение ÑÑÑÑпÑивоÑÑи Ñ Ð¿ÑоизволÑнÑÑ
                пÑоÑеÑÑов;
              * ÐозволÑÐµÑ Ð½Ð°Ð·Ð½Ð°ÑаÑÑ Ð¿Ð¾Ð»Ð¸Ñики
                планиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑеалÑного вÑемени длÑ
                вÑзÑваÑÑего пÑоÑеÑÑа и назнаÑаÑÑ
                полиÑики планиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ пÑиоÑиÑеÑÑ
                Ð´Ð»Ñ Ð¿ÑоизволÑнÑÑ Ð¿ÑоÑеÑÑов
                (sched_setscheduler(2), sched_setparam(2), shed_setattr(2));
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ Ð¿ÑивÑÐ·ÐºÑ Ðº ЦРдлÑ
                пÑоизволÑнÑÑ Ð¿ÑоÑеÑÑов (sched_setaffinity(2));
              * ÐозволÑÐµÑ Ð½Ð°Ð·Ð½Ð°ÑаÑÑ ÐºÐ»Ð°ÑÑ
                планиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð²Ð²Ð¾Ð´Ð°-вÑвода и
                пÑиоÑиÑÐµÑ Ð´Ð»Ñ Ð¿ÑоизволÑнÑÑ Ð¿ÑоÑеÑÑов
                (ioprio_set(2));
              * ÐозволÑÐµÑ Ð¿ÑименÑÑÑ migrate_pages(2) к
                пÑоизволÑнÑм пÑоÑеÑÑам Ð´Ð»Ñ Ð¸Ñ
                пеÑемеÑÐµÐ½Ð¸Ñ Ð½Ð° пÑоизволÑнÑе ÑзлÑ;
              * ÐозволÑÐµÑ Ð¿ÑименÑÑÑ move_pages(2) к
                пÑоизволÑнÑм пÑоÑеÑÑам;
              * ÐозволÑÐµÑ Ð¸ÑполÑзоваÑÑ Ñлаг MPOL_MF_MOVE_ALL
                в mbind(2) и move_pages(2).

       CAP_SYS_PACCT
              ÐозволÑÐµÑ Ð¸ÑполÑзоваÑÑ acct(2).

       CAP_SYS_PTRACE
              *  ÐозволÑÐµÑ ÑÑаÑÑиÑоваÑÑ Ð»Ñбой пÑоÑеÑÑ Ñ
                 помоÑÑÑ ptrace(2);
              *  ÐозволÑÐµÑ Ð¿ÑименÑÑÑ get_robust_list(2) к
                 пÑоизволÑнÑм пÑоÑеÑÑам;
              *  ÐозволÑÐµÑ Ð¿ÐµÑемеÑаÑÑ Ð´Ð°Ð½Ð½Ñе в/из
                 памÑÑи пÑоизволÑного пÑоÑеÑÑа Ñ
                 помоÑÑÑ process_vm_readv(2) и process_vm_writev(2);
              *  ÐозволÑÐµÑ Ð¸Ð·ÑÑаÑÑ Ð¿ÑоÑеÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ kcmp(2).

       CAP_SYS_RAWIO
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ Ð¾Ð¿ÐµÑаÑии
                ввода-вÑвода из поÑÑов (iopl(2) и ioperm(2));
              * РазÑеÑÐ°ÐµÑ Ð´Ð¾ÑÑÑп к /proc/kcore;
              * ÐозволÑÐµÑ Ð·Ð°Ð´ÐµÐ¹ÑÑвоваÑÑ Ð¾Ð¿ÐµÑаÑÐ¸Ñ FIBMAP в
                ioctl(2);
              * ÐозволÑÐµÑ Ð¾ÑкÑÑваÑÑ ÑÑÑÑойÑÑва Ð´Ð»Ñ Ð´Ð¾ÑÑÑпа
                к ÑпеÑиалÑнÑм ÑегиÑÑÑам x86 (MSR, ÑмоÑÑиÑе
                msr(4));
              * ÐозволÑÐµÑ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑÑÑ /proc/sys/vm/mmap_min_addr;
              * ÐозволÑÐµÑ ÑоздаваÑÑ Ð¾ÑобÑÐ°Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼ÑÑи
                по адÑеÑам менÑÑе знаÑениÑ,
                заданного в /proc/sys/vm/mmap_min_addr;
              * ÐозволÑÐµÑ Ð¾ÑобÑажаÑÑ ÑÐ°Ð¹Ð»Ñ Ð² /proc/bus/pci;
              * ÐозволÑÐµÑ Ð¾ÑкÑÑваÑÑ /dev/mem и /dev/kmem;
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ ÑазлиÑнÑе командÑ
                ÑÑÑÑойÑÑв SCSI;
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ Ð¾Ð¿ÑеделÑннÑе
                опеÑаÑии Ñ ÑÑÑÑойÑÑвами hpsa(4) и cciss(4);
              * ÐозволÑÐµÑ Ð²ÑполнÑÑÑ Ð½ÐµÐºÐ¾ÑоÑÑе
                ÑпеÑиалÑнÑе опеÑаÑии Ñ Ð´ÑÑгими
                ÑÑÑÑойÑÑвами.

       CAP_SYS_RESOURCE
              * ÐозволÑÐµÑ Ð¸ÑполÑзоваÑÑ
                заÑезеÑвиÑованное пÑоÑÑÑанÑÑво
                ÑайловÑÑ ÑиÑÑем ext2;
              * ÐозволÑÐµÑ Ð´ÐµÐ»Ð°ÑÑ Ð²ÑÐ·Ð¾Ð²Ñ ioctl(2),
                ÑпÑавлÑÑÑие жÑÑналиÑованием ext3;
              * ÐозволÑÐµÑ Ð¿ÑевÑÑаÑÑ Ð¾Ð³ÑаниÑение
                диÑковой квоÑÑ;
              * ÐозволÑÐµÑ ÑвелиÑиваÑÑ Ð¾Ð³ÑаниÑÐµÐ½Ð¸Ñ Ð¿Ð¾
                ÑеÑÑÑÑам (ÑмоÑÑиÑе setrlimit(2));
              * ÐозволÑÐµÑ Ð¿ÐµÑезапиÑÑваÑÑ Ð¾Ð³ÑаниÑение
                ÑеÑÑÑÑа RLIMIT_NPROC;
              * ÐозволÑÐµÑ Ð¿ÑевÑÑаÑÑ Ð¼Ð°ÐºÑималÑное
                колиÑеÑÑво конÑолей пÑи вÑделении
                конÑоли;
              * ÐозволÑÐµÑ Ð¿ÑевÑÑаÑÑ Ð¼Ð°ÐºÑималÑное
                колиÑеÑÑво ÑаÑкладок;
              * ÐозволÑÐµÑ Ð¸ÑполÑзоваÑÑ Ð±Ð¾Ð»ÐµÐµ Ñем 64hz
                пÑеÑÑÐ²Ð°Ð½Ð¸Ñ Ð¸Ð· ÑаÑов ÑеалÑного вÑемени;
              * ÐозволÑÐµÑ Ð½Ð°Ð·Ð½Ð°ÑаÑÑ Ð·Ð½Ð°Ñение msg_qbytes
                оÑеÑеди ÑообÑений System V болÑÑе
                огÑаниÑÐµÐ½Ð¸Ñ /proc/sys/kernel/msgmnb (ÑмоÑÑиÑе
                msgop(2) и msgctl(2));
              * ÐозволÑÐµÑ Ð¿ÑевÑÑаÑÑ Ð¾Ð³ÑаниÑение
                /proc/sys/fs/pipe-size-max пÑи назнаÑении
                вмеÑÑимоÑÑи канала Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ
                F_SETPIPE_SZ Ñ fcntl(2).
              * ÐозволÑÐµÑ Ð¸ÑполÑзоваÑÑ F_SETPIPE_SZ длÑ
                ÑвелиÑÐµÐ½Ð¸Ñ Ð²Ð¼ÐµÑÑимоÑÑи канала болÑÑе
                Ñем огÑаниÑение, задаваемое в
                /proc/sys/fs/pipe-max-size;
              * ÐозволÑÐµÑ Ð¿ÑевÑÑаÑÑ Ð¾Ð³ÑаниÑение
                /proc/sys/fs/mqueue/queues_max пÑи Ñоздании
                оÑеÑедей ÑообÑений POSIX (ÑмоÑÑиÑе
                mq_overview(7));
              * ÐозволÑÐµÑ Ð·Ð°Ð´ÐµÐ¹ÑÑвоваÑÑ Ð¾Ð¿ÐµÑаÑÐ¸Ñ PR_SET_MM
                в prctl(2);
              * ÐозволÑÐµÑ ÑÑÑанавливаÑÑ
                /proc/[pid]/oom_score_adj в знаÑение менÑÑее,
                Ñем поÑледнее ÑÑÑановленное
                знаÑение пÑоÑеÑÑом Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ CAP_SYS_RESOURCE.

       CAP_SYS_TIME
              ÐозволÑÐµÑ Ð½Ð°ÑÑÑаиваÑÑ ÑиÑÑемнÑе ÑаÑÑ
              (settimeofday(2), stime(2), adjtimex(2)) и ÑаÑÑ
              ÑеалÑного вÑемени (аппаÑаÑнÑе).

       CAP_SYS_TTY_CONFIG
              ÐозволÑÐµÑ Ð¸ÑполÑзоваÑÑ vhangup(2);
              задейÑÑвоваÑÑ ÑазлиÑнÑе
              пÑивилегиÑованнÑе опеÑаÑии ioctl(2) Ñ
              виÑÑÑалÑнÑми ÑеÑминалами.

       CAP_SYSLOG (наÑÐ¸Ð½Ð°Ñ Ñ Linux 2.6.37)
              *  ÐозволÑÐµÑ Ð²ÑполнÑÑÑ
                 пÑивилегиÑованнÑе опеÑаÑии syslog(2).
                 СмоÑÑиÑе в syslog(2) какие опеÑаÑии
                 ÑÑебÑÑÑ Ð¿Ñав.
              *  ÐозволÑÐµÑ Ð¿ÑоÑмаÑÑиваÑÑ Ð°Ð´ÑеÑа ÑдÑа,
                 показÑваемÑе в /proc и дÑÑгиÑ
                 инÑеÑÑейÑаÑ, когда знаÑение
                 /proc/sys/kernel/kptr_restrict Ñавно 1 (ÑмоÑÑиÑе
                 опиÑание kptr_restrict в proc(5)).

       CAP_WAKE_ALARM (наÑÐ¸Ð½Ð°Ñ Ñ Linux 3.0)
              ÐозволÑÐµÑ Ð²ÑзÑваÑÑ ÑÑо-либо пÑи
              пÑобÑждении ÑиÑÑÐµÐ¼Ñ (ÑÑÑанавливаÑÑ
              ÑаймеÑÑ CLOCK_REALTIME_ALARM и CLOCK_BOOTTIME_ALARM).

   СÑаÑÐ°Ñ Ð¸ ÑекÑÑÐ°Ñ ÑеализаÑии
       ÐÐ»Ñ Ð¿Ð¾Ð»Ð½Ð¾Ð¹ ÑеализаÑии мандаÑов ÑÑебÑеÑÑÑ:

       1. ÐÐ»Ñ Ð²ÑÐµÑ Ð¿ÑивилегиÑованнÑÑ Ð¾Ð¿ÐµÑаÑий ÑдÑо
          должно пÑовеÑÑÑÑ, Ð¸Ð¼ÐµÐµÑ Ð»Ð¸ ниÑÑ ÑÑебÑемÑй
          Ð¼Ð°Ð½Ð´Ð°Ñ Ð² его ÑÑÑекÑивном набоÑе.

       2. ЯдÑо должно пÑедоÑÑавлÑÑÑ ÑиÑÑемнÑе вÑзовÑ,
          позволÑÑÑие полÑÑаÑÑ Ð¸ изменÑÑÑ Ð½Ð°Ð±Ð¾ÑÑ
          мандаÑов ниÑи.

       3. Ð¤Ð°Ð¹Ð»Ð¾Ð²Ð°Ñ ÑиÑÑема должна поддеÑживаÑÑ
          пÑиÑоединение мандаÑов к иÑполнÑемомÑ
          ÑÐ°Ð¹Ð»Ñ Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¿Ñи иÑполнении Ñайла
          Ñ Ð¿ÑоÑеÑÑа повÑÑалиÑÑ Ð¿Ñава ÑоглаÑно ÑÑим
          мандаÑам.

       Ðо ÑдÑа веÑÑии 2.6.24 бÑли ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ ÑолÑко
       пеÑвÑе два пÑнкÑа; наÑÐ¸Ð½Ð°Ñ Ñ Ð²ÐµÑÑии 2.6.24
       ÑÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ñ Ð²Ñе ÑÑи пÑнкÑа.

   ÐабоÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов ниÑи
       ÐÐ°Ð¶Ð´Ð°Ñ Ð½Ð¸ÑÑ Ð¸Ð¼ÐµÐµÑ ÑÑи набоÑа мандаÑов,
       ÑодеÑжаÑÐ¸Ñ Ð½Ð¾Ð»Ñ Ð¸Ð»Ð¸ более пеÑеÑиÑленнÑÑ Ð²ÑÑе
       мандаÑов:

       Permitted:
              ÐгÑаниÑиваÑÑий Ð½Ð°Ð±Ð¾Ñ ÑÑÑекÑивнÑÑ
              мандаÑов, коÑоÑÑми наделÑеÑÑÑ Ð½Ð¸ÑÑ. ÐÑоÑ
              Ð½Ð°Ð±Ð¾Ñ Ñакже огÑаниÑÐ¸Ð²Ð°ÐµÑ ÑпиÑок
              мандаÑов, коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ Ð²
              наÑледÑемÑй Ð½Ð°Ð±Ð¾Ñ Ð´Ð»Ñ Ð½Ð¸Ñи, коÑоÑÐ°Ñ Ð½Ðµ
              Ð¸Ð¼ÐµÐµÑ Ð¼Ð°Ð½Ð´Ð°Ñа CAP_SETPCAP в ÑвоÑм
              ÑÑÑекÑивном набоÑе.

              ÐÑли ниÑÑ ÑбÑаÑÑÐ²Ð°ÐµÑ Ð¼Ð°Ð½Ð´Ð°Ñ Ð² ÑвоÑм
              ÑазÑеÑиÑелÑном набоÑе, Ñо она не ÑможеÑ
              полÑÑиÑÑ ÐµÐ³Ð¾ назад (еÑли ÑолÑко не
              вÑполнÑеÑÑÑ execve(2) Ð´Ð»Ñ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ñ
              set-user-ID-root или пÑогÑамма, ÑÑи
              ÑооÑвеÑÑÑвÑÑÑие мандаÑÑ Ñайла
              пÑедоÑÑавлÑÑÑ ÑÑÐ¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñ).

       Inheritable:
              ÐÑÐ¾Ñ Ð½Ð°Ð±Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов ÑоÑÑанÑеÑÑÑ Ð¿Ñи
              вÑзове execve(2). ÐаÑледÑемÑе мандаÑÑ
              оÑÑаÑÑÑÑ Ð½Ð°ÑледÑемÑми пÑи вÑполнении
              лÑбой пÑогÑаммÑ, и наÑледÑемÑе мандаÑÑ
              добавлÑÑÑÑÑ Ð² ÑазÑеÑиÑелÑнÑй набоÑ, еÑли
              вÑполнÑÑÑаÑÑÑ Ð¿ÑогÑамма имееÑ
              ÑооÑвеÑÑÑвÑÑÑие ÑÑÑановленнÑе биÑÑ Ð²
              Ñайловом наÑледÑемом набоÑе.

              Так как наÑледÑемÑе мандаÑÑ, обÑÑно, не
              ÑоÑÑанÑÑÑÑÑ Ð¿Ð¾Ñле execve(2), еÑли вÑполнение
              пÑоиÑÑÐ¾Ð´Ð¸Ñ Ð½Ðµ Ð¾Ñ ÑÑпеÑполÑзоваÑелÑ, Ñо
              Ð´Ð»Ñ Ð¿Ñиложений, коÑоÑÑм нÑжно вÑполнÑÑÑ
              вÑпомогаÑелÑнÑе пÑогÑÐ°Ð¼Ð¼Ñ Ñ Ð¿Ð¾Ð²ÑÑеннÑми
              мандаÑами, нÑжно иÑполÑзоваÑÑ Ð½Ð°ÑÑжнÑе
              мандаÑÑ (ambient capabilities), опиÑаннÑе ниже.

       Effective:
              ÐаннÑй Ð½Ð°Ð±Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов иÑполÑзÑеÑÑÑ ÑдÑом
              пÑи вÑполнении пÑовеÑок пÑав ниÑи.

       Ambient (наÑÐ¸Ð½Ð°Ñ Ñ Linux 4.3):
              ÐаннÑй Ð½Ð°Ð±Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов ÑоÑÑанÑеÑÑÑ Ð¿Ð¾Ñле
              execve(2) Ð´Ð»Ñ Ð½ÐµÐ¿ÑивилегиÑованнÑÑ
              пÑогÑамм. ÐÐ»Ñ Ð½Ð°Ð±Ð¾Ñа наÑÑжнÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов
              (ambient capability set) ÑоблÑдаеÑÑÑ Ð¿Ñавило, ÑÑо
              ни один Ð¼Ð°Ð½Ð´Ð°Ñ Ð½Ðµ ÑÐ¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð½Ð°ÑÑжнÑм,
              еÑли он одновÑеменно ÑазÑеÑаÑÑий и
              наÑледÑемÑй.

              ÐÐ°Ð±Ð¾Ñ Ð½Ð°ÑÑжнÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов можно
              непоÑÑедÑÑвенно изменÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ prctl(2).
              ÐаÑÑжнÑе мандаÑÑ Ð°Ð²ÑомаÑиÑеÑки
              понижаÑÑÑÑ, еÑли понижаÑÑÑÑ
              ÑооÑвеÑÑÑвÑÑÑие ÑазÑеÑиÑелÑнÑе или
              наÑледÑемÑе мандаÑÑ.

              У вÑполнÑÑÑейÑÑ Ð¿ÑогÑаммÑ, Ñ ÐºÐ¾ÑоÑой
              изменилиÑÑ UID или GID из-за Ð±Ð¸Ñ set-user-ID
              или set-group-ID, или Ñ Ð²ÑполнÑÑÑейÑÑ
              пÑогÑÐ°Ð¼Ð¼Ñ ÑÑÑановлен лÑбой набоÑ
              ÑайловÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов,оÑиÑаеÑÑÑ Ð½Ð°ÑÑжнÑй
              набоÑ. ÐаÑÑжнÑе мандаÑÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÑÑÑÑÑ Ð²
              ÑазÑеÑаÑÑий Ð½Ð°Ð±Ð¾Ñ Ð¸ назнаÑаÑÑÑÑ Ð²
              ÑÑÑекÑивнÑй Ð½Ð°Ð±Ð¾Ñ Ð¿Ñи вÑзове execve(2).

       ÐоÑомок, ÑозданнÑй fork(2), наÑледÑÐµÑ ÐºÐ¾Ð¿Ð¸Ð¸
       набоÑов мандаÑов Ñвоего ÑодиÑелÑ. Ðалее
       ÑмоÑÑиÑе опиÑание оÑноÑÐµÐ½Ð¸Ñ Ðº мандаÑами пÑи
       execve(2).

       С помоÑÑÑ capset(2) ниÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¸Ð·Ð¼ÐµÐ½ÑÑÑ Ñвои
       набоÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов (ÑмоÑÑиÑе далее).

       ÐаÑÐ¸Ð½Ð°Ñ Ñ Linux 3.2, Ñайл /proc/sys/kernel/cap_last_cap
       ÑодеÑÐ¶Ð¸Ñ ÑиÑловое знаÑение Ñамого болÑÑого
       мандаÑа, поддеÑживаемого ÑабоÑаÑÑим ÑдÑом;
       ÑÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¸ÑполÑзовано Ð´Ð»Ñ Ð¾Ð¿ÑеделениÑ
       наиболÑÑего биÑа, коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ
       ÑÑÑановлен в набоÑе мандаÑов.

   ФайловÑе мандаÑÑ
       ÐаÑÐ¸Ð½Ð°Ñ Ñ ÑдÑа веÑÑии 2.6.24, поддеÑживаеÑÑÑ
       ÑвÑÐ·Ñ Ð½Ð°Ð±Ð¾Ñов мандаÑов Ñ Ð¸ÑполнÑемÑм Ñайлом
       Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ setcap(8). ÐабоÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов Ñайла ÑÑанÑÑÑÑ
       в ÑаÑÑиÑенном аÑÑибÑÑе (ÑмоÑÑиÑе setxattr(2)) Ñ
       именем security.capability. ÐÐ»Ñ Ð·Ð°Ð¿Ð¸Ñи в ÑÑоÑ
       ÑаÑÑиÑеннÑй аÑÑибÑÑ ÑÑебÑеÑÑÑ Ð¼Ð°Ð½Ð´Ð°Ñ CAP_SETFCAP.
       ÐабоÑÑ ÑайловÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов вмеÑÑе Ñ Ð½Ð°Ð±Ð¾Ñами
       мандаÑов ниÑи опÑеделÑÑÑ Ð½Ð°Ð±Ð¾ÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов
       ниÑи поÑле вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ execve(2).

       ТÑи ÑайловÑÑ Ð½Ð°Ð±Ð¾Ñа мандаÑов:

       Permitted (Ñанее назÑвавÑийÑÑ forced):
              ÐÑи мандаÑÑ Ð°Ð²ÑомаÑиÑеÑки ÑазÑеÑаÑÑÑÑ Ð½Ð¸Ñи
              незавиÑимо Ð¾Ñ ÑнаÑледованнÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов
              ниÑи.

       Inheritable (Ñанее назÑвавÑийÑÑ allowed):
              ÐÑÐ¾Ñ Ð½Ð°Ð±Ð¾Ñ Ð¾Ð±ÑединÑеÑÑÑ (AND) Ñ
              ÑнаÑледованнÑм набоÑом ниÑи длÑ
              опÑеделениÑ, какие ÑнаÑледованнÑе
              мандаÑÑ Ð±ÑдÑÑ Ð²ÐºÐ»ÑÑÐµÐ½Ñ Ð² ÑазÑеÑиÑелÑнÑй
              Ð½Ð°Ð±Ð¾Ñ Ð½Ð¸Ñи поÑле execve(2).

       Effective:
              РдейÑÑвиÑелÑноÑÑи, ÑÑо не набоÑ, а
              одиноÑнÑй биÑ. ÐÑли Ð±Ð¸Ñ Ð²ÐºÐ»ÑÑÑн, Ñо пÑи
              вÑзове execve(2) вÑе новÑе ÑазÑеÑÑннÑе
              мандаÑÑ Ð½Ð¸Ñи бÑдÑÑ Ñакже Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ Ð²
              ÑÑÑекÑивнÑй набоÑ. ÐÑли Ð±Ð¸Ñ Ð²ÑклÑÑен, Ñо
              поÑле execve(2) ни один из новÑÑ ÑазÑеÑÑннÑÑ
              мандаÑов не бÑÐ´ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½ в новÑй
              ÑÑÑекÑивнÑй набоÑ.

              ÐклÑÑение ÑÑÑекÑивного Ñайлового
              мандаÑного биÑа подÑазÑмеваеÑ, ÑÑо
              лÑбой ÑайловÑй ÑазÑеÑиÑелÑнÑй или
              наÑледÑемÑй мандаÑ, коÑоÑÑй позволÑеÑ
              ниÑи полÑÑиÑÑ ÑооÑвеÑÑÑвÑÑÑий
              ÑазÑеÑиÑелÑнÑй Ð¼Ð°Ð½Ð´Ð°Ñ Ð¿Ñи execve(2) (ÑмоÑÑиÑе
              пÑавила пÑеобÑазованиÑ, опиÑаннÑе
              далее), Ñакже полÑÑÐ¸Ñ ÑÑÐ¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñ Ð²
              ÑÑÑекÑивном набоÑе. ÐоÑÑомÑ, когда
              назнаÑаÑÑÑÑ Ð¼Ð°Ð½Ð´Ð°ÑÑ ÑÐ°Ð¹Ð»Ñ (setcap(8),
              cap_set_file(3), cap_set_fd(3)), еÑли Ð¼Ñ Ñкажем
              ÑÑÑекÑивнÑй Ñлаг как вклÑÑÑннÑй длÑ
              лÑбого мандаÑа, Ñо ÑÑÑекÑивнÑй Ñлаг
              должен Ñакже бÑÑÑ Ñказан вклÑÑÑннÑм длÑ
              вÑÐµÑ Ð¾ÑÑалÑнÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов, Ð´Ð»Ñ ÐºÐ¾ÑоÑÑÑ
              вклÑÑÑн ÑооÑвеÑÑÑвÑÑÑий ÑазÑеÑиÑелÑнÑй или
              наÑледÑемÑй Ñлаги.

       ÐабоÑÑ ÑайловÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов игноÑиÑÑÑÑÑÑ, еÑли
       иÑполнÑемÑй Ñайл наÑодиÑÑÑ Ð² Ñайловой
       ÑиÑÑеме, коÑоÑÐ°Ñ ÑмонÑиÑована Ñ Ð¿Ð°ÑамеÑÑом
       nosuid (ÑмоÑÑиÑе mount(2) и mount(8)).

   ÐÑеобÑазование мандаÑов пÑи execve()
       ÐÑи execve(2) ÑдÑо вÑÑиÑлÑÐµÑ Ð½Ð¾Ð²Ñе мандаÑÑ Ð¿ÑоÑеÑÑа
       по ÑледÑÑÑÐµÐ¼Ñ Ð°Ð»Ð³Ð¾ÑиÑмÑ:

           P'(ambient) = (пÑивилегиÑованнÑй Ñайл) ? 0 : P(ambient)

           P'(permitted) = (P(inheritable) & F(inheritable)) |
                           (F(permitted) & cap_bset) | P'(ambient)

           P'(effective) = F(effective) ? P'(permitted) : P'(ambient)

           P'(inheritable) = P(inheritable)    [Ñ. е., не изменÑеÑÑÑ]

       где:

           P         знаÑение набоÑа мандаÑов ниÑи до
                     execve(2)

           P'        знаÑение набоÑа мандаÑов ниÑи
                     поÑле execve(2)

           F         ÑайловÑй Ð½Ð°Ð±Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов

           cap_bset  знаÑение огÑаниÑиваÑÑего набоÑа
                     мандаÑов (опиÑано далее).

       ÐÑивилегиÑованнÑй Ñайл â ÑÑо Ñайл, имеÑÑий
       мандаÑÑ, или Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ ÑÑÑановлен Ð±Ð¸Ñ set-user-ID
       или set-group-ID.

   ÐÑовеÑка на безопаÑноÑÑÑ Ð´Ð²Ð¾Ð¸ÑнÑÑ Ñайлов, не
       оÑзÑвÑивÑÑ Ðº мандаÑам
       ÐвоиÑнÑй Ñайл, не оÑзÑвÑивÑй к мандаÑам
       (capability-dumb binary) â ÑÑо пÑиложение, коÑоÑое
       помеÑено как имеÑÑее ÑайловÑе мандаÑÑ, но
       не пÑеобÑазованное Ð´Ð»Ñ ÑабоÑÑ Ñ Ð¿ÑогÑаммнÑм
       инÑеÑÑейÑом libcap(3) Ð´Ð»Ñ ÑпÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ñвоими
       мандаÑами (инаÑе говоÑÑ, ÑÑо обÑÑнаÑ
       set-user-ID-root пÑогÑамма, Ñ ÐºÐ¾ÑоÑой Ñказали
       ÑайловÑе мандаÑÑ, но код коÑоÑой не бÑл
       изменÑн Ð´Ð»Ñ Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ð½Ð¸Ñ Ð¼Ð°Ð½Ð´Ð°Ñов). У ÑакиÑ
       пÑиложений на Ñайле ÑÑÑановлен ÑÑÑекÑивнÑй
       ÑайловÑй мандаÑнÑй биÑ, из-за Ñего пÑи
       иÑполнении Ñайла Ñ ÐµÐ³Ð¾ пÑоÑеÑÑа в
       ÑÑÑекÑивном набоÑе авÑомаÑиÑеÑки вклÑÑаÑÑÑÑ
       ÑазÑеÑиÑелÑнÑе мандаÑÑ. ÐÑли ÑдÑо ÑÑиÑÐ°ÐµÑ Ñайл Ñ
       ÑÑÑановленнÑм ÑÑÑекÑивнÑм ÑайловÑм
       мандаÑнÑм биÑом не оÑзÑвÑивÑм к мандаÑам,
       Ñо вÑполнÑÑÑÑÑ Ð¿ÑовеÑки, опиÑаннÑе далее.

       ÐÑи запÑÑке вÑполнÑемого Ñайла, не
       оÑзÑвÑивого к мандаÑам, ÑдÑо пÑовеÑÑеÑ
       полÑÑил ли пÑоÑеÑÑ Ð²Ñе ÑазÑеÑиÑелÑнÑе мандаÑÑ,
       ÑказаннÑе в Ñайловом ÑазÑеÑиÑелÑном
       набоÑе, поÑле пÑеобÑазований мандаÑов,
       опиÑаннÑÑ Ð²ÑÑе (обÑÑной пÑиÑиной, поÑÐµÐ¼Ñ ÑÑо
       Ð¼Ð¾Ð¶ÐµÑ Ð½Ðµ пÑоизойÑи, ÑвлÑеÑÑÑ Ñо, ÑÑо
       огÑаниÑиваÑÑий Ð½Ð°Ð±Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов пеÑекÑÑваеÑ
       некоÑоÑÑе мандаÑÑ Ð¸Ð· Ñайлового
       ÑазÑеÑиÑелÑного набоÑа). ÐÑли пÑоÑеÑÑ Ð½Ðµ
       полÑÑил полнÑй Ð½Ð°Ð±Ð¾Ñ ÑайловÑÑ ÑазÑеÑиÑелÑнÑÑ
       мандаÑов, Ñо execve(2) завеÑÑиÑÑÑ Ñ Ð¾Ñибкой EPERM.
       ÐÑо пÑедоÑвÑаÑÐ°ÐµÑ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ðµ пÑоблем Ñ
       безопаÑноÑÑÑÑ, коÑоÑÑе могли Ð±Ñ Ð¿Ð¾ÑвиÑÑÑÑ,
       еÑли пÑиложение, не оÑзÑвÑивое к мандаÑам,
       вÑполнÑеÑÑÑ Ñ Ð¼ÐµÐ½ÑÑими пÑавами Ñем ÑÑебÑеÑÑÑ.
       ÐамеÑим, ÑÑо по опÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñамо
       пÑиложение не Ð¼Ð¾Ð¶ÐµÑ ÑвидеÑÑ ÑÑÑ Ð¿ÑоблемÑ,
       Ñак как не иÑполÑзÑеÑÑÑ Ð¿ÑогÑаммнÑй инÑеÑÑейÑ
       libcap(3).

   ÐандаÑÑ Ð¸ вÑполнение пÑогÑÐ°Ð¼Ð¼Ñ Ñ Ð¿Ñавами root
       ЧÑÐ¾Ð±Ñ Ð¿ÑедоÑÑавиÑÑ Ð²ÑÑ Ð¼Ð¾ÑÑ Ð½Ð°Ð±Ð¾Ñа мандаÑов
       root в execve(2):

       1. ÐÑли вÑполнÑеÑÑÑ Ð¿ÑогÑамма Ñ ÑÑÑановленнÑм
          биÑом set-user-ID-root, или ID ÑеалÑного
          полÑзоваÑÐµÐ»Ñ Ð¿ÑоÑеÑÑа Ñавен 0 (root), Ñо
          пÑедоÑÑавлÑÑÑÑÑ Ð¿Ð¾Ð»Ð½Ñе ÑайловÑе и
          наÑледÑемÑе набоÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов (Ñ. е.,
          ÑазÑеÑÐµÐ½Ñ Ð²Ñе мандаÑÑ).

       2. ÐÑли вÑполнÑеÑÑÑ Ð¿ÑогÑамма Ñ ÑÑÑановленнÑм
          биÑом set-user-ID-root, Ñо ÑÑÑекÑивнÑй ÑайловÑй
          Ð±Ð¸Ñ Ñавен единиÑе (ÑÑÑановлен).

       РезÑлÑÑÐ°Ñ Ð²ÑÑеÑпомÑнÑÑÑÑ Ð¿Ñавил, обÑединÑннÑÑ Ñ
       пÑеобÑазованиÑми мандаÑов опиÑаннÑми
       вÑÑе, Ñаков: когда пÑоÑеÑÑ Ð²ÑполнÑÐµÑ execve(2)
       Ð´Ð»Ñ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ñ Ð±Ð¸Ñом set-user-ID-root, или когда
       пÑоÑеÑÑ Ñ ÑÑÑекÑивнÑм UID 0 вÑполнÑÐµÑ execve(2), Ñо
       он полÑÑÐ°ÐµÑ Ð²Ñе мандаÑÑ Ð¸Ð· ÑазÑеÑиÑелÑного и
       ÑÑÑекÑивного набоÑов, за иÑклÑÑением ÑеÑ,
       коÑоÑÑе оÑÐ¼ÐµÐ½ÐµÐ½Ñ Ð¾Ð³ÑаниÑиваÑÑим набоÑом
       мандаÑов. ÐÑо пÑедоÑÑавлÑÐµÑ ÑеманÑикÑ,
       ÑовпадаÑÑÑÑ Ñ Ð¾Ð±ÑÑнÑми ÑиÑÑемами UNIX.

   ÐгÑаниÑиваÑÑий Ð½Ð°Ð±Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов
       ÐгÑаниÑиваÑÑий Ð½Ð°Ð±Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов â ÑÑо
       меÑанизм безопаÑноÑÑи, коÑоÑÑй можно
       иÑполÑзоваÑÑ Ð´Ð»Ñ Ð¾Ð³ÑаниÑÐµÐ½Ð¸Ñ Ð¼Ð°Ð½Ð´Ð°Ñов,
       коÑоÑÑе могÑÑ Ð±ÑÑÑ Ð¿Ð¾Ð»ÑÑÐµÐ½Ñ Ð¿Ñи execve(2).
       ÐгÑаниÑиваÑÑий Ð½Ð°Ð±Ð¾Ñ Ð¸ÑполÑзÑеÑÑÑ Ñак:

       * ÐÑи execve(2) огÑаниÑиваÑÑий Ð½Ð°Ð±Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов
         ÑкладÑваеÑÑÑ (AND) Ñ ÑайловÑм ÑазÑеÑиÑелÑнÑм
         набоÑом мандаÑов, и ÑезÑлÑÑÐ°Ñ ÑÑой опеÑаÑии
         назнаÑаеÑÑÑ ÑазÑеÑиÑелÑÐ½Ð¾Ð¼Ñ Ð½Ð°Ð±Ð¾ÑÑ
         мандаÑов ниÑи. Таким обÑазом,
         огÑаниÑиваÑÑий Ð½Ð°Ð±Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов
         огÑаниÑÐ¸Ð²Ð°ÐµÑ ÑазÑеÑÑннÑе мандаÑÑ, коÑоÑÑе
         Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑедоÑÑавиÑÑ Ð¸ÑполнÑемÑй Ñайл.

       * (наÑÐ¸Ð½Ð°Ñ Ñ Linux 2.6.25) ÐгÑаниÑиваÑÑий набоÑ
         мандаÑов ÑлÑÐ¶Ð¸Ñ Ð¾Ð³ÑаниÑиваÑÑим набоÑом
         мандаÑов, коÑоÑÑе ниÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ Ð²
         Ñвой наÑледÑемÑй Ð½Ð°Ð±Ð¾Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ capset(2). ÐÑо
         ознаÑаеÑ, ÑÑо еÑли Ð¼Ð°Ð½Ð´Ð°Ñ Ð¾ÑÑÑÑÑÑвÑÐµÑ Ð²
         огÑаниÑиваÑÑем набоÑе мандаÑов, Ñо ниÑÑ Ð½Ðµ
         Ð¼Ð¾Ð¶ÐµÑ Ð´Ð¾Ð±Ð°Ð²Ð¸ÑÑ ÑÑÐ¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñ Ð² Ñвой
         наÑледÑемÑй Ð½Ð°Ð±Ð¾Ñ Ð´Ð°Ð¶Ðµ, еÑли он еÑÑÑ Ð²
         ÑазÑеÑиÑелÑном набоÑе мандаÑов и поÑÑомÑ
         не Ð¼Ð¾Ð¶ÐµÑ ÑоÑÑаниÑÑ Ð´Ð°Ð½Ð½Ñй Ð¼Ð°Ð½Ð´Ð°Ñ Ð²
         ÑазÑеÑиÑелÑнÑй Ð½Ð°Ð±Ð¾Ñ Ð¿Ñи вÑзове execve(2) длÑ
         Ñайла, коÑоÑÑй Ð¸Ð¼ÐµÐµÑ Ð¼Ð°Ð½Ð´Ð°Ñ Ð² ÑвоÑм
         наÑледÑемом набоÑе.

       ÐамеÑим, ÑÑо огÑаниÑиваÑÑий Ð½Ð°Ð±Ð¾Ñ ÑкÑÑваеÑ
       ÑайловÑе ÑазÑеÑиÑелÑнÑе мандаÑÑ, но не
       наÑледÑемÑе мандаÑÑ. ÐÑли ниÑÑ Ð¸Ð¼ÐµÐµÑ Ð¼Ð°Ð½Ð´Ð°Ñ
       в ÑвоÑм наÑледÑемом набоÑе, коÑоÑÑй
       оÑÑÑÑÑÑвÑÐµÑ Ð² огÑаниÑиваÑÑем набоÑе, Ñо она
       по-пÑÐµÐ¶Ð½ÐµÐ¼Ñ Ð¾Ð±Ð»Ð°Ð´Ð°ÐµÑ ÑÑим мандаÑом в ÑвоÑм
       ÑазÑеÑиÑелÑном набоÑе пÑи вÑполнении
       Ñайла, коÑоÑÑй Ð¸Ð¼ÐµÐµÑ Ð¼Ð°Ð½Ð´Ð°Ñ Ð² ÑвоÑм
       наÑледÑемом набоÑе.

       РзавиÑимоÑÑи Ð¾Ñ Ð²ÐµÑÑии ÑдÑа огÑаниÑиваÑÑий
       Ð½Ð°Ð±Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов ÑвлÑеÑÑÑ Ð»Ð¸Ð±Ð¾ ÑиÑÑемнÑм
       ÑвойÑÑвом, либо аÑÑибÑÑом пÑоÑеÑÑа.

       ÐгÑаниÑиваÑÑий Ð½Ð°Ð±Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов до Linux 2.6.25

       Ð ÑдÑÐ°Ñ Ð´Ð¾ веÑÑии 2.6.25 огÑаниÑиваÑÑий набоÑ
       мандаÑов бÑл ÑиÑÑемнÑм аÑÑибÑÑом, коÑоÑÑй
       влиÑл на вÑе ниÑи ÑиÑÑемÑ. ÐгÑаниÑиваÑÑий
       Ð½Ð°Ð±Ð¾Ñ Ð´Ð¾ÑÑÑпен ÑеÑез Ñайл /proc/sys/kernel/cap-bound
       (по непонÑÑной пÑиÑине, даннÑй паÑамеÑÑ,
       биÑÐ¾Ð²Ð°Ñ Ð¼Ð°Ñка, в /proc/sys/kernel/cap-bound
       запиÑÑвалÑÑ Ð² виде знакового деÑÑÑиÑного
       ÑиÑла).

       ТолÑко пÑоÑеÑÑ init Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð´Ð°Ð²Ð°ÑÑ Ð¼Ð°Ð½Ð´Ð°ÑÑ Ð²
       огÑаниÑиваÑÑем набоÑе мандаÑов; помимо
       ÑÑого, ÑÑпеÑполÑзоваÑÐµÐ»Ñ (ÑоÑнее, пÑогÑÐ°Ð¼Ð¼Ñ Ñ
       мандаÑом CAP_SYS_MODULE) могÑÑ ÑолÑко ÑдалÑÑÑ
       мандаÑÑ Ð¸Ð· набоÑа.

       Ð ÑÑандаÑÑной ÑиÑÑеме в огÑаниÑиваÑÑем
       набоÑе мандаÑов вÑегда ÑдалÑеÑÑÑ Ð¼Ð°Ð½Ð´Ð°Ñ
       CAP_SETPCAP. ЧÑÐ¾Ð±Ñ ÑбÑаÑÑ ÑÑо огÑаниÑение
       (опаÑно!), нÑжно измениÑÑ Ð¾Ð¿Ñеделение
       CAP_INIT_EFF_SET в include/linux/capability.h и пеÑеÑобÑаÑÑ
       ÑдÑо.

       СиÑÑемное ÑвойÑÑво, огÑаниÑиваÑÑий набоÑ
       мандаÑов, бÑло добавлено в ÑдÑо Linux веÑÑии
       2.2.11.

       ÐгÑаниÑиваÑÑий Ð½Ð°Ð±Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов наÑÐ¸Ð½Ð°Ñ Ñ Linux
       2.6.25

       ÐаÑÐ¸Ð½Ð°Ñ Ñ Linux 2.6.25, огÑаниÑиваÑÑий набоÑ
       мандаÑов ÑвлÑеÑÑÑ Ð°ÑÑибÑÑом ниÑи (ÑиÑÑемного
       огÑаниÑиваÑÑего набоÑа мандаÑов болÑÑе
       неÑ).

       ÐгÑаниÑиваÑÑий Ð½Ð°Ð±Ð¾Ñ Ð½Ð°ÑледÑеÑÑÑ Ð¿Ñи fork(2) оÑ
       ниÑи ÑодиÑÐµÐ»Ñ Ð¸ ÑоÑÑанÑеÑÑÑ Ð¿Ñи execve(2).

       ÐиÑÑ Ð¼Ð¾Ð¶ÐµÑ ÑдалÑÑÑ Ð¼Ð°Ð½Ð´Ð°ÑÑ Ð¸Ð· Ñвоего
       огÑаниÑиваÑÑего набоÑа мандаÑов Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
       вÑзова prctl(2) Ñ Ð¾Ð¿ÐµÑаÑией PR_CAPBSET_DROP пÑи
       налиÑии мандаÑа CAP_SETPCAP. ÐоÑле ÑдалениÑ
       мандаÑа из огÑаниÑиваÑÑего набоÑа обÑаÑно
       его воÑÑÑановиÑÑ Ð½ÐµÐ²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾. ÐиÑÑ Ð¼Ð¾Ð¶ÐµÑ
       опÑеделиÑÑ Ð½Ð°Ð»Ð¸Ñие мандаÑа в ÑвоÑм
       огÑаниÑиваÑÑем набоÑе Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð²Ñзова prctl(2)
       Ñ Ð¾Ð¿ÐµÑаÑией PR_CAPBSET_READ.

       Удаление мандаÑов из огÑаниÑиваÑÑего
       набоÑа доÑÑÑпно ÑолÑко, еÑли ÑдÑо ÑобÑано Ñ
       поддеÑжкой ÑайловÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов. Ð ÑдÑе Linux до
       веÑÑии 2.6.33 ÑайловÑе мандаÑÑ ÑвлÑлиÑÑ
       необÑзаÑелÑнÑм ÑвойÑÑвом, наÑÑÑаиваемÑм
       паÑамеÑÑом CONFIG_SECURITY_FILE_CAPABILITIES. ÐаÑÐ¸Ð½Ð°Ñ Ñ
       Linux 2.6.33, паÑамеÑÑ Ð½Ð°ÑÑÑойки бÑл ÑдалÑн и
       ÑепеÑÑ ÑайловÑе мандаÑÑ Ð²Ñегда ÑвлÑÑÑÑÑ ÑаÑÑÑÑ
       ÑдÑа. Ðогда ÑайловÑе мандаÑÑ Ð² ÑдÑе, пÑоÑеÑÑ
       init (пÑедок вÑÐµÑ Ð¿ÑоÑеÑÑов) запÑÑкаеÑÑÑ Ñ
       полнÑм огÑаниÑиваÑÑим набоÑом. ÐÑли
       ÑайловÑе мандаÑÑ Ð½Ðµ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ñ Ð² ÑдÑо, Ñо init
       запÑÑкаеÑÑÑ Ñ Ð¿Ð¾Ð»Ð½Ñм огÑаниÑиваÑÑим набоÑом
       минÑÑ CAP_SETPCAP, Ñак как ÑÑÐ¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñ Ð¸Ð¼ÐµÐµÑ
       дÑÑгое знаÑение, еÑли ÑайловÑе мандаÑÑ
       оÑÑÑÑÑÑвÑÑÑ.

       Удаление мандаÑа из огÑаниÑиваÑÑего
       набоÑа не ÑдалÑÐµÑ ÐµÐ³Ð¾ из наÑледÑемого
       набоÑа ниÑи. Ðднако ÑÑо пÑедоÑвÑаÑÐ°ÐµÑ Ð¾Ñ
       Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð°Ð½Ð´Ð°Ñа обÑаÑно в наÑледÑемÑй
       Ð½Ð°Ð±Ð¾Ñ Ð½Ð¸Ñи в бÑдÑÑем.

   ÐлиÑние Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкого ID на
       мандаÑÑ
       ÐÐ»Ñ ÑоÑÑÐ°Ð½ÐµÐ½Ð¸Ñ Ð¿ÑивÑÑной ÑеманÑики пÑи
       пеÑеÑоде Ð¾Ñ 0 к ненÑлевÑм полÑзоваÑелÑÑким
       ID, ÑдÑо Ð´ÐµÐ»Ð°ÐµÑ ÑледÑÑÑие Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð½Ð°Ð±Ð¾Ñов
       мандаÑов ниÑи пÑи изменении Ñ Ð½Ð¸Ñи
       ÑеалÑного, ÑÑÑекÑивного, ÑоÑÑанÑнного ID и
       полÑзоваÑелÑÑкого ID Ñайловой ÑиÑÑÐµÐ¼Ñ (Ñ
       помоÑÑÑ setuid(2), setresuid(2) или подобнÑÑ):

       1. ÐÑли Ñанее ÑеалÑнÑй, ÑÑÑекÑивнÑй или
          ÑоÑÑанÑннÑй полÑзоваÑелÑÑкий ID не бÑл
          Ñавен 0, и в ÑезÑлÑÑаÑе Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ UID вÑе ÑÑи
          ID полÑÑили ненÑлевое знаÑение, Ñо вÑе
          мандаÑÑ ÑдалÑÑÑÑÑ Ð¸Ð· ÑазÑеÑиÑелÑного и
          ÑÑÑекÑивного набоÑов мандаÑов.

       2. ÐÑли ÑÑÑекÑивнÑй полÑзоваÑелÑÑкий ID
          изменÑеÑÑÑ Ñ 0 на ненÑлевое знаÑение, Ñо
          вÑе мандаÑÑ ÑдалÑÑÑÑÑ Ð¸Ð· ÑÑÑекÑивного
          набоÑа мандаÑов.

       3. ÐÑли ÑÑÑекÑивнÑй полÑзоваÑелÑÑкий ID
          изменÑеÑÑÑ Ñ Ð½ÐµÐ½Ñлевого знаÑÐµÐ½Ð¸Ñ Ð½Ð° 0, Ñо
          ÑазÑеÑиÑелÑнÑй Ð½Ð°Ð±Ð¾Ñ ÐºÐ¾Ð¿Ð¸ÑÑеÑÑÑ Ð²
          ÑÑÑекÑивнÑй набоÑ.

       4. ÐÑли полÑзоваÑелÑÑкий ID Ñайловой ÑиÑÑемÑ
          изменÑеÑÑÑ Ñ 0 на ненÑлевое знаÑение
          (ÑмоÑÑиÑе setfsuid(2)), Ñо ÑледÑÑÑие мандаÑÑ
          ÑдалÑÑÑÑÑ Ð¸Ð· ÑÑÑекÑивного набоÑа: CAP_CHOWN,
          CAP_DAC_OVERRIDE, CAP_DAC_READ_SEARCH, CAP_FOWNER, CAP_FSETID,
          CAP_LINUX_IMMUTABLE (наÑÐ¸Ð½Ð°Ñ Ñ Linux 2.6.30), CAP_MAC_OVERRIDE
          и CAP_MKNOD (наÑÐ¸Ð½Ð°Ñ Ñ Linux 2.6.30). ÐÑли
          полÑзоваÑелÑÑкий ID Ñайловой ÑиÑÑемÑ
          изменÑеÑÑÑ Ñ Ð½ÐµÐ½Ñлевого знаÑÐµÐ½Ð¸Ñ Ð½Ð° 0, Ñо
          лÑбой из мандаÑов, вклÑÑÑннÑÑ Ð²
          ÑазÑеÑиÑелÑнÑй набоÑ, вклÑÑаеÑÑÑ Ð²
          ÑÑÑекÑивном набоÑе.

       ÐÑли ниÑÑ, Ñ ÐºÐ¾ÑоÑой один или более
       полÑзоваÑелÑÑÐºÐ¸Ñ ID Ñавно 0, ÑоÑеÑ
       пÑедоÑвÑаÑиÑÑ Ñдаление ÑазÑеÑиÑелÑнÑÑ
       мандаÑов пÑи ÑбÑоÑе вÑÐµÑ Ð¿Ð¾Ð»ÑзоваÑелÑÑÐºÐ¸Ñ ID
       в ненÑлевÑе знаÑениÑ, Ñо она можеÑ
       иÑполÑзоваÑÑ Ð²Ñзов prctl(2) Ñ Ð¾Ð¿ÐµÑаÑией
       PR_SET_KEEPCAPS или Ñлагом безопаÑноÑÑи
       SECBIT_KEEP_CAPS, опиÑанном далее.

   ÐÑогÑаммное изменение набоÑов мандаÑов
       ÐиÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð»ÑÑаÑÑ Ð¸ изменÑÑÑ Ñвои набоÑÑ
       мандаÑов Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑиÑÑемнÑÑ Ð²Ñзовов capget(2) и
       capset(2). Ðднако Ð´Ð»Ñ ÑÑой Ñели лÑÑÑе
       иÑполÑзоваÑÑ cap_get_proc(3) и cap_set_proc(3) из
       пакеÑа libcap. СледÑÑÑие пÑавила пÑименÑÑÑÑÑ
       пÑи изменении набоÑов ниÑи:

       1. ÐÑли вÑзÑваÑÑий не Ð¸Ð¼ÐµÐµÑ Ð¼Ð°Ð½Ð´Ð°Ñа CAP_SETPCAP,
          Ñо новÑй наÑледÑемÑй Ð½Ð°Ð±Ð¾Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ
          поднабоÑом комбинаÑии ÑÑÑеÑÑвÑÑÑего
          наÑледÑемого и ÑазÑеÑиÑелÑного набоÑов.

       2. (наÑÐ¸Ð½Ð°Ñ Ñ Linux 2.6.25) ÐовÑй наÑледÑемÑй набоÑ
          должен бÑÑÑ Ð¿Ð¾Ð´Ð½Ð°Ð±Ð¾Ñом комбинаÑии
          ÑÑÑеÑÑвÑÑÑего наÑледÑемого и
          огÑаниÑиваÑÑего набоÑов.

       3. ÐовÑй ÑазÑеÑиÑелÑнÑй Ð½Ð°Ð±Ð¾Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ
          поднабоÑом ÑÑÑеÑÑвÑÑÑего ÑазÑеÑиÑелÑного
          набоÑа (Ñ. е., невозможно пÑиобÑеÑÑи
          ÑазÑеÑиÑелÑнÑе мандаÑÑ, коÑоÑÑÑ Ð½Ð¸ÑÑ Ð½Ðµ
          имееÑ).

       4. ÐовÑй ÑÑÑекÑивнÑй Ð½Ð°Ð±Ð¾Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ бÑÑÑ
          поднабоÑом нового ÑазÑеÑиÑелÑного
          набоÑа.

   Флаги securebits: оÑганизаÑÐ¸Ñ Ð¸ÑклÑÑиÑелÑно
       мандаÑного окÑÑжениÑ
       ÐаÑÐ¸Ð½Ð°Ñ Ñ ÑдÑа веÑÑии 2.6.26 Ñ Ð²ÐºÐ»ÑÑÑнной
       поддеÑжкой ÑайловÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов, в Linux
       Ñеализован Ð½Ð°Ð±Ð¾Ñ Ñлагов securebits (длÑ
       каждой ниÑи), коÑоÑÑй можно иÑполÑзоваÑÑ
       Ð´Ð»Ñ Ð¾ÑклÑÑÐµÐ½Ð¸Ñ ÑпеÑиалÑнÑÑ Ð´ÐµÐ¹ÑÑвий мандаÑов
       Ð´Ð»Ñ UID 0 (root). Ð ÑÑим Ñлагам оÑноÑÑÑÑÑ:

       SECBIT_KEEP_CAPS
              УÑÑановка ÑÑого Ñлага позволÑÐµÑ Ð½Ð¸Ñи, Ñ
              коÑоÑой один и более UID Ñавен 0,
              ÑоÑÑаниÑÑ Ñвои мандаÑÑ Ð¿Ñи изменении
              вÑÐµÑ ÐµÑ UID на ненÑлевÑе знаÑениÑ. ÐÑли
              ÑÑÐ¾Ñ Ñлаг не ÑÑÑановлен, Ñо изменение UID
              пÑиведÑÑ Ðº ÑомÑ, ÑÑо ниÑÑ Ð¿Ð¾ÑеÑÑÐµÑ Ð²Ñе
              мандаÑÑ. ÐÑÐ¾Ñ Ñлаг вÑегда ÑбÑаÑÑваеÑÑÑ Ð¿Ñи
              execve(2) (ÑÑÐ¾Ñ Ñлаг пÑедоÑÑавлÑÐµÑ Ñе же
              возможноÑÑи, ÑÑо и ÑÑаÑÑй вÑзов prctl(2) Ñ
              опеÑаÑией PR_SET_KEEPCAPS).

       SECBIT_NO_SETUID_FIXUP
              УÑÑановка ÑÑого Ñлага не даÑÑ ÑдÑÑ
              измениÑÑ Ð½Ð°Ð±Ð¾ÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов пÑи
              изменении ÑÑÑекÑивного UID и UID
              Ñайловой ÑиÑÑÐµÐ¼Ñ Ð½Ð¸Ñи Ñ 0 на ненÑлевое
              знаÑение (ÑмоÑÑиÑе Ñаздел ÐлиÑние
              Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкого ID на
              мандаÑÑ).

       SECBIT_NOROOT
              ÐÑли ÑÑÐ¾Ñ Ð±Ð¸Ñ ÑÑÑановлен, Ñо ÑдÑо не
              пÑедоÑÑавлÑÐµÑ Ð¼Ð°Ð½Ð´Ð°ÑÑ Ð¿Ñи иÑполнении
              пÑогÑаммÑ, имеÑÑей Ð±Ð¸Ñ set-user-ID-root, или
              когда пÑоÑеÑÑ Ñ ÑÑÑекÑивнÑм или ÑеалÑнÑм
              UID ÑавнÑм 0 вÑзÑÐ²Ð°ÐµÑ execve(2) (ÑмоÑÑиÑе
              Ñаздел ÐандаÑÑ Ð¸ вÑполнение пÑогÑамма
              Ð¾Ñ root).

       SECBIT_NO_CAP_AMBIENT_RAISE
              УÑÑановка ÑÑого Ñлага запÑеÑаеÑ
              повÑÑение наÑÑжнÑÑ Ð¼Ð°Ð½Ð´Ð°Ñов поÑÑедÑÑвом
              prctl(2)Ñ Ð¾Ð¿ÐµÑаÑией PR_CAP_AMBIENT_RAISE.

       ÐаждÑй из пеÑеÑиÑленнÑÑ Ð²ÑÑе «базовÑÑ»
       Ñлагов Ð¸Ð¼ÐµÐµÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑй Ñлаг
       «блокиÑовки». УÑÑановка лÑбого из Ñлагов
       «блокиÑовки» необÑаÑима и запÑеÑаеÑ
       далÑнейÑие Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑооÑвеÑÑÑвÑÑÑего
       «базового» Ñлага. Флаги блокиÑовки:
       SECBIT_KEEP_CAPS_LOCKED, SECBIT_NO_SETUID_FIXUP_LOCKED,
       SECBIT_NOROOT_LOCKED и SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED.

       Флаги securebits можно изменÑÑÑ Ð¸ полÑÑаÑÑ Ñ
       помоÑÑÑ Ð²Ñзова prctl(2) Ñ Ð¾Ð¿ÐµÑаÑиÑми PR_SET_SECUREBITS
       и PR_GET_SECUREBITS. ÐÐ»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ñлагов ÑÑебÑеÑÑÑ
       Ð¼Ð°Ð½Ð´Ð°Ñ CAP_SETPCAP.

       Флаги securebits наÑледÑÑÑÑÑ Ð´Ð¾ÑеÑними
       пÑоÑеÑÑами. ÐÑи execve(2) вÑе Ñлаги ÑоÑÑанÑÑÑÑÑ, за
       иÑклÑÑением SECBIT_KEEP_CAPS, коÑоÑÑй вÑегда
       ÑбÑаÑÑваеÑÑÑ.

       ÐÑиложение Ð¼Ð¾Ð¶ÐµÑ Ð¸ÑполÑзоваÑÑ ÑледÑÑÑий
       вÑзов Ð´Ð»Ñ ÑобÑÑвенной блокиÑовки и
       помеÑение вÑÐµÑ ÑÐ²Ð¾Ð¸Ñ Ð¿Ð¾Ñомков в окÑÑжение,
       в коÑоÑом еÑÑÑ ÑолÑко один ÑпоÑоб добавиÑÑ
       пÑава â запÑÑÑиÑÑ Ð¿ÑогÑÐ°Ð¼Ð¼Ñ Ñо ÑвÑзаннÑми Ñ
       ней ÑайловÑми мандаÑами:

           prctl(PR_SET_SECUREBITS,
                /* SECBIT_KEEP_CAPS вÑклÑÑен */
                   SECBIT_KEEP_CAPS_LOCKED |
                   SECBIT_NO_SETUID_FIXUP |
                   SECBIT_NO_SETUID_FIXUP_LOCKED |
                   SECBIT_NOROOT |
                   SECBIT_NOROOT_LOCKED);
                   /* ÑÑÑановка/блокиÑовка SECURE_NO_CAP_AMBIENT_RAISE
                      не ÑÑебÑеÑÑÑ */

   ÐзаимодейÑÑвие Ñ Ð¿Ð¾Ð»ÑзоваÑелÑÑкими
       пÑоÑÑÑанÑÑвами имÑн
       ÐбÑÑждение ÑвÑзи мандаÑов Ñ Ð¿ÑоÑÑÑанÑÑвами
       полÑзоваÑÐµÐ»Ñ ÑмоÑÑиÑе в user_namespaces(7).

СÐÐТÐÐТСТÐÐРСТÐÐÐÐРТÐÐ
       СÑандаÑÑÑ, опиÑÑваÑÑие мандаÑÑ, оÑÑÑÑÑÑвÑÑÑ, но
       ÑеализаÑÐ¸Ñ Ð¼Ð°Ð½Ð´Ð°Ñов в Linux оÑновÑваеÑÑÑ Ð½Ð°
       изÑÑÑом ÑеÑновике ÑÑандаÑÑа POSIX.1e; ÑмоÑÑиÑе
       ⟨http://wt.tuxomania.net/publications/posix.1e/⟩.

ÐÐÐÐЧÐÐÐЯ
       ÐаÑÐ¸Ð½Ð°Ñ Ñ ÑдÑа веÑÑии 2.5.27 по 2.6.26, мандаÑÑ
       ÑвлÑÑÑÑÑ Ð½ÐµÐ¾Ð±ÑзаÑелÑнÑм компоненÑом ÑдÑа, и
       могÑÑ Ð±ÑÑÑ Ð²ÐºÐ»ÑÑенÑ/вÑклÑÑÐµÐ½Ñ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ
       паÑамеÑÑа наÑÑÑойки ÑдÑа CONFIG_SECURITY_CAPABILITIES.

       Файл /proc/[pid]/task/TID/status можно иÑполÑзоваÑÑ
       Ð´Ð»Ñ Ð¿ÑоÑмоÑÑа набоÑа мандаÑов ниÑи. Ð Ñайле
       /proc/[pid]/status оÑÑажÑн Ð½Ð°Ð±Ð¾Ñ Ð¼Ð°Ð½Ð´Ð°Ñов главной
       ниÑи пÑоÑеÑÑа. Ðо Linux 3.8, неÑÑÑеÑÑвÑÑÑие мандаÑÑ
       в ÑÑÐ¸Ñ Ð½Ð°Ð±Ð¾ÑÐ°Ñ Ð¿Ð¾ÐºÐ°Ð·ÑвалиÑÑ ÐºÐ°Ðº вклÑÑÑннÑе
       (1). ÐаÑÐ¸Ð½Ð°Ñ Ñ Linux 3.8, вÑе неÑÑÑеÑÑвÑÑÑие мандаÑÑ
       (поÑле CAP_LAST_CAP) показÑваÑÑÑÑ Ð²ÑклÑÑеннÑми (0).

       РпакеÑе libcap ÑодеÑжиÑÑÑ Ð½Ð°Ð±Ð¾Ñ Ð¿ÑоÑедÑÑ Ð´Ð»Ñ
       ÑÑÑановки и полÑÑÐµÐ½Ð¸Ñ Ð¼Ð°Ð½Ð´Ð°Ñов; он Ñдобнее
       и менее подвеÑжен изменениÑм, Ñем
       инÑеÑÑÐµÐ¹Ñ Ð¿ÑедоÑÑавлÑемÑй capset(2) и capget(2).
       Также даннÑй Ð¿Ð°ÐºÐµÑ Ð¿ÑедоÑÑавлÑÐµÑ Ð¿ÑогÑаммÑ
       setcap(8) и getcap(8) . Ðго можно найÑи здеÑÑ:
       ⟨http://www.kernel.org/pub/linux/libs/security/linux-privs⟩.

       Ðо ÑдÑа веÑÑии 2.6.24, и наÑÐ¸Ð½Ð°Ñ Ñ Ð²ÐµÑÑии 2.6.24 по
       2.6.32, еÑли ÑайловÑе мандаÑÑ Ð½Ðµ вклÑÑенÑ, Ñо
       ниÑÑ Ñ Ð¼Ð°Ð½Ð´Ð°Ñом CAP_SETPCAP Ð¼Ð¾Ð¶ÐµÑ ÑпÑавлÑÑÑ
       мандаÑами дÑÑÐ³Ð¸Ñ Ð½Ð¸Ñей. Ðднако, ÑÑо
       возможно ÑолÑко ÑеоÑеÑиÑеÑки, Ñак как ни
       одна из ниÑей не Ð¸Ð¼ÐµÐµÑ CAP_SETPCAP в лÑбом из
       двÑÑ ÑлÑÑаев:

       * РеализаÑÐ¸Ñ Ð² веÑÑии pre-2.6.25 ÑиÑÑемного
         огÑаниÑиваÑÑего набоÑа мандаÑов,
         /proc/sys/kernel/cap-bound, вÑегда запÑеÑала ÑÑоÑ
         мандаÑ, и ÑÑо нелÑÐ·Ñ Ð±Ñло измениÑÑ Ð±ÐµÐ·
         Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¸ÑÑодного кода ÑдÑа и
         пеÑеÑбоÑки.

       * ÐÑли ÑайловÑе мандаÑÑ Ð²ÑклÑÑÐµÐ½Ñ Ð² ÑекÑÑей
         ÑеализаÑии, Ñо Ñ Ð·Ð°Ð¿ÑÑкаемого init даннÑй
         Ð¼Ð°Ð½Ð´Ð°Ñ Ð¾Ñозван из огÑаниÑиваÑÑего набоÑа
         мандаÑов ниÑи, и ÑÑÐ¾Ñ Ð¾Ð³ÑаниÑиваÑÑий набоÑ
         наÑледÑеÑÑÑ Ð²Ñеми оÑÑалÑнÑми пÑоÑеÑÑами,
         ÑоздаваемÑми в ÑиÑÑеме.

СÐÐТРÐТРТÐÐÐÐ
       capsh(1), setpriv(1), prctl(2), setfsuid(2), cap_clear(3),
       cap_copy_ext(3), cap_from_text(3), cap_get_file(3), cap_get_proc(3),
       cap_init(3), capgetp(3), capsetp(3), libcap(3), proc(5),
       credentials(7), pthreads(7), user_namespaces(7), getcap(8), setcap(8)

       Файл include/linux/capability.h в деÑеве иÑÑодного
       кода ÑдÑа Linux.



Linux                             2016-07-17                   CAPABILITIES(7)