トップ «前の日記(2016-07-06(Wed)) 最新 次の日記(2016-07-08(Fri))» 編集

屑俺日記

僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。


2016-07-07(Thu) この天気なら、鵲は休みか

システムユーザと(ほとんど関係ない)メール送受信

Jessie + Postfix + そしてMySQLじゃなくてMariaDB。
POPやIMAPなどは次の課題。つまり今のところ受信しかできてない。

まずドメインを仮想化するために、virtual_mailbox_domains。
/etc/passwd にない名前のメールアカウントのためのメールボックスは、 virtual_mailbox_mapsで定義した。
そして、そのメールボックスを読み書きできる「システムユーザ」は virtual_uid_maps と virtual_gid_mapsにて定義。
今のところドメインはひとつだけ。それ以外は同じテーブルから。

$ grep virtual  /etc/postfix/main.cf
virtual_mailbox_domains = $VIRTUAL_DOMAIN_NAME
virtual_mailbox_base = $MAILBOX_MAILDIR/
virtual_mailbox_maps =  mysql:/etc/postfix/mailbox_tbl
virtual_uid_maps = mysql:/etc/postfix/uid_tbl
virtual_gid_maps = mysql:/etc/postfix/gid_tbl

mysql:と書いた。 今のところMariaDBは互換ということか。
あとjessieには"maria"という、ぜんぜん関係ないパッケージがあるみたい。

$ sudo postconf -m
btree
cidr
environ
fail
hash
internal
memcache
mysql
nis
proxy
regexp
sdbm
socketmap
sqlite
static
tcp
texthash
unix

テーブルはこんな感じ。

MariaDB [mail]> desc $TBL;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| uid     | varchar(30) | NO   |     | NULL    |       |
| name    | text        | YES  |     | NULL    |       |
| aname   | text        | YES  |     | NULL    |       |
| passwd  | text        | YES  |     | NULL    |       |
| maildir | text        | YES  |     | NULL    |       |
| gid     | varchar(30) | NO   |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
 
MariaDB [mail]> select * from $TBL;
+------+-------+-----------+----------+-----------+------+
| uid  | name  |   aname   | passwd   | maildir   | gid  |
+------+-------+-----------+----------+-----------+------+
| $NUM | $NAME | $VACCOUNT | ******** | $BOXNAME/ | $NUM |
| $NUM | $NAME | $VACCOUNT | ******** | $BOXNAME/ | $NUM |
+------+-------+-----------+----------+-----------+------+

$VACOUNT@VIRTUAL_MAILBOX_DOMAIN なメールの メールボックスの位置(ローカル配信先、でいいのか?)は、

select maildir from muser where aname='%s'

で引かれ、フルパスでvirtual_mailbox_base の下になる。
anameは@の左側になる、らしい。

書き込み権限はシステムユーザ/グループのIDを検索して認識する。

query = select uid from muser where aname='%s'

今のところnameとpasswordカラムは使ってないはず。
あと、クエリを定義するファイルが増えてきた。もう少し減らせないものか。

PocketWifiでも

Pocket ping

ping を打ってみた。別のバス路線の中で。
さほど重い処理はしていない。最も大きな遅延は704msが一回だけ。
パケットロスなし。

もう一度

ping and rpi-update 2

rpi-update をpingしながらやってみた。 今度は全部同じRaspberryPi B+。
それにしてもy軸は対数表示になっている。
ファームウェアのダウンロードが始まる前(1-53)の rttの平均と、その次(54,遅延最大)との差が強烈。

$ awk '{
  if(NR>54) {
    avg+=$2 }
  if(NR==54) {
    max=$2  }}
END {
  printf("%6d\n", avg/53);
  printf("%3d\n", max) }' \
  rpi-update_ping.txt
   110
604400

長いコマンドが面倒になった。スクリプトを貼っておくか。

#!/usr/bin/env awk
{if($1==64)
        {
                sub("icmp_seq=","",$6)
                sub("time=","",$8)
                print $6,$8
        }
}

それから返ってこなかったパケットの 隙間詰めも。

BEGIN {
        serial = 1
}
{
        while (serial < $1) {
                {
                print serial, 2000000
                }
                serial += 1
        }
        {
                print serial, $2
        }
        serial+=1
}

リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。

index.htmlは ここから。