別のユーザーとして実行


9

RedHatシステムで、シェルを持たない別のユーザーでプログラムを起動しようとしています。/ etc / passwdでは、シェルは/ sbin / nologinです。

私が試してみました:

  1. su myuser -c /home/myuser/script.sh結果:このアカウントは現在使用できません。

  2. chownとsetuidの場合:chown myuser:mygroup /home/myuser/script.sh chmod + s /home/myuser/script.sh /home/myuser/script.sh結果:script.shはまだサインインしているユーザーとして実行されます(ルート)。


suをrootまたは非特権ユーザーとして実行していますか?
James O'Gorman

回答:


17

試してください:

su myuser -s /bin/sh -c /home/myuser/script.sh

0

このエラーは、/ etc / passwdでユーザーmyuserにシェル/ sbin / nologinまたは/ sbin / falseを設定したことを意味します。

/ bin / bashのような便利なものを設定してください


それが、すでに投稿されたOPが起こっていたことです。OPは、ユーザー名にシェルがないにもかかわらず、プログラムを実行する方法があるかどうかを尋ねています。
Bart Silverstrim

はい...それは実際問題です。/ etc / passwdにシェルを設定せずに別のユーザーとしてスクリプトを実行できるかどうかを知りたい
Karl

1
ユーザーがこのようなシェルを持っている場合、スクリプトを使用してそれを行うことはできません。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.