web-dev-qa-db-ja.com

SUID警告のためSSHに接続できません

別のマシンに接続しようとすると、以下のコマンドの後に:

user1@Host1:~$ ssh user2@Host2
user2@Host2's password: 

私は受け取ります:

WARNING: Your password has expired.
You must change your password now and login again!
passwd: must be suid to work properly
Connection to Host2 closed.
user1@Host1:~$ 
  • Host1はUbuntuOSマシンです

  • Host2はBuildrootOSマシンです

明らかにパスワードを変更しましたが、役に立ちませんでした。

なにが問題ですか?どうすれば修正できますか?

1
cooba

解決:

問題の原因は、私のARMボードの日付です。これが、「パスワードの有効期限が切れている」理由です。

正しい日付を設定するには、次を使用します。

# date -s '[current date]'

ARMボード上のコマンド、および:

# hwclock -w

ハードウェアの日付設定を保持します。

2
cooba

ボックスに物理的にアクセスできる場合は、rootとして修正できます。パスワードの変更が強制されておらず、Sudoまたはsuでrootにできる別のユーザーアカウントがボックスにない場合は、おそらくそうではありません。

0
Kevin Huntly

RootFSに複数の問題があるようです。

  • 「passwd」実行可能ファイルがsuidrootではないようです
  • ユーザー設定が無効な状態になっているようです。

この状態では、sshで修正できるとは思いません。どんな形式のコンソール(例:シリアル)にもアクセスできますか?

RootFSをどのように作成しましたか(またはどこで入手しましたか)?

コンソールにアクセスできる場合は、次を試してください。

  • rootとして直接ログに記録する
  • 「パスワードユーザー名」
  • 新しいパスワードを入力
  • ssh経由で再試行してください
  • / usr/bin/passwd権限を修正しました(busyboxの使用状況に応じた詳細)
0
ZioByte