Linux機能のリストを取得する方法

Linux機能のリストを取得する方法

Linuxバージョンのランチャーで利用可能な機能のリストを入手する必要があります。ユーザーがファイルに付与する機能を選択できるようにするためです。標準ライブラリを使用してこれを行う機会がありますか?私がこれを行うことができた唯一の方法は境界セットを見ることでしたがcash --print

  1. なぜそう言って...,cap_audit_read,38,39表示されますか?/usr/include/linux/capability.hCAP_LAST_CAPCAP_AUDIT_READ(37)
  2. 可能であれば、実際にいくつかの機能説明を使用します。

ベストアンサー1

次の1つ以上です。

コマンドライン:

$ /sbin/capsh --decode=$(grep CapBnd /proc/1/status|cut -f2)

コード( list.c)から:

#include <stdio.h>
#include <sys/capability.h>

int main(int argc, char **argv) {
  for (cap_value_t c = 0; c < cap_max_bits(); c++) {
    char *name = cap_to_name(c);
    printf("%s\n", name);
    cap_free(name);
  }
}

次のようにコンパイルされました。

$ gcc -o list list.c -lcap

最新バージョンにはcapshこのcapsh --explain=主張が含まれています。例えば、

$ /sbin/capsh --explain=cap_chown
cap_chown (0) [/proc/self/status:CapXXX: 0x0000000000000001]

    Allows a process to arbitrarily change the user and
    group ownership of a file.

おすすめ記事