- PR -

SSHでログイン後にsuできない。

投稿者投稿内容
あのあの
会議室デビュー日: 2008/04/22
投稿数: 3
投稿日時: 2008-04-22 22:06
WindowsからPuTTYを使ってサーバ(FreeBSD7.0)に接続し、rootになろうとしています。

PuTTYを使って、一般ユーザでログインすることはできるのですが、その後、rootになろうとsuコマンドを打つと、以下のようになり、rootになれません。
【PuTTYのコンソール】
$ su
Password:(rootのパスワードを入力)
su: Sorry
$

サーバ側でsshdのログを見ると以下のようになっております。
# /usr/sbin/sshd -ddd
:
Bind to port 22 on 0.0.0.0 failed: Address already in use.
Cannot bind any address.

22番ポートがすでに使用されているかと思い、以下のコマンドを打ってみました。
# sockstat | grep 22
(一般ユーザ) sshd 772 3 tcp4 (サーバのアドレス):22 (クライアントのアドレス):51401
root sshd 769 3 tcp4 (サーバのアドレス):22 (クライアントのアドレス):51401
root sshd 686 3 tcp4 *:22 *:*

上記の2番目で、すでにクライアントからrootで接続しているように見えます。クライアントからは一般ユーザを使用して接続しているのみです。なぜこうなるのか全くわかりません。

この一般ユーザはwheelグループに入れてあり、通常はsuでrootになれると思うのですが、、、

/etc/passwdの中身は、
(一般ユーザ):*:1001:0:(ユーザ名):/home/(ユーザ名):/bin/sh

となっております。
4列目のグループが、/etc/groupの内容と照らし合わせるとwheelになってるんですよね。。。
【/etc/group抜粋】
wheel:*:0:root,(ユーザ名)

見当違いなのか、また他に原因が考えられるのか、ご教授頂けないでしょうか?
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2008-04-22 23:38
こんばんは.

sshd_config に "PermitRootLogin" という箇所がありませんか?
そこを yes にしないと sshd 経由で login している際に su できません.
末記人
大ベテラン
会議室デビュー日: 2005/12/05
投稿数: 233
お住まい・勤務地: あわにこ
投稿日時: 2008-04-23 00:21
こんばんは

引用:

sshd_config に "PermitRootLogin" という箇所がありませんか?
そこを yes にしないと sshd 経由で login している際に su できません.


は sshでの直接ログインの抑制ではないでしょうか?

id コマンドで調べてみました?
所属しているグループなどの情報が表示されます。

/etc/passwd や /etc/group どのように編集しましたか?
vipw やvigr コマンドとか usermod で編集しないといけないなんじゃなかったでしょうか?

また、コンソールからなら、ログインできるのでしょうか?
出来ないならば、パスワードファイルが破壊されいるか、rootユーザが無効化
されているのではないでしょうか?
シェルが /sbin/nologin などにされているとか、スーパーユーザの名前が変更
されているとか...

Linuxの話しですが、私が管理しているサーバは rootのシェルを /sbin/nologin
にしてしまって、代わりに別のスーパーユーザを設定しています。
# useradd -o -u 0 -g root fakeroot
などとしたりしています。

ルートパスワードを盗むためのニセの suコマンドだったりして
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2008-04-23 01:20
引用:

末記人さんの書き込み (2008-04-23 00:21) より:

引用:

sshd_config に "PermitRootLogin" という箇所がありませんか?
そこを yes にしないと sshd 経由で login している際に su できません.


は sshでの直接ログインの抑制ではないでしょうか?


失礼しました,そのとおりです.
引用:

この一般ユーザはwheelグループに入れてあり、通常はsuでrootになれると思うのですが、、、


通常はそうですが,local console から確認していないのでしょうか?
あるかな
大ベテラン
会議室デビュー日: 2003/11/04
投稿数: 245
投稿日時: 2008-04-23 20:34
こんばんは。

元々の所属が wheel であるのに /etc/group で更に所属させる必要ってありましたっけ?

とりあえず、先に提示されているように id コマンドで確認して、問題ないようであれば、
パスワードファイルが壊れてしまっているか、単純なパスワード相違かと思います。
あのあの
会議室デビュー日: 2008/04/22
投稿数: 3
投稿日時: 2008-04-23 23:39
こんばんは。
たくさんの回答を頂き感謝しております(_ _)

idコマンドの結果は以下となっております。
一般ユーザ名をanoanoとします。
$ id
uid=1001(anoano) gid=0(wheel) groups=0(wheel),5(operator)

> 通常はそうですが,local console から確認していないのでしょうか?
→ローカルのコンソールからは、問題なくsuができています。。。

> 元々の所属が wheel であるのに /etc/group で更に所属させる必要ってありましたっけ?
→ご指摘のとおり、さらに所属させる必要はないと考え、/etc/groupから削除してみましたが、結果は変わらず(idコマンドの表記も変化なし)、suできませんでした。。。

> /etc/passwd や /etc/group どのように編集しましたか?
> vipw やvigr コマンドとか usermod で編集しないといけない
> なんじゃなかったでしょうか?
→調べてみたのですが、FreeBSDは、Linuxと違い、上記のコマンドはないようです。
 viで直接編集しています。
 (「Linux Square」にてFreeBSDの質問は場違いだったかと初めて気付きました(汗))

皆さんご親切に回答ありがとうございました。
自分なりに調査を続けようと思います。
holic
ベテラン
会議室デビュー日: 2004/08/24
投稿数: 74
投稿日時: 2008-04-23 23:53
/etc/pam.conf はどうなっています?
kaz
ぬし
会議室デビュー日: 2003/11/06
投稿数: 5403
投稿日時: 2008-04-24 00:15
こんばんは.
引用:

あのあのさんの書き込み (2008-04-23 23:39) より:

> /etc/passwd や /etc/group どのように編集しましたか?
> vipw やvigr コマンドとか usermod で編集しないといけない
> なんじゃなかったでしょうか?
→調べてみたのですが、FreeBSDは、Linuxと違い、上記のコマンドはないようです。
 viで直接編集しています。


vipw はあるのでは?
FreeBSD も /etc/passwd は Linux 同様に hash されてたと思います.
ですので直接編集してはダメではなかったかと.

スキルアップ/キャリアアップ(JOB@IT)