
その後、subjについて興味深い
メモがありました。
最初のラウンドの最初の
質問は私を困惑させました。 主催者からの
正解ほどの質問ではありません。 pingはルートから実行されることがわかります。 私のシステムではそうではありません。 かなり最新のシステムを使用している場合、ルートからpingを実行しないと確信しています。
事実は、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」という言葉でグーグル検索を開始できます。
セルゲイありがとう! 金曜日は無駄ではありません!