事実は、Linuxには最後の千年紀以来です(!)機能などがあります。 manの機能にはほとんど書かれていないため、言うことすらありません。setcapコマンドを使用すると、root権限なしで異なるサブシステムを使用する実行可能ファイルの権限を設定できます。 特に、pingの場合、CAP_NET_RAW権限のみで十分です。 さまざまなシステムプログラムのsuid-bitsを取り除く方法に関するヒントのコレクションが多数あります。
最新のシステムを使用し、Linuxの開発に遅れずについていく人々が、このオリンピアードの最初のラウンドに行くチャンスさえもなかったことは残念です。
ちなみに、世界初のラケットであるディナラ・サフィーナ( ここからの写真)もショックを受けています。
みなさん、ハッピーフライデー!
残りの質問は読みませんでした 。確かに多くの興味深いことがあります。
参考のため、pingの完全な関係書類:
$ ls -l / usr / bin / ping -rwxr-xr-x 1 root root 40032 Aug 13 18:56 / usr / bin / ping $ getcap / usr / bin / ping / usr / bin / ping = cap_net_raw + ep
そして、ここに古代のスラカがあります:
$ ls -l / bin / ping -rws-x-x 1ルートルート29364 2006-08-14 02:20 / bin / ping * $ getcap / bin / ping -bash:getcap:コマンドが見つかりません $ uname -r#カーネルはすでにこの機能をサポートしています 2.6.30.6
UPD:ハブを巡回し、自分のサイトで私に手紙を書くHippおよび他のユーザー:答える方法がわからない :-)答えてもらいたい場合は、habranikov以外のものを残すか、単にメールを書いてください。 共鳴してくれてありがとう。
UPD: alizarは 、Dinara Safinaが2011年にキャリアを終了したことを私にほのめかします。 :-) 2.2カーネルは1999年にリリースされましたが、多くはこれまで気づいていませんでした。
UPD(重要) :2010年以降のLinux(カーネル)には、同胞(OpenwallのVasily Kulikov)によって実装されているいわゆるpingソケットが存在することをメールで書いています。 私はこれについて見て、私の/ procインターフェースに
man 7 icmp
があります
/proc/sys/net/ipv4/icmp_*
。 「userspace ping utility」という言葉でグーグル検索を開始できます。
セルゲイありがとう! 金曜日は無駄ではありません!