suはユーザーを変更しませんが、エラーでも応答しません。


56

特定の一般ユーザーにログインしrootたいsu。実行しsu username、すぐにルートとしてプロンプトを受け取ります。エラーはありません。私は、古い「suを行おうとしているユーザーが現在いるフォルダーのアクセス許可を持っていない」という問題を認識していますが、このシナリオではそうではありません。さらに、エラーが表示されることはありません。これは、特定のアクセス許可の問題が発生したときに常に発生します(私の知る限り)。

私はsu - username同じ効果で試しました。コマンドは処理され、エラーは表示されず、すぐにプロンプ​​トが返されます。

この動作の原因は何ですか?これをトラブルシューティングするにはどうすればよいですか?


8
ユーザーはどのシェルを持っていますか?それは/bin/false
-camh

4
あなたは本当にBTW を使用するsudo -u username -s(または-i)べきです。
mgorven

2
@camh facepalmそれはそれでした。私は/etc/passwd昨晩チェックしたと誓いますが、それはそうではありませんでした!=)それを答えとしていただけますか?受け入れます。
ウェズリー

回答:


68

ユーザーのシェルを確認し/etc/passwdます。シェルが/bin/false(ログインを許可しない一般的なシェル)の場合、説明した動作が表示されます。あるいは、同じ効果的な結果を与える他の即時終了プログラムでもかまいません。


2
それでした。私は最初に見たと誓います!=)
ウェズリー

25
そして/bin/false、シェルとして持っているユーザーの下で何かをデバッグする必要がある場合、あなたはそれを行うことができますsu - user -s /bin/sh
Marki555

6

suプロセスでstraceを使用して、プロセスの失敗箇所を確認することをお勧めします。

strace su donaldduck

ソートするために大量の出力を提供する必要がありますが、そこに何かが問題が発生している場所を示す必要があります。


1
愚かな値下げ....
マゼラン

4

でシェルをチェックする必要/etc/passwdがあります。愛用したくない場合はwhoami、実行後の出力をチェックしてくださいsu


1
なぜそれが愛用されていると考えられるのかはわかりません。あなたが望むならできるということですが、それは私の最初の傾向ではありません。=)とにかく、はい、私は自分が自分が思っていた人であることを確かめるためにそれをしたことを忘れていましrootた。
ウェズリー

0

システムログを確認します。sudoを使用すると、すべてのアクションが記録されます。したがって、問題がある場合は、それを記述する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.