Ubuntu 9.04のデフォルトのWebブラウザをFirefox 3.5に変更したものの、Flash Playerがインストールされていなかったので、Yahooの天気予報とかが見れずに不便だったので、Flash Player10をインストール

http://get.adobe.com/jp/flashplayer/

ここからdebパッケージをダウンロードしようと思ったけど、どうやらdebはまだ無いようなので、tar.gzファイルをダウンロード。
展開すると、libflashplayer.soができたので、このファイルを ~/.mozilla/plugins/ディレクトリにコピーしてやるとFlashが使えるようになった。

cpコマンドで/etc/skelなどのスケルトンファイルを一括コピーしたいときのコマンド。


# cp -r /etc/skel/. /home/takeda 

1年前も悩んだので、忘れたときのために記録。
正規表現とかでやろうとするとはまる。

Djangoで、1つのApacheに複数のDjangoアプリを載せたいときは、
PythonInterpreterの設定をしておかないと、動作が異常になる。

http://djangoproject.jp/doc/ja/1.0/howto/deployment/modpython.html

アプリAにアクセスしたのに、アプリBのエラーが出力されてびっくり。

CentOS5のpython-ldapを使って、LDAPの検索をするときにpage resultコントロールを利用するとエラーになる。

http://www.mail-archive.com/python-ldap-dev@lists.sourceforge.net/msg00458.html

RedHatにバグ登録もされているけど、修正版はまだ無いらしい。
https://bugzilla.redhat.com/show_bug.cgi?id=490343

パッチはそんなに難しくなかった。
RHEL5のpython-ldapは、LDIFの扱いの問題とこの問題の2つの問題に遭遇したので、アップデート必須。

SambaのTDBファイルには、永続的に利用するファイルと、一時的なキャッシュのファイルがある。
TDBファイルをクリーンアップしてよいかどうかは、ソースのstate_path()、lock_path()、cache_path()のどの関数でディレクトリ名を取得しているかで判別できる。

state_path()でdb_open()しているTDBファイルは削除してはダメ。

http://lists.samba.org/archive/samba-technical/2004-December/038250.html

こんな問題があるなんて、普通の人は気づかないと思う...。
しかもクラスタソフト導入の時だけとか...。

http://support.microsoft.com/kb/975512/ja

備忘録。


#!/usr/bin/python

import ldap, ldap.modlist

ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
ldap.set_option(ldap.OPT_REFERRALS, 0)
conn = ldap.initialize("ldaps://adserver.example.com")
conn.bind_s("Administrator@example.com","password")

groupname="testg1"
desc="test description"
groupdn = "CN=%s,CN=Users,DC=EXAMPLE,DC=COM" % groupname
attrs = {}
attrs['objectClass'] = ['top','group']
attrs['sAMAccountName'] = groupname
attrs['cn'] = groupname
attrs['description'] = "testgroup"

ldif = ldap.modlist.addModlist(attrs)
conn.add_s(groupdn, ldif)

http://googleappsupdates.blogspot.com/2010/02/message-security-for-google-apps.html

Google AppsのPostiniを利用して、メールログの検索ができるようになったらしい。
どこからメールが来たとか、どこへメールを送信したかとかが確認できるようになった模様。

こんな感じかな。


import socket, struct
def main():
ip = "192.168.0.1"
print struct.unpack('I', socket.inet_aton(ip))[0]
return

main()


OSS によって構築可能な認証基盤構成技術の現 状と事例調査

ちょっと古いので最新の技術情報は含まれないけど、概要としては十分。
http://www.ipa.go.jp/software/open/ossc/download/PKI_Research.pdf

ロゴがORACLEに

| コメント(0) | トラックバック(0)

Sunのサイトのドキュメントを見に行ったら、ロゴがORACLEになっていて焦った。

http://docs.sun.com/

Cのソースコードの行数をカウントするのに、ccccを使ってみた。
http://sourceforge.net/projects/cccc/

Ubuntu 9.04(x64)でccccを使うと、次のエラーで終了してしまった。

terminate called after throwing an instance of 'std::out_of_range'
what(): basic_string::substr
Aborted

仕方ないので、CentOS5(i386)で試してみたところ、問題なく動作した。
もしかしてccccって64bit対応していない??

10年ぶりぐらいにNISクライアントの設定を行ったけど、微妙に昔と違うので、覚書。

1. domainnameの設定
/etc/sysconfig/networkにNISDOMAINとして、domainnameを設定

...
NISDOMAIN=example

2. /etc/yp.confの設定
yp.confの最後に、NISサーバーを指定するために、次の設定を追加

domain example server server1.example.com

3. ypbindを起動

# /sbin/service ypbind start
# /sbin/chkconfig ypbind on

4. /etc/nsswitch.confにnisのエントリを追加

passwd: files nis
shadow: files nis
group: files nis

OpenLDAPのエントリに時刻を格納したい場合、「Generalized Time syntax」と呼ばれる書式で、時刻情報を格納することができる。
Generalized Time syntaxはRFC4517の「3.3.13 Generalized Time」で定義されている。
http://www.ietf.org/rfc/rfc4517.txt

Generalized Time syntaxの利用例としては、エントリの更新時刻を表すmodifyTimestamp属性だが、その時刻情報の最後には、「Z」が付いている。

modifyTimestamp: 20100121093114Z

このZは、GMTを表しているので、JSTで動作しているサーバーの時刻とは9時間ずれることに注意が必要。

inotify-toolsとpyinotify

| コメント(0) | トラックバック(0)

Linuxで、あるディレクトリ内にファイルが作成されたり、削除されたりといったイベントを検知したい場合、inotifyと呼ばれる仕組みが利用できる。

inotifyを簡単に利用するためのツールとして、Fedora12にはinotify-toolsパッケージがあるので、CentOS5用に再ビルドして利用することが可能。
使い方はこのサイトがわかりやすそう。
http://www.usupi.org/sysad/157.html

Python経由でinotifyをハンドリングしたい場合は、pyinotifyを利用すると良さそう。
http://pyinotify.sourceforge.net/

いまさらながら、Mac OS X 10.4 (Tiger)のCIFS接続機能で、Windows 2003 R2のファイル共有に接続する必要が生じたので、接続を試してみたところ、「パスワードが一致しない」エラーになって繋がらない....。

Mac OS Xはほとんど使ったことないので、いろいろ調べたところ、Mac OS X 10.4では、Windows Server 2003 に接続するときに、ドメインセキュリティポリシーを変更する必要があるという情報を発見。
http://allinthehead.com/retro/218/accessing-a-windows-2003-share-from-os-x

Windows Server 2003の「管理ツール」-「ドメインコントローラーセキュリティーポリシー」-「セキュリティの設定」-「ローカルセキュリティ」-「Microsoft ネットワークサーバー:常に通信にデジタル署名を行う」を無効に設定することで、接続できるようになった。

最初、「ドメインメンバ: 常にセキュリティで保護されたチャネルのデーターをデジタル的に暗号、または復号化を行う」を無効にして、繋がらずに悩んだ...。 文言が似ていて、有効になっていたので、最初に目に入ってきて勘違いした。

最近、発生するようになった模様

http://www.google.co.jp/support/forum/p/calendar/thread?tid=6ceef15c3d26db41

結構、みんな困っている。
Premier EditionもEducation Editionも発生することを確認した。

Active Directoryに登録されているユーザーのパスワードを変更するときに、unicodePwd属性をreplaceしてしまうと、パスワード履歴のポリシーが効かないことを知った。

http://support.microsoft.com/kb/269190/ja

ここを参考に、unicodePwd属性をDELETE + ADDで処理すると、きちんと履歴のポリシーも反映されることが分かった。
ちなみに、複雑性のチェックは、REPLACEでも問題無かったので気づかなかった。

Pythonのテストプログラムはこんな感じ。



#!/usr/bin/python

import ldap

oldpassword = "pass12345"
newpassword = "newass"

def unicodePassword(plainpasswd):
return ('"%s"' % plainpasswd).encode("utf-16le")

ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)
ldap.set_option(ldap.OPT_REFERRALS, 0)
conn = ldap.initialize("ldaps://win2008")
conn.bind_s("Administrator@example.com","adminpass")
username = "testuser1"
filter = "(sAMAccountName=%s)" % username
rt = conn.search_s("dc=example,dc=com", ldap.SCOPE_SUBTREE, filter)
for (dn,attrs) in rt:
if dn:
userdn=dn

print userdn

unipass = unicodePassword(newpassword)
oldunipass = unicodePassword(oldpassword)
mod_attrs = [(ldap.MOD_DELETE, 'unicodePwd', oldunipass)] + [(ldap.MOD_ADD,'unicodePwd',unipass)]
# mod_attrs = [(ldap.MOD_REPLACE, 'unicodePwd', unipass)]
conn.modify_s(userdn, mod_attrs)



自分で作成しているWebアプリが携帯の画面でどう見えるのか調べる必要ができたので、携帯シミュレーターを探したところ、FireMobileSimulatorというのがあった。

http://firemobilesimulator.org/

FirefoxのExtensionになっていて、インストールして、「ツール」-「FireMobileSimulator」-「端末設定」で、簡単に携帯モードになってくれた。
Webアプリのちょっとした見栄えの確認ぐらいなら、これで十分で、携帯アプリの素人さんとしては、とても助かった。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

最近のコメント

アイテム

  • samba33_win7.png
  • gmail1.png
  • fig1.png

ウェブページ

Powered by Movable Type 4.27-ja