/bin/su ファイルから SUID が誤って削除されました。

/bin/su ファイルから SUID が誤って削除されました。

本番サーバーです - CentOS 6.1

rootアクセス権を持っていた一部のユーザーは、サーバーにログインして/ bin / suファイルからSUIDビットを削除し、ルートで終了します。これでrootに戻すことはできません。さらに、ルートのSSHアクセスはサーバー上で無効になり、ルートがシステムに直接ログインすることはできません。 rootとしてsuまたはrootとしてsshを実行できないため、/ bin / suファイルにsuidビットを設定できません。 (そしてユーザー間の切り替えにsuを使用することはできません)

何だったのか?

$ ll /bin/su
-rwsr-xr-x. 1 root root 30092 Mar 10  2011 /bin/su

今はどうですか:

$ ll /bin/su
-rwxr-xr-x. 1 root root 30092 Mar 10  2011 /bin/su

ルートに戻すか、SUIDビットを設定する方法はありますか?

メモ:サーバーは年中無休として使用され、ダウンタイムが少し難しいため、ネットワークレスユーザーモードを再起動しないようにします。再起動が可能な場合は、シングルユーザーモードを使用してrootとしてログインし、このビットをリセットします。

創造的な答えを自由にお願いします。テスト環境であなたの答えをテストしてみてください。

ベストアンサー1

いくつかのオプション:

  • sudo -i、これが最も確実な選択です。
  • sudo -l次に、問題を解決するために使用できるコマンドを見つけます。例:crontab、logrotate、executon yum / rpmなど、ルートで実行されているファイルの編集...
  • コンソールに移動してルートに接続します(これはSSHのみに制限されます)。
  • グラフィックセッションを開きます。一部のディストリビューションには、sudoに依存しないルートツールがあります。また、これらの多くにはアップデートマネージャがあります。提供されたパッケージを再インストールすることもできます。su
  • puppet/chef/ansible/faiなどの構成管理ツールがある場合は、構成をプッシュしてください。
  • アップグレードするファイルを編集できることを確認するには、crontabを確認してください。
  • サーバーが中央認証システム(特にLDAP / nis)に接続されている場合は、高い権限(グループホイールまたはユーザーuid = 0)を持つアカウントを作成します。
  • 仮想サーバーの場合は、シャットダウンしてファイルシステムをマウントして編集します。

いくつかの有用な情報:

  • シングルユーザーモード(red hat)または指定(Debianおよびrhel / CentOS 7)でサーバーを再起動し、init=/bin/sh権限を変更します。
  • サーバーを再起動し、CD/DVD/USB/NetBootでリカバリを有効にするか、インストールおよび編集するだけです。

そして一部は本当に醜いです。

  • システムを損傷する可能性がある脆弱性を見つけてください。

システム管理者が仕事をうまく実行すると、一般ユーザーはこれらの作業を実行できません(ただし、あなたはシステム管理者です)。

おすすめ記事