起動時にsuとscreenを組み合わせる

起動時にsuとscreenを組み合わせる

起動時に長期実行カスタムスクリプトを起動したいと思います。スクリプトは特定のユーザー名で実行する必要があります。これまで、正常にscreenコマンドを使用し、カスタムスクリプトからユーザーに切り替えました。しかし、後でそのユーザーとしてログインして画面を復元できるように、そのユーザーの下でscreenコマンドを実行したいと思います。

このコマンドは、コンソールからrootとして実行すると機能しますが、起動スクリプトでは1行では機能しません。

su -c "screen -S セッション名 -d -m /path/cot/bash/script" ユーザー名

答え1

GNU/Linux から起動するときは、次のものを使用しないでくださいsuPAM / dbusによって異なります。、まだ使用できない可能性があります)、しかしrunuser

runuser username -l -c "screen -S sessionname -d -m /path/to/bash/script"

runuser構文は、後でusernameを使用する場合と同じですsu

答え2

わかりました。 -lフラグを使用する必要があります。

su -l -c "screen -S sessionname -d -m /path/to/bash/script" username

関連情報