允许用户访问系统日志

允许用户访问系统日志

我正在运行嵌入式 Linux (Dreadnaught),我希望能够在用户登录时手动在系统日志中输入一行,并将其他命令的结果存储在系统日志中。例如:

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

我有一些别名来执行常见任务,并且我希望系统日志在运行时更新:

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 属于 root,而不是用户。我可以手动运行

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

,它提示我输入 root pwd,然后我可以运行我的快捷方式并且它们可以工作。但是,每次日志滚动到 messages.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 ============================================'

相关内容