ユーザーがシステムログにアクセスできるようにする

ユーザーがシステムログにアクセスできるようにする

私は組み込みLinux(Dreadnaught)を実行しており、ユーザーがログインしたときにシステムログに1行を手動で入力し、別のコマンドの結果をシステムログに保存できるようにしたいと思います。たとえば、

echo ======== Setting chat and Options for Insys >>/var/log/messages
cat /etc/ppp/options >> /var/log/messages

Syslog は /etc/inittab から始まります。

::respawn:/sbin/syslogd -n -s 200 -b 2 -S -m0

一般的なタスクを実行するためのいくつかのエイリアスがあり、実行時にsyslogを更新したいと思います。

alias Insys='echo =================== Setting chat and Options for Insys >> /var/log/messages; cp /var/config/tw_con_Insys.lge /var/config/tw_con.lge; cp /etc/ppp/peers/tw_options_Insys /etc/ppp/peers/tw_options; con; echo =================== Complete >> /var/log/messages'
alias setup='echo =================== options ===================; echo ""; echo ""; cat /etc/ppp/options; echo ""; echo ""; echo =================== chat ===================; echo ""; echo ""; cat /var/config/tw_con.lge; echo ""; echo ============================================;'

setup コマンドは端末に記録し、システム・ログ (例えば setup>>/var/log/messages) に記録したいと思います。

問題は、/var/log/messagesがユーザーではなくルートに属していることです。手動で実行できます

 su -c 'chmod 777 /var/log/messages'

、ルートパスワードを入力するように求められたら、ショートカットを実行して動作します。ただし、ログがmessage.0に移動し、新しいメッセージが生成されるたびに権限を失い、再度実行する必要があります。

カスタムスクリプトを実行する前に実行できるように、このchmodのエイリアスを作成しました。

alias userlog='su -c ''chmod 777 /var/log/messages'''

エイリアスは許可されますが実行されません。

[user@Dreadnaught_TEP1 etc]$ userlog
su: unknown user 777

ご協力ありがとうございます!

ベストアンサー1

問題を解決してくれた@MarkPlotnickに感謝します!これ記録計このコマンドは私が必要とするものを実行し、chmodなどを必要としません。

alias Insys='logger =================== Setting chat and Options for Insys ;      cp /var/config/tw_con_Insys.lge /var/config/tw_con.lge;     cp /etc/ppp/peers/tw_options_Insys /etc/ppp/peers/tw_options;     con; logger =================== Complete; setup '
alias setup='logger =================== options ===================; cat /etc/ppp/options | logger; logger =================== chat ===================;  cat /var/config/tw_con.lge | logger; logger ============================================'

おすすめ記事