IBM Support

QRadar: 「 sudo: parse error in /etc/sudoers near line xxx 」のエラーによりパッチのアップグレードが失敗する事象について

Troubleshooting


Problem

 /etc/sudoers ファイル内のテキストが正しくないことが原因で、パッチのアップグレードの実行に失敗します。

Symptom

パッチのアップグレードを実行した直後に、次のメッセージが表示されます:
sudo: parse error in /etc/sudoers near line xxx
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

Cause

 QRadar® はデフォルトで sudoers を使用しないため、アプライアンス内の /etc/sudoers を手動で編集する際に正しくないフォーマットのテキストが追加された場合、この事象が発生することがあります。

さらに、Windows® から Linux® に手動でテキストをコピーすると、改行コードが追加されます。dos2unix コマンドの使用方法については、「 カスタム・アクションの追加 」をご参照ください。
注:  セキュリティー技術導入ガイド( STIG ) または FIPS デプロイメントを使用しない限り、管理者は手動で sudo ユーザーを追加することはできません。

Environment

 Linux sudoers でカスタマイズしている QRadar® アプライアンス

Diagnosing The Problem

  1. エラーで報告された行のメモをとります。
    sudo: parse error in /etc/sudoers near line 122
    sudo: no valid sudoers sources found, quitting
    sudo: unable to initialize policy plugin
  2. cat コマンドを使用して、エラーを表示する行に移動します。
    cat -An /etc/sudoers | grep 122 -B 4 -A 10
    122  Cmnd_Alias IBM_UNIX_PIM_CMDS = /usr/bin/passwd,/usr/sbin/useradd, \$
    123  M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM-  /usr/sbin/usermod,/usr/sbin/userdel,/usr/bin/tee,/bin/chmod, \$
    124  M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM-  /bin/cat,/bin/ls,/usr/bin/chage,/usr/bin/groups,/bin/ed, \$
    125  M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM-  /bin/cp,/usr/bin/faillog,/usr/sbin/groupadd,/usr/sbin/groupmod, \$
    126  M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM-  /usr/sbin/groupdel,/usr/bin/kill,/bin/hostname,/sbin/faillock, \$
    127  M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM-  /sbin/pam_tally2,/bin/mkdir,/bin/rm,/usr/bin/lastlog,/sbin/faillog, \$
    128  M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM-  /usr/bin/psql,/usr/bin/pg_dump,/usr/bin/htpasswd,/opt/qradar/ha/bin/ha_getstate.sh,\$
    129  M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM-  /opt/qradar/support/changePasswd.sh$
    130  $
    131  mspipat1M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM-  ALL=NOPASSWD:IBM_UNIX_AE_BAU_CMDS$
    132  svcmssM-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM- M-BM-  ALL=NOPASSWD:IBM_UNIX_PIM_CMDS$
    133  $
前の出力では、「 M-BM- 」の文字が正しくない形式のテキストを指しています。正しい形式のテキストは、次のようになります:
122  Cmnd_Alias IBM_UNIX_PIM_CMDS = /usr/bin/passwd,/usr/sbin/useradd, \$
123                  /usr/sbin/usermod,/usr/sbin/userdel,/usr/bin/tee,/bin/chmod, \$
124                  /bin/cat,/bin/ls,/usr/bin/chage,/usr/bin/groups,/bin/ed, \$
125                  /bin/cp,/usr/bin/faillog,/usr/sbin/groupadd,/usr/sbin/groupmod, \$
126                  /usr/sbin/groupdel,/usr/bin/kill,/bin/hostname,/sbin/faillock, \$
127                  /sbin/pam_tally2,/bin/mkdir,/bin/rm,/usr/bin/lastlog,/sbin/faillog, \$
128                  /usr/bin/psql,/usr/bin/pg_dump,/usr/bin/htpasswd,/opt/qradar/ha/bin/ha_getstate.sh,\$
129                  /opt/qradar/support/changePasswd.sh$
130 $
131 mspipat1        ALL=NOPASSWD:IBM_UNIX_AE_BAU_CMDS$
132 svcmss          ALL=NOPASSWD:IBM_UNIX_PIM_CMDS$
133 $

Resolving The Problem

この事象を解決するには、管理者が正しくない形式のテキストの行を削除するか、/etc/sudoers ファイル内の行を正しい形式で置き換える必要があります。
注: 以下のステップでは、この技術情報の「 Diagnosing the Problem 」セクションにある行番号を使用します。管理者は環境に応じてコマンドを変更する必要があります。
正しくない形式のテキストを削除する手順
  1. root ユーザーとして SSH、XCC、または同等の方法を使用し、アプライアンスにログインします。
  2. sed コマンドを使用して、正しくない形式のテキストが含まれている行を削除します。
    1. バックアップ用のディレクトリーを作成し、既存のファイルをバックアップします。
      mkdir -p /store/IBM_Support
      cp -pfv /etc/sudoers /store/IBM_Support/
    2. 競合する行を削除します。
      注: この技術情報では、競合する行が 122 行目から 132 行目になります。以下のコマンドはこれらの行を一度に全て削除します。
      sed -i '122,132d' /etc/sudoers
  3. パッチを再実行します。
    /media/updates/installer
正しくない形式のテキストを置き換える手順
注: この手順を行うには、影響のあるアプライアンスと同等のテキストを持つ別のアプライアンスが存在する必要があります。さらに、vim コマンドに関する知識が必要となります。
  1. この事象の影響を受けていない別のアプライアンスから正しい出力を収集します。
    1. root ユーザーとして SSH、XCC、または同等の方法を使用し、アプライアンスにログインします。
    2. コピーする内容が正しい形式であることを確認してください。(「 Diagnosing the Problem 」セクションをご参照ください。)
      cat -A /etc/sudoers
    3. バックアップ用のディレクトリーを作成し、既存のファイルをバックアップします。
      mkdir -p /store/IBM_Support
      cp -pfv /etc/sudoers /store/IBM_Support/
    4. cat コマンドを使用し、必要な行の内容をコピーします。
      cat /etc/sudoers
  2. 前述のコピーで収集した内容を、影響を受けているアプライアンス/etc/sudoers で行を置き換えます。
    1. root ユーザーとして SSH、XCC、または同等の方法を使用し、アプライアンスにログインします。
    2. vim コマンドを使用して、競合する行の内容を削除および置換します。
      1. 競合している行に移動します。(「 Diagnosing the Problem 」セクションをご参照ください。)
        vim +122 /etc/sudoers
      2. 「 ESC 」キーを押して、vim を通常モードにします。
      3. ファイル内の行情報を表示するため、「 :set nu 」を入力します。
      4. キーボード上の矢印キーを使用して、行へ移動します。
      5. dd 」を入力し、各行を削除します。
      6. 対象の行に正しい形式の行を貼り付けます。(前述のステップ 1 で収集した行)
      7. :wq 」を入力し、vim エディターを保存および終了します。
  3. パッチを再実行します。
    /media/updates/installer
結果:
パッチ画面が正常に開始されます。

Document Location

Worldwide

[{"Type":"SW","Line of Business":{"code":"LOB24","label":"Security Software"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSBQAC","label":"IBM Security QRadar SIEM"},"ARM Category":[{"code":"a8m0z000000cwtdAAA","label":"Upgrade"}],"ARM Case Number":"","Platform":[{"code":"PF016","label":"Linux"}],"Version":"All Version(s)"}]

Document Information

Modified date:
22 March 2022

UID

ibm16457231