ひよこになりたい

Security CTF Programming Server Network and so on

CentOS でプロンプトのユーザー名が"私は名前がありません!"になった件について

VMで作ったテストCentOS鯖で遊んでいると・・・プロンプトのユーザー名が"私は名前がありません!"になってしまいました。

初めて見る謎の文章で少しばかり手こずったのでメモ。

# useradd usernameでユーザーを作成して、# su usernameで変身。おもむろに画面を見ると・・・

[bash][私は名前がありません!@server001 ~]$

[/bash]

なんだこの名前・・・ぐぐってもあまりいい情報が出ず。

とりあえず何か手がかりはないか模索してみる。すると、

[bash]

[root@server001 ~]# su username

id: cannot find name for user ID 502

# -------------

[私は名前がありません!@server001 ~]$ id

uid=502 gid=502(username) 所属グループ=502(username) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

[/bash]

uidの関連付けあたりでエラー出てるっぽい?

usernameに変身もできるし、idでユーザー情報の確認ができるけど、uidが見つからない模様。

この辺りがおかしいのかな?

というわけで、/etc/shadow/etc/passwd/etc/groupを確認。

内容には問題がなかったのですが、/etc/passwdの所有権がオカシイ

[bash]

[root@server001 etc]# ls -la passwd

-rw-------. 1 root root 1473  3月 20 00:47 2014 passwd

[/bash]

にゃるほど・・・

原因はここっぽい。/etc/passwdは644になっているべきなので、変更してあげる。

[bash]

[root@server001 etc]# chmod 644 passwd

[/bash]

再度変身。

[bash]

[root@server001 etc]# su server300

[server300@server001 etc]$

[/bash]

なおった!

passwdファイルはroot以外でも読み込むことがあるので644じゃないと行けないみたいですね〜

/etc/passwd ファイルを一般ユーザが更新できる理由 - ねもぷらす: http://nemoplus.hateblo.jp/entry/20100704/1278252696

なおってよかったー