僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
及びその下のディレクトリの属性はデフォルトで700、ファイルが600だった。 ユーザが複数あるとバックアップが面倒だ。あまりスーパーユーザ の出番を増やしたくないが。
を書かずに $mail $MYACC@MYPROVIDER しても、引越先のプロバイダからは
rejectを喰らわなかった。 IPを見て判定してるのかも。
ちなみにこれが抜けると、受けたメールのFrom: と Return-Path: の
ホスト名が、DNSにないFQDNになっている。余所からやれば突っ返された
かもしれない。
てきとーに元データ。
$ cat data.txt 1 3 2 5 3 10 4 9 5 2 6 1 7 6 8 9 9 7 10 4
gnuplot> set term dumb feed 43 20 Terminal type set to 'dumb' Options are 'feed 43 20' gnuplot> plot "data.txt" with lines 10 ++--+---***-+---+--+---+---+---+--++ + + * *+ +"data.txt"+****** + 9 ++ * * ** ++ | * * * ** | 8 ++ * * * ++ 7 ++ * * * * ++ | * * * * | 6 ++ * * * * ++ | * * * * | 5 ++ * * * *+ | ** * * *| 4 +* * * +* 3 *+ * * ++ | * * | 2 ++ *** * ++ + + + + + * + + + + 1 ++--+---+---+---+--*---+---+---+--++ 1 2 3 4 5 6 7 8 9 10 gnuplot>
DoS攻撃に利用されるかもしれない欠陥?
5.4はsysctlでなんとかなるが、5.3は
カーネル再構築が必要、らしい。
同じ日記ページに
同じコメントスパムを頂戴した。
とりあえずは
其奴を含む/28をblacklistに追記して
iptablesで撥ねるようにする。
ツッコミを消すのは
[ツッコミ表示状態変更] でよかった。
rsync(-az)でバックアップした、シンボリックリンクの タイムスタンプ(ls --full-timeで表示)が 元データと違うようだった。本尊は変らないが。
行き渡るまで待てずopenssh-4.3p1ゲット。
主にセキュリティフィックスとかで、
機能上の変更は少ないようだ。
Logitecの LHD-HA250U2。 KNOPPIX5.1.1日本語版に挿してみた。
knoppix@Knoppix:~$ dmesg (ry usb 1-8: new high speed USB device using ehci_hcd \ and address 2 usb 1-8: configuration #1 chosen from 1 choice scsi2 : SCSI emulation for USB Mass Storage devices usb-storage: device found at 2 usb-storage: waiting for device to settle before scanning scsi 2:0:0:0: Direct-Access Maxtor 6B250R0 \ BAH4 PQ: 0 ANSI: 2 SCSI device sdb: 490234751 512-byte hdwr sectors (251000 MB) sdb: Write Protect is off sdb: Mode Sense: 53 00 00 08 sdb: assuming drive cache: write through SCSI device sdb: 490234751 512-byte hdwr sectors (251000 MB) sdb: Write Protect is off sdb: Mode Sense: 53 00 00 08 sdb: assuming drive cache: write through sdb: sdb1 sd 2:0:0:0: Attached scsi disk sdb usb-storage: device scan complete
knoppix@Knoppix:~$ sudo fdisk -l /dev/sdb Disk /dev/sdb: 251.0 GB, 251000192512 bytes 255 heads, 63 sectors/track, 30515 cylinders Units = シリンダ数 of 16065 * 512 = 8225280 bytes デバイス Boot Start End Blocks Id System /dev/sdb1 1 30515 245111706 7 HPFS/NTFS
sudo mount /media/sdb1 すると、あっさり読み書き可能でマウントされた。
Plamo-4.21+Kernel-2.6.18.6+fuse-2.6.1+ntfs-3g-0.20070118-BETAで
試したが、roでしかmountできなかった。
同じ組み合わせでWinXPの入っている/dev/sda1はできるのに。南無。
後で。
早速シリアルで繋ごうとしたら、DSUB9ピンの、シリアルケーブル(メス型クロス)が必要だった。
流石にrootではtelnetで入れない。
止むなくWebブラウザでhttp://192.168.253.254:880/setup.cgiへ。
適当なユーザを作成、telnet。
# uname -a Linux LinuxServer 2.4.20 #3 Tue Jul 8 11:42:38 JST \ 2003 ppc ppc405 OpenBlockS SSD/Linux 0.2-20030708
# set USER=$HIMITU MAIL=/var/mail/$HIMITU HOME=/home/$HIMITU HUSHLOGIN=FALSE PS1=# OPTIND=1 PS2=> LOGNAME=$HIMITU _=-a TERM=linux PATH=/bin:/sbin:/usr/bin:/usr/sbin DISPLAY=$RSERVER:0.0 REMOTEHOST= SHELL=/bin/bash IFS= PWD=/home/$HIMITU
# cat /proc/cpuinfo cpu : 405GPr clock : 266MHz revision : 9.81 (pvr 5091 0951) bogomips : 266.24 machine : OpenBlockS266 plb bus clock : 133MHz pci bus clock : 33MHz
# mount /dev/ram1 on / type ext2 (rw) none on /proc type proc (rw)
# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/ram1 23797 14034 8535 63% /
RCS。
ci -u $fileした後はファイル属性が444だった。
co -l $fileして、644にする。
このとき、RCS/$file,v も変更される。
$ ls -l $file -r--r--r-- 1 user group 114 2008-02-02 17:28 $file $ cp RCS/$file,v before.txt $ co -l $file RCS/$file,v --> $file revision 1.10 (locked) done $ ls -l test.txt -rw-r--r-- 1 user group 114 2008-02-02 17:30 $file $ cp RCS/$file,v after.txt $ diff before.txt after.txt 4c4,5 < locks; strict; --- > locks > user:1.10; strict;
起動画面の後、コンソールベースのメニューが立ち上がる。
ADRIANE 0 Press Enter for help, arrow down for next menu. 1 WWW 2 E-Mail 3 SMS 4 Multimedia 5 Contacts 6 Notebook 7 Text Scanner 8 File Manager 9 Shell 10 Graphical Programs 11 Setup 12 Shutdown
ああでもないこうでもないを続ける。
knoppix@Microknoppix:~$ uname -a Linux Microknoppix 2.6.28 #4 SMP PREEMPT Sat Jan 3 \ 09:16:41 CET 2009 i686 GNU/Linux
knoppix@Microknoppix:~$ dpkg -l | wc -l 933
knoppix@Microknoppix:~$ ls /etc/rc2.d README S20cups S20speech-dispatcher S89cron S10sysklogd S20isdnutils S21aumix S99rc.local S11klogd S20pppstatus S24hal S99rmnologin S12acpid S20rsync S25bluetooth S99stop-bootlogd S12dbus S20saned S25mdadm S16openvpn S20smail S26network-manager
knoppix@Microknoppix:~$ nmap localhost Warning: Hostname localhost resolves to 2 IPs. Using 127.0.0.1. Starting Nmap 4.68 ( http://nmap.org ) at 2009-02-02 10:06 UTC Interesting ports on Microknoppix (127.0.0.1): Not shown: 1713 closed ports PORT STATE SERVICE 631/tcp open ipp 8888/tcp open sun-answerbook Nmap done: 1 IP address (1 host up) scanned in 2.154 seconds
KNOPPIX-6のデスクトップ。sshdがなかったので、dpkg -i openssh-server_5.1p1-5_i386.deb する。
DISPLAY=:0.0 import -window root で適当に
スクリーンショットを撮り、convert -resize 18.3% -depth 8 で小さくし、
Swftoolの
pnspng2swf(1)で合成。
作り直せば直すほど、気に染まない点が目立つような気がした。
もうちょっとリアルな表現力も欲しくなってきた。
ので、
Plamo-4.22 のSwftools を2009-01-06-2243版に入れ替えた
(何も変らなかったようだけど)。
イーサネット三枚挿しのEtchにdhcrelay3をapt-getする。
インストール中にDHCPサーバのIPアドレスと、待機するインターフェース
を聞いてきた。
一つでPPPoEしてNetに、他2つに、別々のSubnetを割り当てる。
片方にPlamo-4.22を繋ぎ、DHCPサーバを起動させる。dhcpd.conf には
自分の属するNetも(割り当て予定はないが)定義する必要があった。
他方に適当なWindowsPCを繋ぐ。が、しばらく待って169.254うんちゃらに
なるばかり。
DHCPサーバにWindowsPCを直接繋ぐとできたのだけど。
DHCPサーバ上でWireshark起動させ、WindowsPCを繋いだ直後のパケットを
拾ってみる。
リレーはされているようだけど、DHCP Discover と DHCP Offer を
何度も繰り返すばかり。一向にDHCP Request に進まない。
もうしばらく唸ることになりそうだ。
昨日のコード、ようやくRaspbian。
#include<stdio.h> #define FIRST 0 #define LAST 100000000 #define NUM 0 #define FIZZ 1 #define BUZZ 2 #define FIZZBUZZ 3 int main() { int i, fbnum; int fblist[15] = {NUM, NUM, FIZZ, NUM, BUZZ, FIZZ, NUM, NUM, FIZZ, BUZZ, NUM, FIZZ, NUM, NUM, FIZZBUZZ}; for(i=FIRST; i<LAST; i++) { fbnum = fblist[i%15]; switch (fbnum) { case NUM: printf("%d\n", i+1); break; case FIZZ: printf("fizz\n"); break; case BUZZ: printf("buzz\n"); break; default: printf("fizzbuzz\n"); } } return 0; }
$ time ./numlist > /dev/null
real 2m33.038s
user 2m32.570s
sys 0m0.160s
もう一度比較してみたが、default の変更に 意味があったのかどうか よくわからなくなってしまった。
無線LANを 付けた、FreeBSD on RaspberryPiで、
% ifconfig -a lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6> inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 inet 127.0.0.1 netmask 0xff000000 nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL> run0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 2290 ether 34:76:c5:14:ac:fb media: IEEE 802.11 Wireless Ethernet autoselect (autoselect) status: no carrier nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
Handbook と睨めっこして、wlan0 を作り、 wpa_supplicant やってみたが
これはどうも失敗しているらしい。
まだtmux入れてないので、シリアルコンソール一つだけ。
なので今ひとつ試しにくい。
どうも32Bitと64Bitの違いみたいだ(
半分間違いとわかった)。
PowerPCのWheezy。
$ uname -a Linux $HOST 3.2.0-4-powerpc #1 Debian 3.2.63-2+deb7u1 ppc GNU/Linux $ gcc -Wall -o sign_unsign sign_unsign.c $ ./sign_unsign | tail -n1 un:254 sn:254 $ file sign_unsign sign_unsign: ELF 32-bit MSB executable, \ PowerPC or cisco 4500, version 1 (SYSV), \ dynamically linked (uses shared libs), \ for GNU/Linux 2.6.26, \ BuildID[sha1]=0xc98da56ac2b1735a277999384c0a2fdc13531bce, \ with unknown capability 0x41000000 = 0x13676e75, \ with unknown capability 0x10000 = 0xb0401, not stripped
amd64のFreeBSD 11-CURRENT。
RasPIでは -Weverything で警告は出なかったはず。
$ uname -a FreeBSD $HOST 11.0-CURRENT FreeBSD 11.0-CURRENT #0 r277524:\ Tue Jan 27 14:03:18 JST 2015 \ root@$HOST:/usr/obj/usr/src/sys/GENERIC amd64 $ cc -Weverything -o sign_unsign sign_unsign.c sign_unsign.c:6:10: warning: implicit conversion changes signedness: 'unsigned char' to 'char' [-Wsign-conversion] ac = uc; ~ ^~ 1 warning generated. $ ./sign_unsign | tail -n1 un:254 sn: -2 $ file sign_unsign sign_unsign: ELF 64-bit LSB executable, x86-64, \ version 1 (FreeBSD), dynamically linked, \ interpreter /libexec/ld-elf.so.1, \ for FreeBSD 11.0 (1100054), not stripped
代入時に型変換してやっても、変りはなかった。
適当に検索して、
ようやく。
charと宣言すると、暗黙にunsigned charになる、処理系があるということ
のようだ(RasbperryPIのFreeBSD及びDebian、PowerPCのDebian)。
32ビットとはいっても、gcc-4.7.2(debian wheezy i686)、
及びclang3.4.1(FreeBSD10.1 i386)
は、charを宣言すると、暗黙にsigned charになっていた。
64BitのFreeBSD/Debian/Ubuntuはいずれもsigned。
いずれにしても宣言時にsinged/unsigned char を指定してやると、ちゃんと。
$ cat sign_unsign3.c #include<stdio.h> int main() { unsigned char uc; signed char ac; for(uc=0; uc<255; uc++){ ac = uc; printf("un:%3d sn:%3d\n", uc,ac); } return 0; } $ ./sign_unsign3 | tail -n1 un:254 sn: -2
ついでに
LSIC-86試食版をWin7(32Bit)でやってみた。
PPCやRaspbianなどと同じ結果になった。
C:\%HOMEPATH%\%lsic330c\BIN> type stest.c #include<stdio.h> #define SIGN_NUM 129 int main() { unsigned char ex_uc = SIGN_NUM; signed char ex_ac = SIGN_NUM; char im_c = SIGN_NUM; printf("unsignd char:%3d\n", ex_uc); printf("signed char:%3d\n", ex_ac); printf("implict char:%3d\n", im_c); return 0; } C:\%HOMEPATH%\%lsic330c\BIN> sign_test.exe unsignd char:129 signed char:-127 implict char:129
ASCII文字は0-127までしかないから、どっちであっても あまり困らなかったのだろうか。
とりあえずは「犬」を選択した。
Ubuntu14.04(x86_64)のgcc-4.8.2および
FreeBSD 11-CURRENT(RaspberryPI)の
clang-3.5.1 で確認。
#include<stdio.h> int main() { char dog[3]; dog[0] = 0xe7 ; dog[1] = 0x8a ; dog[2] = 0xac ; printf("%c%c%c\n", dog[0], dog[1], dog[2]); return 0; } $ ./dog 犬
dog[2]でも gcc -Wallは
エラーメッセージを出さなかったが、clangは不満を鳴らしてきた。
これは-Weverythingがあってもなくても同様。黙らせるに若干の
試行錯誤。
ちなみにdog[3]でもdog[2]でも、
実行結果は(hexdumpに通してみた限りは)全く同じ。
dog[3]にした方のファイルサイズが1バイト大きくなるだけ。
diff dog.c dog2.c 4c4 < unsigned char dog[2]; --- > unsigned char dog[3]; $ ls -l dog dog2 -rwxrwxr-x 1 user group 8511 2月 2 22:07 dog -rwxrwxr-x 1 user group 8512 2月 2 22:07 dog2 [user@freebsd ~]$ ls -l dog dog2 -rwxr-xr-x 1 user wheel 6453 2月 2 22:19 dog -rwxr-xr-x 1 user wheel 6454 2月 2 22:19 dog2
char にsigned をつけたり、= の右に(signed char)を
入れたりしたが、いずれも結果的には不要だった。
また、char を unsigned char にしてもみたが、どちらの
環境でも警告らしいものは出ず、正常に動作した。
仮想マシンのstretch で、lvmで試す。
基本的に
Archのドキュメント通りだけど。
まずファイルシステムとディレクトリの用意。
$ sudo lvcreate -L 512M vg_1 -n lv_512 Logical volume "lv_512" created. $ sudo mkfs -t ext4 /dev/vg_1/lv_512 mke2fs 1.43.3 (04-Sep-2016) Discarding device blocks: done Creating filesystem with 131072 4k blocks and 32768 inodes Filesystem UUID: 6dd482c5-4fdb-4009-8523-2720e72bd92d Superblock backups stored on blocks: 32768, 98304 Allocating group tables: done Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done $ sudo mount /dev/vg_1/lv_512 /media/temp/ $ sudo mkdir /media/temp/encrypted
デバイスの情報確認と、暗号化対応フラグを設定。
$ sudo tune2fs -l /dev/vg_1/lv_512 | grep "Block size"
Block size: 4096
$ sudo getconf PAGE_SIZE
4096
$ sudo tune2fs -l /dev/vg_1/lv_512 >before.txt
$ sudo tune2fs -O encrypt /dev/vg_1/lv_512
tune2fs 1.43.3 (04-Sep-2016)
$ sudo tune2fs -l /dev/vg_1/lv_512 >after.txt
$ diff before.txt after.txt
7c7
< Filesystem features: has_journal ext_attr \
resize_inode dir_index filetype needs_recovery extent \
64bit flex_bg sparse_super large_file \
huge_file dir_nlink extra_isize metadata_csum
---
> Filesystem features: has_journal ext_attr \
resize_inode dir_index filetype needs_recovery extent \
64bit flex_bg encrypt sparse_super large_file \
huge_file dir_nlink extra_isize metadata_csum
30c30
< Last write time: Thu Feb 2 16:54:28 2017
---
> Last write time: Thu Feb 2 16:56:10 2017
47c47
< Checksum: 0xa7ec2b8e
---
> Checksum: 0xde4bcda8
で、暗号化ポリシー設定。
/media/temp/encrypted$ sudo e4crypt add_key Enter passphrase (echo disabled):(パスワード入力) Added key with descriptor [93f036a7e7758ac2] $ sudo e4crypt set_policy 93f036a7e7758ac2 encrypted Key with descriptor [93f036a7e7758ac2] applied to encrypted.
適当なファイルを作ってみて確認。
/media/temp/encrypted$ cat i_cat.txt 吾輩は猫である。名前はまだ無い。 どこで生れたかとんと見当がつかぬ。 何でも薄暗いじめじめした所でニャー... /media/temp/encrypted$ sudo cp i_cat.txt ../
この段階ではアクセス権のあるユーザはすべて見える。
が、再起動してマウントしただけ、では、
$ ls -l i_cat.txt -rw-r--r-- 1 root root 159 2月 2 17:06 i_cat.txt $ ls -l encrypted/ 合計 4 -rw-r--r-- 1 root root 159 2月 2 17:06 Hc502tbZw4TI5BrXCqAFaB $ sudo cat encrypted/Hc502tbZw4TI5BrXCqAFaB cat: encrypted/Hc502tbZw4TI5BrXCqAFaB: 要求されたキーが利用できません
と、暗号化した部分はスーパーユーザでもアクセスできないし、
ファイル名も分からない。
ファイルサイズや作成時刻などは隠せないようだけど。
パスワードを再度入力してやると、
$ sudo e4crypt add_key encrypted Enter passphrase (echo disabled): Added key with descriptor [93f036a7e7758ac2] Key with descriptor [93f036a7e7758ac2] applied to encrypted.
$ ls -l encrypted/ 合計 4 -rw-r--r-- 1 root root 159 2月 2 17:06 i_cat.txt $ cat encrypted/i_cat.txt 吾輩は猫である。名前はまだ無い。 どこで生れたかとんと見当がつかぬ。 何でも薄暗いじめじめした所でニャー...
リムーバブルメディアに役立ちそうだ。
ext4にするだけでも、若干の効果はありそうだけど。
によるメンテナンスのため、電源断予定とかいう通知が 何回か来ていた。日時(明日午後)が確定したのは一週間前だったかしら。
RubyのCGIなどすっかり忘れていたが、移行予定のVPS
でうまくゆかず、クラウドで適当に立ち上げて確認。
vagrantのせいかどうか、モジュールの混在か何かが
祟ったらしい。ピュアに近いbusterを用意して、
userdirやcgi、それにsslのモジュールを突っ込み、
AllowOverrideを設定して、なんとか。
日本橋の千石にてUSB Charger Doctor(LBR-USBDR)購入。税込み980円。
信号線も有効らしい。現在のUSBテザリングで、SEは0.15A前後。
USB DVDとセルフパワーのUSBハブの間に挟んでみた。
回転している間は0.5A程度。それが収まると0.16A程度になった。
どこかにリンクを張ろうかと思ったが、どうでも良さそうな通販サイトばかり。
また後で。
$ time sudo ddrescue -f /dev/sda /dev/sdb log GNU ddrescue 1.23 Press Ctrl-C to interru ipos: 79999 MB, non-trimmed: 0 B, current rate: 32030 kB/s opos: 79999 MB, non-scraped: 0 B, average rate: 55478 kB/s non-tried: 0 B, bad-sector: 0 B, error rate: 0 B/s rescued: 80000 MB, bad areas: 0, run time: 24m 1s pct rescued: 100.00%, read errors: 0, remaining time: n/a time since last successful read: n/a Finished real 24m2.423s user 0m8.301s sys 2m45.315s
書き込みの乱高下を見ていると、損耗していることを暗示しているかも、 という気がしたが、同じ型番の新品と比較したわけでもないので、 なんとなく。でやめる。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。
※ jig [dhcrelay失敗の件ですが、DHCPサーバ側のインターフェースは relayしないようになっていませんか? 仮に..]