Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

UNIX

sudo で「コマンド実行後 5 分間」をすぐに経過させる

sudo では、一度 sudo で password を入力した後 5 分間、sudo を実行する際の password の入力が省略される。以下のコマンドで、5 分間待たないでも password の入力が要請される状態に戻せる。 $ sudo -k

Connection Refused

Putty でポートフォワーディングを L10025 / localhost:25 として CCLUB サーバに接続する。つまり、localhost の tcp/10025 に接続すると、CCLUB サーバの tcp/25 にサーバ内部から繋がってることになる。でメールを送信しようとすると、/var/log/messages …

コマンドを繰り返し実行

次のような、引数に指定されたコマンドを n 回繰り返し実行するスクリプト repeat があるとしよう。 #!/bin/sh SEQ=/usr/bin/seq TIMES=$1 shift T=`$SEQ 1 1 $TIMES` for i in $T; do for COMMAND in "$@"; do $COMMAND done done実行すると次のようになる…

IDENT

ident って↑こういう目的以外に使われることはあるのかな?

メールヘッダ偽装

初めて telnet で SMTP を喋るということをやってみたんだけど、メールヘッダの詐称ってこんなに簡単にできるのか! そりゃ spam も飛んできますわ……。

qmail で SMTP の際の HELO/EHLO が遅い *1

研究室のメールサーバでは MTA として qmail を使っている。 高速さが qmail のウリの一つのはずだが、なぜかメールの送信時に不自然に時間がかかる。具体的には「送信中」みたいな表示のまま 30 秒程度? 待たされる。telnet でメールの送信をするときの反…

Xprint を使って Mozilla Firefox から印刷

縦横半分のサイズで印刷される 日本語の一部の文字が化ける という問題は解決された模様。但し以下の問題が残っている。 一部の英数字の幅が正しく認識されていない模様(続く文字が重なって印刷される) 日本語が、Mozilla で指定したものでも GhostScript …

PostScript プリンタもどき作成

PostScript プリンタもどきプリンタサーバを作りたい。CUPS から日本語がうまく印刷できない端末や、プリンタのドライバがない OS の端末のために、日本語対策とか PostScript からの変換とかをサーバに任せる。プリンタは Canon LBP-750。今のところ、プリ…

XMODIFIERS

$ which emacs alias emacs='XMODIFIRES=@im=none emacs' $orz

rsync でバックアップ

CCLUB のサーバにあるデータのうち、重要なものはバックアップしたい。研究室のサーバで HDD を 2 台載せて pdumpfs とかやってるから、そっちへバックアップ。rsync を使って、例えば次のようにする。 sudo rsync -azv -e ssh --exclude 'public_html.backu…

シェルスクリプトで配列(リスト)を連結

二つの配列(リスト)を連結したい場合は、単純に次のようにすればよい。 # Perl で言えば push(@hoge, @piyo); HOGE="$HOGE $PIYO"例えば、次のようにすればどうなるか分かる。 HOGE=`ls`; PIYO=`ls /`; HOGE="$HOGE $PIYO"; for i in $HOGE; do echo $i; d…

LDAP と adduser 解決編

http://d.hatena.ne.jp/satob/20041011#p4 /etc/passwd のエントリを削除しても、adduser の新規ユーザに対する uid の自動設定に問題は起こりませんでした。LDAP 上に存在するユーザの uid を考慮して自動設定してくれます。 他の distro の adduser や、Li…

LDAP と useradd

LDAP に登録したユーザの /etc/passwd にあるエントリは消しちゃってもいいかな、とか思っていたんだけど、useradd が自動で uid の決定をするときとかに不具合が出るかも、と気付いた。今度チェック。

ImageMagick みたび

$ convert -colors 256 hoge.bmp hoge256.bmpとやった場合、実は出力の .BMP ファイルには RLE 圧縮がかかっている。convert(1) には次のような記述がある。 -compress type the type of image compression: None, BZip, Fax, Group4, JPEG, LZW, RunlengthE…

こんなコマンド

dirname 逆 basename(渡されたパスからディレクトリ名のみ抽出) basename $i .ext 拡張子を取り除く $ basename migrate_passwd.pl .pl migrate_passwd tempfile テンポラリとして使えるファイル名を生成。大抵 /tmp/fileXXXXX という名前

指定のファイル名を除外する (3)

次に、/usr/local/news/etc の内容をカレントディレクトリにコピーしてテストしてみる。 $ cp /usr/local/news/etc/* . cp: /usr/local/news/etc/radius.conf.org: Permission denied cp: /usr/local/news/etc/radius.conf.dist: Permission denied --(snip)…

指定のファイル名を除外する (2)

http://d.hatena.ne.jp/satob/20040922#p2 tar に --exclude pattern というオプションがあるようなので使ってみる。 $ ls inn.conf inn.conf.bak inn.conf.dist inn.conf.org $ tar -cz --exclude *.org --exclude *.bak --exclude *.dist -f a.tar.gz * $ …

指定のファイル名を除外する

bash で、例えば「/etc 以下にある、名前が .bak と .org で終わるファイル以外を tar.gz に固める」とかってどうすればいいんだろう。

gnuserv, gnuclient

UNIX 向けの情報が少ない……Meadow の設定ばっか。大して変わりないのか?

smbpasswd

smbpasswd でパスワードを変更しようとしたら次のようなメッセージが出た場合。 machine 127.0.0.1 rejected the password change: Error was : RAP86: The specified password is invalid.smb.conf の unix password sync を調べる。Yes にする必要がないの…

useradd, adduser

Vine Linux adduser は同ディレクトリの useradd コマンドへのシンボリックリンク。両方とも非対話型のコマンド。 Debian GNU/Linux adduser は Debian 独自の useradd コマンドのフロントエンド。 FreeBSD adduser はユーザを追加する用の対話型コマンド。u…

skkinput でカッコは全角にしたい

~/.skkinput に次の記述を追加。skkinput-rom-kana-rule-list でないことに注意。 skkinput-input-vector: (48 . ")") skkinput-input-vector: (57 . "(")

ついつい忘れるチェック項目

/var/log/messages は見たか? *-dev パッケージは install したか? /etc/init.d/hoged restart したか?

portaudit

for FreeBSD。ports からインストールしたプログラムのうち、脆弱性などの問題があるものがあれば報告してくれるらしい。便利。

Shell Script ワンライナーで改行

Shell Script カテゴリを作った方がいいかも。 [nuts@cclub mail]$ sh -c 'for i in `ls -la | grep -E "\-rw\-+\W+1 \w+\W+[0-9]{3}" | perl -pe "s/.+ (\w+)/\1/g"`; do echo chown :cclub $i; done' chown :cclub bar chown :cclub baz : : [nuts@cclub m…

Shell Script でのシングルクォートとダブルクォートの違い

[nuts@cclub mail]$ sh -c "for i in `ls -la \ | grep -E '\-rw\-+\W+1 \w+\W+[0-9]{3}' \ | perl -pe 's/.+ (\w+)/\1/g'`; do echo chown :cclub $i; done" Syntax error: word unexpected [nuts@cclub mail]$ sh -c 'for i in `ls -la \ | grep -E "\-rw\…

キーコード表示

キーコード一覧を表示。 xmodmap -pke

sudo とパイプ

$ sudo echo xdm hold | dpkg --set-selections dpkg: 操作は dpkg ステータスエリアへの読み書きの権限が必要です。 パイプ以下のコマンドも su な権限で実行させる、というのは sudo ではできないんですかね? "sudo echo ... | sudo dpkg ..." みたいにす…

find (1)

「group に書き込み権限がないファイルをリストアップ」するときは次のようにする。 for i in `find . -not -perm -g+w`; do echo $i; done

skkinput の設定

以下の内容を ~/.skkinput に書く。私としては、これだけ設定してあれば多分十分。 skkinput-rom-kana-rule-list: ("oh" "h" "" "") skkinput-rom-kana-rule-list: ("z." "" "…" "…") skkinput-rom-kana-rule-list: ("z/" "" "・" "・") skkinput-rom-kana-r…