Oracle Linux 6でpostgresqlサービスを開始しようとしましたが、「runuser:/bin/bash:/sbin/nologin:No such file or Directory」というメッセージで失敗します。

Oracle Linux 6でpostgresqlサービスを開始しようとしましたが、「runuser:/bin/bash:/sbin/nologin:No such file or Directory」というメッセージで失敗します。

今朝まですべてがうまくいきました。 postgresqlサービスが停止して起動できません。

コマンドを実行すると、sudo service postgresql start[FAILED]メッセージが表示されます。次に、/var/lib/pgsql/pgstartup.log ファイルに移動し、次のエラーメッセージを確認しました。

runuser: /bin/bash:/sbin/nologin: No such file or directory

その後、過去に行われたルートを訴えようとしましたが、同じエラーメッセージが表示されます。その後、suユーザーpostgresを試しましたが、同じエラーメッセージが表示されます。

ファイルが存在するので確認しました(/bin/bash および /sbin/nologin)。

注 - 次のコマンドを入力してエラーを解決できましたsudo chsh root -s $SHELL。これにより、実際にルートを訴えた後にpostgresqlサーバーを起動できます。今私の質問はこんな感じです。原因が何であるかを知っている人はいますか?セキュリティの面でシステムが損傷するのではないかと心配する必要がありますか?

ベストアンサー1

何らかの理由で、rootユーザーのログインシェルはリテラル値に設定されます/bin/bash:/sbin/nologin。 rootとして実行していてsudorootログインシェルが必要な場合、システムはリテラルコマンドを実行しようとします/bin/bash:/sbin/nologinが、明らかな理由でコマンドは存在しません。/bin/bashそして/sbin/nologin一人で立っていることは重要ではありません。

修正を適用した後は、ルートログインシェルが実際に(Oracle Linuxのデフォルトログインシェル)であることをchsh確認する必要があります。/bin/bash返された項目を確認するだけでこれを行うことができます。

getent passwd root

- で区切られた7つのフィールドがあり、:最後のフィールドはでなければなりません/bin/bash

おすすめ記事