RX-7乗りの適当な日々 このページをアンテナに追加 RSSフィード Twitter

RX-7(FD3S)』関連のキーワードで検索されて来られた方へ。
右サイドのカテゴリ『』をクリックすると関連する項目だけが表示されます。
日々の写真は『Flickr』で公開しています。『MyMiniCity』もお願いします。
AppBank Store

2012/01/30

ping: icmp open socket: Operation not permitted


今日「某所のサーバがおかしいから見てほしい」とお願いされて、そのサーバにSSHでログインし、pingを実行しようとしたら、なんとpingがうてない

$ ping 172.xx.xx.xxx
ping: icmp open socket: Operation not permitted

ほほう。困った。・・・が、rootユーザで実行すると、pingを飛ばす事はできる。

ケーパビリティ*1で権限まわりを細かく切っている雰囲気もない、、、と思っていたら、

$ ls -l /bin/ping
-rwxr-xr-x 1 root root 37312  9月 27  2009 /bin/ping

ん?よく見たらSUIDがセットされていない。


# chmod u+s /bin/ping
# ls -l /bin/ping
-rwsr-xr-x 1 root root 37312  9月 27  2009 /bin/ping

というわけで、SUIDのフラグを立てる。


$ ping 172.xx.xx.xx
PING 172.xx.xx.xx (172.xx.xx.xx) 56(84) bytes of data.
64 bytes from 172.xx.xx.xx: icmp_seq=1 ttl=64 time=0.207 ms
64 bytes from 172.xx.xx.xx: icmp_seq=2 ttl=64 time=0.251 ms
64 bytes from 172.xx.xx.xx: icmp_seq=3 ttl=64 time=0.248 ms

--- 172.xx.xx.xx ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.207/0.235/0.251/0.023 ms

無事、pingは飛びましたとさ。というお話でした。

(なぜSUIDが付いていなかったのか、については、後で依頼された当人にヒアリングすると、以前に/bin直下をごにょごにょした時にやらかしてしまったとのことでした。)


メモ(参考)

$ strace ping -c 1 172.xx.xx.xx
execve("/bin/ping", ["ping", "-c", "1", "172.xx.xx.xx"], [/* 21 vars */]) = 0
brk(0)                                  = 0x2b32817ef000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3267e2d000
uname({sys="Linux", node="hostname", ...}) = 0
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=51323, ...}) = 0
mmap(NULL, 51323, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b3267e2e000
close(3)                                = 0
open("/lib64/libresolv.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2402 \3117\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=92736, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3267e3b000
mmap(NULL, 2181864, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b326802e000
mprotect(0x2b326803f000, 2097152, PROT_NONE) = 0
mmap(0x2b326823f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x2b326823f000
mmap(0x2b3268241000, 6888, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b3268241000
close(3)                                = 0
open("/lib64/libc.so.6", O_RDONLY)      = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220\332!\3017\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=1717800, ...}) = 0
mmap(NULL, 3498328, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b3268243000
mprotect(0x2b3268390000, 2097152, PROT_NONE) = 0
mmap(0x2b3268590000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x14d000) = 0x2b3268590000
mmap(0x2b3268595000, 16728, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b3268595000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b326859a000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b326859b000
arch_prctl(ARCH_SET_FS, 0x2b326859aaf0) = 0
mprotect(0x2b3268590000, 16384, PROT_READ) = 0
mprotect(0x2b326823f000, 4096, PROT_READ) = 0
mprotect(0x2b326802c000, 4096, PROT_READ) = 0
munmap(0x2b3267e2e000, 51323)           = 0
socket(PF_INET, SOCK_RAW, IPPROTO_ICMP) = -1 EPERM (Operation not permitted)
getuid()                                = 12345
setuid(12345)                           = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(1025), sin_addr=inet_addr("172.xx.xx.xx")}, 16) = 0
getsockname(3, {sa_family=AF_INET, sin_port=htons(46388), sin_addr=inet_addr("172.xx.xx.yy")}, [16]) = 0
close(3)                                = 0
dup(2)                                  = 3
fcntl(3, F_GETFL)                       = 0x8002 (flags O_RDWR|O_LARGEFILE)
brk(0)                                  = 0x2b32817ef000
brk(0x2b3281810000)                     = 0x2b3281810000
fstat(3, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3267e2e000
lseek(3, 0, SEEK_CUR)                   = -1 ESPIPE (Illegal seek)
write(3, "ping: icmp open socket: Operatio"..., 48ping: icmp open socket: Operation not permitted
) = 48
close(3)                                = 0
munmap(0x2b3267e2e000, 4096)            = 0
exit_group(2)                           = ?

$

2012/01/29

by Ryan Holst

grepで指定オプションを自動付加してくれる環境変数 "GREP_OPTIONS"


"GREP_OPTIONS"という環境変数に、常に付けておきたいオプションをあらかじめ指定しておくと、grepコマンドやxgrep(egrepとかfgrepとか...)を実行したときに、自動でオプションをつけて実行してくれます。


例えば、、、

$ export GREP_OPTIONS="--color=auto"

とか。常に含めておくなら、あとは"-I"オプションとかですかね。これくらいなら"alias"でも良いわけですがw

grepとか毎日使ってもおかしくないコマンドなので、こういう小さい効率化はどんどんやっていきたいところですね!


オプション無しで実行した場合

f:id:rx7:20120130001809p:image


GREP_OPTIONSを設定してから実行した場合

f:id:rx7:20120130001810p:image


おまけ: --colorの色を変えたい場合

環境変数 "GREP_COLOR"に色コードを指定してやると良いです。

例えば、ハイライトを黄色にしたい場合とかは、以下のような感じで指定します。

$ export GREP_COLOR="1;33"

すると、この通り。

f:id:rx7:20120130003605p:image


ちなみに色コードは、以下あたりを参考にどうぞ。


あわせて読みたい


bashクックブック

bashクックブック

2012/01/28

STAR WARS

名作!AA(アスキーアート)なスターウォーズを鑑賞する


割と昔から続いているプロジェクトのようで、まだ完全版ではない(製作途中)ようですが、AA(アスキーアート)な「スターウォーズ(STAR WARS) Episode IV」をコマンドラインから鑑賞することができますw


鑑賞する方法

(まさかの)ターミナルからtelnetコマンドで以下に接続することで鑑賞開始です。

$ telnet towel.blinkenlights.nl

Unix/Linuxの方は問題ないかと思いますが、Windowsの方は"コマンドプロンプト"を起動し、↑を実行してみてください。

ちなみにtelnetなんてコマンド知らねーって怒られた場合は、以下を参考に。


telnetで接続すると・・・


f:id:rx7:20120129023346p:image:w480

おおっっ!


f:id:rx7:20120129023347p:image:w480

はじまりました!


f:id:rx7:20120129023348p:image:w480

Episode IV です。


・・・と、こんな感じでクレジットが映し出された後に、ストーリーが流れてきます。

実は公式サイト「STAR WARS ASCIIMATION」から直接鑑賞することも出来るので、気軽に見てみたい人はリンク先をクリック!


f:id:rx7:20120129023349p:image:w480

f:id:rx7:20120129023350p:image:w480

f:id:rx7:20120129023351p:image:w480

f:id:rx7:20120129023352p:image:w480

続きは実際に接続して鑑賞してみてくださいね!


関連リンク


2012/01/22

指定したバックグラウンドプロセスをデーモン化する


昔、「ログアウト後もコマンドを実行し続けたい場合」というエントリで"nohup"コマンドの使い方を書いたのですが、nohupし忘れた時はどうすればいいのか、という話。


指定したバックグラウンドプロセスをデーモン化するためにdisownというbashの組み込みコマンドがあります。

#!/bin/sh
while :;
do
  sleep 5
done

ためしに上記のようなスクリプトを用意して、"&"付で実行します。

$ sh test.sh &
[1] 2692
$ jobs
[1]+  実行中               sh test.sh &

次に、disownコマンドを実行します。引数には"%"+ジョブ番号を指定します。(上記例だとジョブ番号は"1")

$ disown %1
$ jobs
$ 

この通り。psコマンドの結果は↓

$ ps -edf
・・・省略・・・
nami      2692  1708  0 02:25 pts/0    00:00:00 sh test.sh
nami      2739  2692  0 02:28 pts/0    00:00:00 sleep 5

これでターミナルを終了(ログアウト)させても大丈夫です。

2012/01/15

IPPUDO TAO (一風堂 COLLECTION)

IPPUDO TAO TOKYO (一風堂 COLLECTION)


一風堂といえば、メニューに赤丸や白丸といった種類のラーメンがあるのは、行ったことがある人があればご存知かと思いますが、ここ"IPPUDO TAO"では「」が食べられるということで行ってきました。


ちなみに私が書いた過去の他一風堂のレビューは以下。


IPPUDO TAO TOKYO (一風堂 COLLECTION)

"IPPUDO TAO"は現在、福岡・シンガポール・東京に3店舗あり、東京店は東銀座にあります。


IPPUDO TAO TOKYO (一風堂 COLLECTION)

ラーメンは、TAO限定として「TAO・黒」と「TAO・赤」があります。


IPPUDO TAO TOKYO (一風堂 COLLECTION)

他にもTAOならではのメニューがいくつか。「TAO祭りめし」はなかなか美味しそうなごはん系。


TAO・黒

TAO・黒 (一風堂 TAO)

↑のメニューの写真のような黒い感じを期待していたのですが、パッと見、普通の赤丸新味・・・。最近の赤丸もこれくらい黒香油がのっているんですけど。。。

中身ですが、まずスープはどちらかというと赤丸新味に近いですが、そこまでのコクがなく、わかりやすくいうと白と赤と中間点くらいの感じを受けました。

で、麺は一風堂らしからぬ"もっちり太麺"。好きな人はたくさんいると思うが、私はあの一風堂のスープにはやっぱり細麺がスルスルとスープに絡んできて好きだなぁ。全体的に尖った感じはなく大人しくまとまっていて、個人的には、ちょっと完成度的に中途半端な感じがしました。


TAO・赤

TAO・赤 (一風堂 TAO)

奥さんが頼んでいたけど、スープを口にして最初に発した言葉「メキシカン」というのがピタリと当てはまっている感じ。これも好きな人は好きなのだろうなぁ。

ベースは一風堂のからか味噌で、麺もからか麺で出てくるようなちぢれた細麺でした。辛いの好きな人は特辛とかをオーダーすると、また違う美味しさになるのかも。


スープA
B+
チャーシューS
総合A

関連リンク


デル株式会社

 iTunes Store(Japan)


オススメ (一部は、最近読んでいる本とも言う)
クラウド Amazon EC2/S3のすべて~実践者から学ぶ設計/構築/運用ノウハウ~ [Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ) [24時間365日] サーバ/インフラを支える技術 ~スケーラビリティ、ハイパフォーマンス、省力運用 エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド Googleを支える技術 ~巨大システムの内側の世界 [WEB+DB PRESS plusシリーズ] (WEB+DB PRESSプラスシリーズ) Linux-DB システム構築/運用入門 (DB Magazine SELECTION) キャパシティプランニング ― リソースを最大限に活かすサイト分析・予測・配置 スケーラブルWebサイト 実践ハイパフォーマンスMySQL 第2版 クラウド大全 第2版 サービス詳細から基盤技術まで 4Gbpsを超えるWebサービス構築術 小悪魔女子大生のサーバエンジニア日記 ――インターネットやサーバのしくみが楽しくわかる ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール Linuxの教科書―ホントに読んでほしいroot入門講座 (IDGムックシリーズ)