「FreeBSD」カテゴリーアーカイブ

rsync 実行時に `tty`: Ambiguous が出る

未来の自分へのメモ

ネット越しにrsyncでファイルコピーをしたところ、

`tty`: Ambiguous

というメッセージが出てきました。別の環境では出たことが無く原因が判りませんでした。さくっとググってもすぐには私の頭ですっきり理解できる説明が見つからず、最終的に辿り着いたのが、「`tty`: Ambiguous. — what does this mean?」でした。曰く、

It is not a strange message and csh is documented to behave that way…

The problem is that in your .cshrc you have something that tries to
execute `tty`. If you are not running the shell on a real tty then
tty will print “not a tty”. Csh expects one word in some places,
but tty is giving it back 3.

The solution is to add a pair of quotes around `tty` to make it a single
word:

だそうです。
確かにcshを使っていて、.cshrcに

switch ( `tty` )
case /dev/console:
case /dev/ttyv[0-9]:
    setenv  LC_CTYPE C
    setenv  LANG     C
    breaksw
default:
    setenv  LC_CTYPE ja_JP.UTF-8
    setenv  LANG     ja_JP.UTF-8
    breaksw
endsw

このような記述をしてました。この中の `tty`の部分をダブルクォーテーションで囲むと良いそうです。

switch ( "`tty`" )
case /dev/console:
case /dev/ttyv[0-9]:
    setenv  LC_CTYPE C
    setenv  LANG     C
    breaksw
default:
    setenv  LC_CTYPE ja_JP.UTF-8
    setenv  LANG     ja_JP.UTF-8
    breaksw
endsw

これで `tty`: Ambiguous. は出なくなりました。

Command time limit exceeded (procmail)

先日から、自サーバーにメールを送ったらMAILER-DAEMONさんからこんなエラーが返ってくるようになりました。

Subject: Undelivered Mail Returned to Sender
Command time limit exceeded: “/usr/local/bin/procmail”

自サーバーではprocmailを使ってスパムメールの処理をさせていますが、これと言ってエラーの原因になるようなログが残っていません。時々エラーが返ってくることがある程度だったのがだんだん増えてきました。procmailを通らない経路のメールはちゃんと配信されているのでprocmailのどこかが変です。 続きを読む Command time limit exceeded (procmail)

Squirrelmailとphp5.4

FreeBSDのportsにSquirrelmailが入るようになってからずっとports版のSquirrelmailを使っていました。でも、php5.4の環境でインストールしようとするとportsが

/usr/ports/mail/squirrelmail# make configure
===>  squirrelmail-1.4.22_3 cannot be installed: doesn’t work with lang/php5 port (doesn’t support PHP 5.4).
*** [configure] Error code 1

Stop in /usr/ports/mail/squirrelmail.

と怒ってインストールさせてくれません。仕方が無いのphp 5.3 (php53-*)のportsを入れてやり過ごしてきました。 続きを読む Squirrelmailとphp5.4

Checking negative group permissions

最近、security run outputのメールが”Checking negative group permissions”という警告を出してくるようになりました。この機能はFreeBSD 9.1の頃に追加されたようで、警告の内容自体は “705”とか”604″とか、グループはアクセス拒否でその他のユーザーはアクセスを許すというポリシーに対しての警告なので意図してそう設定しているのなら問題の無い類のものです。

本家のMLでも、あくまでも警告なんだからデフォでOK、不要な人は外せばいいでしょ、などといった会話が見つかります。

What is “negative group permissions”? (Re: narawntapu security run output)

私自身ではこういった”705″や”604″のような設定はあまりしません。ただ、最近になって他所のサーバーのデータをそのまま預かり、そのデータのパーミッションフラグは元のまま残しておきたい場合もでてきました。そしてそのデータの中にはこういった”negative group permission”が大量に含まれていることが多く、自分ではコントロールできないのでこの警告は出ないように設定することにしました。

私はこういったデフォルトお任せ的な部分の設定は良く知らないので、どこを変更したらいいのか調べるためにまず先のMLで出てた”110.neggrpperm”を探してみます。

#cd /etc
# find . -name 110.neggrpperm -print
./periodic/security/110.neggrpperm

すぐに”/etc/periodic/security/110.neggrpperm”が本体なのが分かりました。中身を見ると、

case "$daily_status_security_neggrpperm_enable" in
[Yy][Ee][Ss])

という記述がみつかります。今度は”daily_status_security_neggrpperm_enable”を含むファイルを探します。

# grep -r daily_status_security_neggrpperm_enable *
defaults/periodic.conf:daily_status_security_neggrpperm_enable="YES"
periodic/security/110.neggrpperm:case "$daily_status_security_neggrpperm_enable" in

そして”/etc/defaults/periodic.conf”の中の記述を以下のように”YES”から”NO”に変更。

# 110.neggrpperm
daily_status_security_neggrpperm_enable="NO"

periodic.conf自体はシェルスクリプトで時間が来たら実行されるので変更を反映させるために何かを再起動とかは必要なさそう。
きっとこれで静かなdailyレポートになるでしょう。

後で先のMLの記事を読み直してみたら設定ファイルの場所とか書かれていました。orz

FreeBSD 8.3-RELEASE

4月にFreeBSD 8.3-RELEASE がリリースされました。(FreeBSD 8.3-RELEASE Announcement

3月中旬に8.2-RELEASE-p6から8.3-PRERELEASEに変わる頃までは追っかけていましたが、RELEASE直後にありがちなトラブルとかを避ける意味も含めて4月はちょっとさぼっていました。ようやく先日、makeworldして8.3-RELEASEに移行しました。すでにp1になってました。何台か稼働しているサーバーを順次移行していってますが、とりあえず目に見える不具合はなさそうです。

FreeBSD 8.3-RELEASE-p1 #10: Tue May 29 10:46:33 JST 2012

 

20120503: p1 FreeBSD-SA-12:01.openssl Fix multiple OpenSSL vulnerabilities.
20120411: 8.3-RELEASE.

vsftpd 2.3.5 : refusing to run with writable root inside chroot()

先日のmakeworldついでにたまっていたportsのアップデートをシコシコと済ませたら今朝になってvsftpdが変だということに気が付きました。

ftpクライアントでログインを試みると

500 OOPS: vsftpd: refusing to run with writable root inside chroot()
500 OOPS: priv_sock_get_cmd

と言われてアクセスを拒否られてしまいます。portsのアップデートは vsftpd-ssl-2.3.4 から vsftpd-ssl-2.3.5 でした。きっと私の他にも不幸な目にあっている人がいるに違いないと上記のエラーメッセージでぐぐってみるとやはり先人がいらっしゃいました。情報感謝。

~かなりオタクで(21)なPC馬鹿の雑記~(vsftpd 2.3.5)
3. Download sources of vsftpd-ext, compile and overwrite exist vsftpd binaries or take it from repositories and add to configuration file option allow_writable_root=yes.

vsftp の代わりに vsftp-ext を使って allow_writeble_root=yes を指定すればよさげです。

portsの中を探してみると /usr/ports/ftp/vsftpd の隣に /usr/ports/ftp/vsftpd-ext がありました。

# pkg_info | grep vsftpd
vsftpd-ssl-2.3.5    A FTP daemon that aims to be “very secure”
# pkg_delete vsftpd-ssl-2.3.5
# portinstall ftp/vsftpd-ext
# pkg_info | grep vsftpd
vsftpd-ext-ssl-2.3.5.1_1 A FTP daemon that aims to be “very secure”. Extended build

でportsを削除&インストールして、/usr/local/etc/vsftpd.conf の末尾に

allow_writable_root=YES

を追加して完了。

これで元通りにftpアクセスができるようになりました。

 

参考サイト:~かなりオタクで(21)なPC馬鹿の雑記~(vsftpd 2.3.5)

FreeBSD 8.3-PRERELEASE

半年くらい前にFreeBSD 8.2-Releaseに上げたところなのにもう次の8.3がリリースされる時期になりました。

FreeBSD 8.2-RELEASE-p6 #8: Wed Mar 14 19:59:06 JST 2012
FreeBSD 8.3-PRERELEASE #9: Sun Mar 18 12:40:41 JST 2012

8.2-Releaseは先日の時点でp6まで上がっていました。makeworldでSTABLEに上げると8.3-PreReleaseになりました。スケジュール(FreeBSD 8.3 Release Process)によると現時点でRC1ということになりますね。

そういえば、使ったことが無いですがPC98が未だにサポートされているんですね。今使っているサーバー(Atom 330 @1.6GHz)でbuildworldが約1時間半、buildkernelが約1時間かかっています。静音サーバー(VIA C3@1GHz)だとbuildworldが約6時間、buildkernelが約2時間もかかります。PC98だと一体どれくらいかかるんでしょうね。確かMMX166のThinkPadで当時のFreeBSDで1日近くmakeworldにかかっていた記憶があるのでそれ以上になるのかな。

 

FreeBSD 8.2-Release (Make World)

久しぶりの備忘録

去年の10月に、友人宅サーバーからFreeBSDが使える専用サーバーに移転したのですが最初に入っていたのがFreeBSD 8.0-Releaseで、すぐに8.1-Releaseにアップして使っていました。6月頃にアップしたらFreeBSD 8.1-RELEASE-p4まで上がっていました。

今年の2月に8.2-Releaseが出てから半年経過したのでそろそろいいだろうと思ってMake Worldしてみました。半年でp2まできてますね。とりあえず問題なし。

8.2-RELEASE-p2 FreeBSD 8.2-RELEASE-p2 #6: Thu Sep  8 17:52:01 JST 2011

 

FreeBSD 8.0 End of Life

FreeBSD 8.0が今年の11月末でEOL(End of Life)を迎えるというお知らせが先日MLに流れてきました。

ANNOUNCE: [FreeBSD-Announce] HEADS UP: FreeBSD 6.4 and 8.0 EoLs coming soon
The current supported branches and expected EoL dates are:

   +---------------------------------------------------------------------+
   |  Branch   |  Release   |  Type  |   Release date  |  Estimated EoL  |
   |-----------+------------+--------+-----------------+-----------------|
   |RELENG_6   |n/a         |n/a     |n/a              |November 30, 2010|
   |---------------------------------------------------------------------|
   |RELENG_6_4 |6.4-RELEASE |Extended|November 18, 2008|November 30, 2010|
   |---------------------------------------------------------------------|
   |RELENG_7   |n/a         |n/a     |n/a              |last release + 2y|
   |-----------+------------+--------+-----------------+-----------------|
   |RELENG_7_1 |7.1-RELEASE |Extended|January 4, 2009  |January 31, 2011 |
   |-----------+------------+--------+-----------------+-----------------|
   |RELENG_7_3 |7.3-RELEASE |Extended|March 23, 2010   |March 31, 2012   |
   |-----------+------------+--------+-----------------+-----------------|
   |RELENG_8   |n/a         |n/a     |n/a              |last release + 2y|
   |-----------+------------+--------+-----------------+-----------------|
   |RELENG_8_0 |8.0-RELEASE |Normal  |November 25, 2009|November 30, 2010|
   |-----------+------------+--------+-----------------+-----------------|
   |RELENG_8_1 |8.1-RELEASE |Extended|July 23, 2010    |July 31, 2012    |
   +---------------------------------------------------------------------+

手元のFreeBSD 8.0-Releaseを入れたままのサーバーでcvsupを入れてソースを8.1-Release(tag=RELENG_8_1)に上げてMake Worldしようとしたらカーネルのコンパイルでエラーが出ました。一旦、8.0-Release(tag=RELENG_8_0)で最終版に上げてから8.1に上げたら問題なくいきました。

FreeBSD 8.1-RELEASE → FreeBSD 8.0-RELEASE-p4 → FreeBSD 8.1-RELEASE

非力なCPUのマシンで、buildworldが約6時間弱、buildkernelが約2時間もかかるのでcvsupも含めて結構時間がかかりました。