低い番号のポート(<1024)でリッスンしているデーモンとして実行したいスクリプトがあります
スクリプトはPythonですが、perlでの回答も受け入れられます。
スクリプトは起動スクリプトでstart-stop-daemonを使用してデーモン化されているため、回答が複雑になる可能性があります
私が本当に(考えて)望んでいないのは、ps -fewと入力して、このプロセスがその行に「ルート」を付けて実行されていることを確認することです。
どうすればいいのですか?
(システムコールについて十分に教育されていないという観点から、私は3つの道を見ることができます。
- スクリプトをrootとして実行し(--user /-group /-chuid to start-stop-daemonなし)、ポートを要求した後、ユーザーのエスカレーションを解除します
- スクリプトのrootを設定し(chmod u + s)、実行中のユーザーとしてスクリプトを実行します(--user /-group /-chuidを介してstart-stop-daemonを実行しますが、起動スクリプトは引き続き次のように呼び出す必要があります。 root)、スクリプトで、root権限を取得し、ポートを要求してから、通常のユーザーに戻します
- 私が知らない何か他のもの
)。