起動アプリケーションでrootとしてユーザースクリプトを実行する

起動アプリケーションでrootとしてユーザースクリプトを実行する

画面ロック/ロック解除イベントを記録するスクリプト(logscreenlock)を作成しました(ソース:この投稿):

#! /bin/bash
dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver'" | ( while true; do read X; if echo $X | grep "boolean true" &> /dev/null; then echo `date` "screen locked"; elif echo $X | grep "boolean false" &> /dev/null; then echo `date` "screen unlocked"; fi done )

起動デーモンを実行したいですlogscreenlock > /var/log/screenlock.log。 /var/logに書き込むにはroot権限が必要です(私はsudoerです)。それで、私がしなければならないのにsudo logscreenlock > /var/log/screenlock.log2つの質問があります。

  1. logscreenlockは私のユーザーの所有者なので、そのままにしたいのですが、それ以降もそうしようとするとchmod a+x logscreenlock拒否されますsudo ./logscreenlock。頑張ってたけどusermod -a -G <myusergroup> root運がなかった。この問題をどのように克服できますか?
  2. 起動アプリケーションでsudoを使用する方法は?すぐにパスワードの入力を求められますか?

編集:後でrootとしてlogscreenlockを実行できない理由は、スクリプトがリモートファイルシステムにあり、自分のコンピュータのルートが認証されていないためです。

ベストアンサー1

お客様のユーザー名とグループが次のとおりです。リカプ試してみsudo chgrp ricab /var/log/screenlock.logましたsudo chmod g+rw /var/log/screenlock.logか?それでは読んで書くことを知っておくべきです。画面ロックログあなたのアカウントを使用してください。

おすすめ記事