Mysqlに関する管理コマンド

#rootユーザーのパスワードを設定
mysqladmin -u root password '(password)'
#DBの追加
mysql -u root -p
mysql> CREATE DATABASE hogehoge
なお、5.0では大文字小文字を区別するらしく、create databaseはエラーになる。
#ユーザーの追加(すべてのDBに権限を付与の場合)
mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON *.* TO (username)@localhost IDENTIFIED BY '(password)';
#ユーザーの追加(hogehogeデータベースの任意テーブルに権限を付与する場合)
mysql -u root -p
mysql> GRANT ALL PRIVILEGES ON hogehoge.* TO (username)@localhost IDENTIFIED BY '(password)';

run level

Linuxのrun levelだがnoisettle.ddo.jpにあるように

0:システムの停止
1:シングルユーザーモード(管理者モード)
2:NFSを使わないマルチユーザーモード
3:マルチユーザーモード
4:未使用
5:GUIログインを行えるマルチユーザーモード
6:システムの再起動

となっており、多くの場合には、3(CUI)もしくは5(X Windowsシステムを利用したGUI)になっている。
/sbin/runlevel
で現在のランレベルと以前のランレベルを調べることが出来る。
なお、/sbin/chkconfig (サービス名) on
とすると2, 3, 5がonになる。

リスト管理者としてそれはマズいんじゃない?!

Maimanの日本語化でメーリングリストの削除をしようとすると発生するメッセージ。通常は、
(管理ツールのURL)/rmlist/(メーリングリスト)
で削除できるが、このメッセージが出て削除できない。ただ、コマンドからは削除が出来る。
/usr/lib/mailman/bin/rmlist (メーリングリスト)
この場合には、確認メッセージ等が出ないので注意したい。

Fedora Core6 + Postfix + Mailmanではまる

Fedora Core6からIPv6のサポートが正式に始まった。これによってIPv6の環境下でもインストールを行うことが出来るようになった。がしかし、ソフトウエアがまだ完全に対応していないために思わぬところではまってしまった。
PostfixはIPv6に対応しているもののデフォルトはIPv4対応になっている。
inet_protocols = all
main.cfに設定して再起動しなければ、IPv6用に待ち受けしないので、
telnet 127.0.01 25
とやると問題ないのに
telnet localhost 25 もしくは
telnet ::1 25 とやると

Trying ::1…
telnet: connect to address ::1: Connection refused
telnet: Unable to connect to remote host: Connection refused

のメッセージが出てしまう。Mailmanはデフォルトでlocalhostに配送しようとするので、この問題で配送されない状態が続くということになる。

“Fedora Core6 + Postfix + Mailmanではまる” の続きを読む

mailtoについて

RFC822に規定されているリンクの形式のうち、mailtoに関するものについて。mailtoには、mailto:aaa@bbb.comのほかに送信先を指定するto, CCを指定するcc, タイトルをつけるsubject, 本文を入れるbodyがheadersに規定されている(RFC1738)。詳しくは、RFC2368の翻訳をご覧ください。
たとえば、あて先aaa@bbb.com、 CCにxxx@yyy.com, タイトルddd, 本文eeeを付加するリンクを生成するとすれば、
mailto:aaa@bbb.com?cc=xxx@yyy.com&subject=ddd&body=eee と指定するか
mailto:?to=aaa@bbb.com&cc=xxx@yyy.com&subject=ddd&body=eee と指定すればよさそうだ。

sshで指定されたグループのみを許可する

AllowGroupsパラメータでグループ名を指定すると指定されていないグループに所属するログインユーザーを拒否することが出来る。パラメータはDenyUsers, AllowUsers, DenyGroups, AllowGroupsの順に処理されるらしい。

Postfix + DovecotでPOP before SMTP

もう認証方式としてはあまり使われなくなっているらしいPOP before SMTP方式ですが、SMTP認証方式は多少なりとも初心者ユーザーへのハードルが高いことは事実。PostfixとDovecotを使ってPOP before SMTPを実装する方法がTAKEDA Hiroyukiさんのページで紹介されていました。僕の環境の場合、BerkeleyDBのCPANインストール時に
db.h: No such file or directory
で躓きましたが、db4-develパッケージをインストールすることで解決しました。

postfixの設定

postfixでMaildir形式での運用をするときには、/etc/postfix/main.cfを以下のように変更する。
#home_mailbox = Maildir/
#mail_spool_directory = /var/spool/mail

home_mailbox = Maildir/
mail_spool_directory = /var/spool/mail
また、Fedora CoreやRedhatではローカルのみメールを配送するように設定されているために、
telnet localhost 25とすると

Trying ::1…
telnet: connect to address ::1: Connection refused
telnet: Unable to connect to remote host: Connection refused

というエラーに悩まされるかもしれない。
そこで、以下のように設定を変更する。
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost

inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost
それから、Fedora Core6の環境で悩まされた問題だが、inet.dの再起動に失敗して
postfix[XXXX]: fatal: parameter inet_interfaces: no local interface found for XXX.XXX.XXX.XX
というエラーが/var/log/maillogに記載されることがあるかもしれない。そのときは、
/etc/hosts
ファイルを見直すとよい。

パケットをキャプチャする

WindowsではEthereal(Wireshark)が有名だが、Linuxではtcpdumpコマンドが利用できる。たとえば、SMTP(25番)ポートで通信が行われているかどうかは、
# tcpdump port 25
を実行することで確認できる。