問題タブ [linux-capabilities]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
343 参照

linux - Perl で Linux 機能を編集する

cap_set_procC プログラムでは、 fromを使用して機能を編集できますlibcap。Perl プログラムで同じことを達成するにはどうすればよいですか?

0 投票する
1 に答える
1674 参照

c - capset が構造体へのポインタで失敗する

2 つのコード サンプルがあります。
まず、正しく実行されます。

第二に、fail: Operation not permitted:

どちらのコード サンプルも同じだと思います。
最初のものを実行すると、正しく実行されます(構造体へのポインターを使用します)。
しかし、2 番目は失敗します (構造体のインスタンスを使用します)。
どうしてか分かりません。手伝って頂けますか?

0 投票する
2 に答える
2061 参照

python - Python を使用してファイル機能を読み取る方法は?

Linux システムでは、ファイル機能を使用して setuid ビットを追加するよりも、ルート権限をより選択的に付与できます。詳細capabilities(7)については、を参照してください。これらはファイルの属性であり、プログラムを使用して読み取ることができますgetcap。これらの属性は Python でどのように取得できますか?

getcapたとえば、このような質問に答えるためにプログラムを実行するsubprocessことは可能ですが、非常に多くの機能を取得する場合は望ましくありません。

を使用して解決策を考案できるはずctypesです。このアプローチや、このタスクを容易にするライブラリに代わるものはありますか?

0 投票する
1 に答える
1802 参照

c - RLIMIT_NPROC 値を編集するより良い方法

私のアプリケーションは接続スレッドごとに作成します。ゼロ以外のユーザー ID でアプリケーションが破壊され、スレッド数がデフォルト値の 1024 を超えることがあります。この番号を編集したいので、選択肢がほとんどありません

ルートとして実行 [非常に悪い考えであり、セキュリティについても妥協する必要があるため、削除する]

特権のないユーザーの下で実行するにはsetcapを使用し、機能CAP_SYS_RESOURCEを付与します。次に、プログラムにコードを追加できます

他には/etc/securitylimits.confを編集することです 。ここで、開発ユーザーのエントリを作成して、たとえば行を入れることができます

ここで、10k で十分です。したがって、ソース コードを変更することに少し気が進まないので、最後のオプションに進む必要があります。そして、私はより堅牢で標準的なアプローチが何であるかを知りたいと思っています。

ご意見をお待ちしております。よろしくお願いします:)

PS: 1 つのプロセスが 1,000 を超えるスレッドで処理される場合はどうなりますか。もちろん、私は32GBのRAMも持っています

0 投票する
0 に答える
1038 参照

c - Linuxプロセスでいくつかの機能を設定してから、スーパーユーザー権限を削除しますか?

C プログラムでは、対処しRLIMIT_NPROCRLIMIT_NOFILE制限し、さらに 1024 未満のポートにバインドする必要があります。私のプログラムには 2 つの機能しか必要ないため、非特権ユーザーでこれを実行することを考えています。

ここ、プロセスの機能を設定し、setuid(). ここで、機能のセット リストを保持するプロセスを root 権限なしで fork すると、プログラムは最小限の権限で実行され続けます。私の計画の非常に大まかな概要:

ここでは、syscall を使用して機能を設定することができません。そのような機能のアイデアは大きな助けになります。

setcapPS: コマンド ユーティリティを使用してキャップを割り当てることもできcap_set_file()ますが、バイナリのパスについて毎回確信があるわけではないため、別の方法でこれを行いたいと考えています。

プロセスとサブプロセスのステータスを確認するためのいくつかの便利な proc コマンドcat /proc/<PID>/task/<PID>/statuscat /proc/<PID>/limits

0 投票する
1 に答える
478 参照

android - Linux Android でファイルのファイル機能を取得する

Android ファイル システム上のファイルに許可された機能を取得する方法を考えています。libcap は利用できないため、その機能を使用してこれを取得することはできません。

他のオプションはありますか?

0 投票する
2 に答える
3630 参照

python - setcap cap_net_raw なしで Linux で raw ソケットを開く

Python に cap_net_raw 機能を提供せずに、Linux (Python を使用) で raw ソケットを開きたいです。プログラムではなく、ユーザーにこの機能を持たせたいのです。Ubuntu 12.4 を使用しています。