
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
grepで指定オプションを自動付加してくれる環境変数 "GREP_OPTIONS"
"GREP_OPTIONS"という環境変数に、常に付けておきたいオプションをあらかじめ指定しておくと、grepコマンドやxgrep(egrepとかfgrepとか...)を実行したときに、自動でオプションをつけて実行してくれます。
例えば、、、
$ export GREP_OPTIONS="--color=auto"
とか。常に含めておくなら、あとは"-I"オプションとかですかね。これくらいなら"alias"でも良いわけですがw
grepとか毎日使ってもおかしくないコマンドなので、こういう小さい効率化はどんどんやっていきたいところですね!
オプション無しで実行した場合
GREP_OPTIONSを設定してから実行した場合
おまけ: --colorの色を変えたい場合
環境変数 "GREP_COLOR"に色コードを指定してやると良いです。
例えば、ハイライトを黄色にしたい場合とかは、以下のような感じで指定します。
$ export GREP_COLOR="1;33"
すると、この通り。
ちなみに色コードは、以下あたりを参考にどうぞ。
あわせて読みたい
- 作者: Carl Albing,JP Vossen,Cameron Newham,株式会社クイープ
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/09/26
- メディア: 大型本
- 購入: 6人 クリック: 202回
- この商品を含むブログ (28件) を見る
2012/01/28
名作!AA(アスキーアート)なスターウォーズを鑑賞する
割と昔から続いているプロジェクトのようで、まだ完全版ではない(製作途中)ようですが、AA(アスキーアート)な「スターウォーズ(STAR WARS) Episode IV」をコマンドラインから鑑賞することができますw
鑑賞する方法
(まさかの)ターミナルからtelnetコマンドで以下に接続することで鑑賞開始です。
$ telnet towel.blinkenlights.nl
Unix/Linuxの方は問題ないかと思いますが、Windowsの方は"コマンドプロンプト"を起動し、↑を実行してみてください。
ちなみにtelnetなんてコマンド知らねーって怒られた場合は、以下を参考に。
telnetで接続すると・・・
おおっっ!
はじまりました!
Episode IV です。
・・・と、こんな感じでクレジットが映し出された後に、ストーリーが流れてきます。
実は公式サイト「STAR WARS ASCIIMATION」から直接鑑賞することも出来るので、気軽に見てみたい人はリンク先をクリック!
続きは実際に接続して鑑賞してみてくださいね!
関連リンク
スター・ウォーズ コンプリート・サーガ ブルーレイBOX (初回生産限定) [Blu-ray]
- 出版社/メーカー: 20世紀フォックス・ホーム・エンターテイメント・ジャパン
- 発売日: 2011/09/16
- メディア: Blu-ray
- 購入: 5人 クリック: 684回
- この商品を含むブログ (77件) を見る
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 TOKYO (一風堂 COLLECTION)
一風堂といえば、メニューに赤丸や白丸といった種類のラーメンがあるのは、行ったことがある人があればご存知かと思いますが、ここ"IPPUDO TAO"では「黒」が食べられるということで行ってきました。
ちなみに私が書いた過去の他一風堂のレビューは以下。
- 一風堂 - RX-7乗りの適当な日々
- 一風堂「極新味」を食べました - RX-7乗りの適当な日々
- 一風堂(大名本店) - RX-7乗りの適当な日々
- 一風堂 COLLECTION.MISO - RX-7乗りの適当な日々
"IPPUDO TAO"は現在、福岡・シンガポール・東京に3店舗あり、東京店は東銀座にあります。
ラーメンは、TAO限定として「TAO・黒」と「TAO・赤」があります。
他にもTAOならではのメニューがいくつか。「TAO祭りめし」はなかなか美味しそうなごはん系。
TAO・黒
↑のメニューの写真のような黒い感じを期待していたのですが、パッと見、普通の赤丸新味・・・。最近の赤丸もこれくらい黒香油がのっているんですけど。。。
中身ですが、まずスープはどちらかというと赤丸新味に近いですが、そこまでのコクがなく、わかりやすくいうと白と赤と中間点くらいの感じを受けました。
で、麺は一風堂らしからぬ"もっちり太麺"。好きな人はたくさんいると思うが、私はあの一風堂のスープにはやっぱり細麺がスルスルとスープに絡んできて好きだなぁ。全体的に尖った感じはなく大人しくまとまっていて、個人的には、ちょっと完成度的に中途半端な感じがしました。
TAO・赤
奥さんが頼んでいたけど、スープを口にして最初に発した言葉「メキシカン」というのがピタリと当てはまっている感じ。これも好きな人は好きなのだろうなぁ。
ベースは一風堂のからか味噌で、麺もからか麺で出てくるようなちぢれた細麺でした。辛いの好きな人は特辛とかをオーダーすると、また違う美味しさになるのかも。
| スープ | A |
|---|---|
| 麺 | B+ |
| チャーシュー | S |
| 総合 | A |
関連リンク
- 出版社/メーカー: 株式会社 力の源カンパニー
- メディア: その他
- この商品を含むブログを見る




















![[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)](http://ecx.images-amazon.com/images/I/51GW5jxmdvL._SL150_.jpg)
![[24時間365日] サーバ/インフラを支える技術 ~スケーラビリティ、ハイパフォーマンス、省力運用](http://ecx.images-amazon.com/images/I/51uK4ACymiL._SL150_.jpg)
![エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド](http://ecx.images-amazon.com/images/I/41oqE-9dM2L._SL150_.jpg)
![Googleを支える技術 ~巨大システムの内側の世界 [WEB+DB PRESS plusシリーズ] (WEB+DB PRESSプラスシリーズ)](http://ecx.images-amazon.com/images/I/51m8phYZbyL._SL120_.jpg)

















