いろいろ
Seize the day.
2006-01-11 [長年日記]
■ [comp] passwd ファイルにコメント行や空行は許されるか
Solaris 7 で,NIS の passwd ファイルに「#」でコメント行をつけてからマップを make しようとしたらエラーが出た (ちなみに最終行の場合はエラー出なかった.謎).あれ,コメント行ってダメなんだっけ?調べてみたところ,/etc/passwd に関してはコメント行 OK だという OS とダメという OS がある.NIS の passwd についての記述は見当たらなかったけど,/etc/passwd に準ずると考えていいのかな?
さらに,コメント行がダメな場合,空行もダメらしい! 不正な行と見なされるんだそうだ.なぬー,知らんかった(ぉ
結局真相はよくわからないのだが,空行,コメント行は入れないに越したことはないのかも.
以下,コメント行,空行 OK だお派.FreeBSD passwd(5).
Lines whose first non-whitespace character is a pound-sign (#) are comments, and are ignored. Blank lines which consist only of spaces, tabs or newlines are also ignored.
最初の空白文字でない文字がポンド記号 (#) であるような行は注釈であり、無視されます。スペース、タブ、改行だけからなる空行もまた無視されます。ちなみに FreeBSD 4.4 で getpwent(3) すると
/etc/passwd A Version 7 format password fileとなる.が,Version 7 UNIX の passwd(5) には特に空行やコメント行の記述はない.
コメント行,空行ダメだお派.Sun Solaris 9 の passwd(4) には
Blank lines are treated as malformed entries in the passwd file and cause consumers of the file , such as getpwnam(3C), to fail.とある.ただし,Solaris 8 以前の man には一切そのような記述はなかった.
また,SCO UnixWare 7 の場合,passwd(4) には以下のように書いてある.
Comment lines (lines preceded by the # (hash) character) are not allowed in the /etc/passwd file.以下のメーリングリストアーカイブでは,
Blank lines are a definite no-no.とある.また,コメント書きたいなら GCOS 欄があるじゃんってことらしい.
以下のサイトでは,不正アクセスに対するチェック事項の一つとして,/etc/passwd の空行を調べるようにとある.
/etc/passwd ファイルが変更されていないかを調べます。 知らないユーザまたは空行が加えられていないか。ただし,このチェックリストのオリジナル版と思われる以下の文書には,空行云々は書いてないので,日本語版の空行云々の根拠は不明.
Examine the /etc/passwd file on the system and check for modifications to that file. In particular, look for the unauthorized creation of new accounts, accounts with no passwords, or UID changes (especially UID 0) to existing accounts.Linux では,passwd をコメントアウトした時の謎の挙動が報告されている.
しかし、今回、私がこの作業を行ってわかった単純なミスがあったので紹介したいと思います。 これが直接の原因でLDAPを使って認証できなかったのではないかもしれないのですが・・・ /etc/passwd が '#' でコメントアウトできないということ。 私が勝手に勘違いしていたのですが http://www.linux.or.jp/JM/html/shadow/man5/passwd.5.html とか見ても/etc/passwd は'#' でコメントアウトできると書いてありません。 私は、LDAPだけの認証でログインしようとするとき、 /etc/passwd にあるユーザを'#' でコメントアウトしてからログインしていたのですが それでは今までログインできませんでした。 そこで思い切って/etc/passwd ごと消してしまったら見事にログインできました。 なのですが、1回ログインできるようになってから同じように /etc/passwd にあるユーザを'#' でコメントアウトしてログインしてもちゃんとログインできてしまいました。 なのでこれが原因であるかは謎です・・・Mandriva Linux のドキュメントにはこうある.
vi /etc/passwd Have a look at this file. It mustn't contain any blank lines, comments or non-ASCII characters. If you find them, delete them.さらに調べて行くと,決定的な文書を発見.
Blank lines in password file could cause system operation problems適用されるプラットフォームは Various: Unix Any version だそうだ.一応 "Low Risk" らしいが….
うーむ.悩ましいな.
[ ツッコミ | permalink | trackback ]
[TrackBack URL: http://nao.s164.xrea.com/td/tb.rb/20060111]
[(注) スパム対策のため,言及リンクのないトラックバックは受け付けていません.]
[(注) スパム対策のため,言及リンクのないトラックバックは受け付けていません.]
本日のリンク元
検索
- passwd コメント ×59 / /etc/passwd コメント ×58 / /etc/passwd コメントアウト ×16 / passwd コメントアウト ×14 / キーワード不明 ×7 / passwdファイル コメント ×5 / etc passwd コメント ×5 / solaris passwdファイル ×4 / passwd ファイル コメント ×4 / Solaris passwdファイル ×3 / passwd コメント # ×3 / .passwdファイル コメントアウト ×3 / Linux passwd コメント ×3 / html コメント行 ×3 / etc/passwd コメント ×3 / passwdファイル ×2 / /etc/passwd # コメント ×2 / etc passwd コメントアウト ×2 / "etc/passwd" コメントアウト ×2 / unix passwd コメント ×2 / unix コメント行 ×2 / shadowファイル コメントアウト ×2 / "/etc/passwd" コメントアウト Linux ×2 / passwd コメント行 ×2 / コメント行 ×2 / passwd ファイル コメントアウト ×2 / xrea /etc/passwd ×1 / unixware passwd ×1 / unix passwdファイル ×1 / ldap freebsd passwd ×1 / /etc/passwd empty ×1 / UNIX passwd コメント ×1 / freebsd password file ×1 / tex linux コメント ×1 / /etc/passwd gcos ×1 / コメント行の記述 ×1 / Linux /etc/passwd コメント ×1 / /etc/passwd UID同じ ×1 / NIS FreeBSD Linux shadow passwd ×1 / passwd nis 記号 ×1 / passwdファイル solaris ×1 / /etc/passwd freebsd コメント ×1 / /etc/passwd nis +@ ×1 / solaris passwd character ×1 / solaris /etc/passwd コメント ×1 / TEX 以下コメント行 ×1 / makeファイル 改行 コメント ×1 / solaris passwd ファイル ×1 / /etc/passwd 記述 ×1 / etc password コメントアウト ×1 / solaris passwd ×1 / 戸籍のトリビア ×1 / passwdファイル チェック ×1 / HTML コメント行 ×1 / freebsd passwd ない ×1 / Solaris passwd コメント ×1 / linux passwdファイル ×1 / solaris 空行 ×1 / unix 空白行 削除 ×1 / vi unix コメント行 ×1 / ascii コメント行 ×1 / linux passwd 禁止文字 ×1 / solaris9 passwd ×1 / /etc/passwd コメント solaris ×1 / NIS passwdファイル ×1 / html 空行 ×1 / passwd shadow 行 ×1 / linux passwd コメントアウト ×1 / passwd 記号 solaris ×1 / passwd 空行 ×1 / "/etc/passwd" comment line ×1 / passwdファイルno ×1 / sun passwd コメントアウト ×1 / gcos passwd ×1 / freebsd passwd NIS shadow ×1 / rdfファイル コメント行追加 ×1 / Solaris passwd shadow 同一OS 移行 ×1 / passwd 禁止 ×1 / LDAP /etc/passwd getpwent ×1 / /etc/passwd 空 ×1 / FreeBSD passwdファイル ×1 / passwd unix コメント ×1 / passwd 5 man linux コメント ×1 / /etc/passwd コメント 日本語 ×1 / /etc/passwd docs.sun ×1 / FreeBSD passwd ×1 / passwdファイル コメントアウト ×1 / passwd 空 ×1 / "/etc/passwd" ログイン httpd ×1 / /etc/passwd コメント行 ×1 / UNIX passwdファイル NIS ×1 / linux /etc/passwd # コメント ×1 / passwdファイル +a ×1 / passwd(5) ×1 / linux passwd コメント ×1 / linux "/etc/passwd" 日本語 コメント ×1 / unix passwdファイル コメント ×1 / Solaris9 passwd ×1 / windows passwd ファイル ×1 / passwdファイル コメント行 ×1
以下の広告はサーバによって自動的に挿入されています.
Copyright © 2004-2006, nao. All rights reserved.





