我这样设置了我的 rsyslogd.conf 设置:
auth,authpriv.* username
但用户名没有收到消息(在(所有)伪终端中,即 Gnome 终端)。我的问题与此相关:
- 用户应该看到这些消息吗?如果是,那么用户没有收到消息的原因可能是什么。
- 如果没有,可以这样做吗?
答案1
该username
语法在 rsyslog 中已弃用。请改用。:omusrmsg:username
如果仍然不起作用:
rsyslog 使用该/var/run/utmp
文件来查找用户 tty 列表;终端仿真器必须将自己添加到该文件中,这需要足够的权限(该文件通常不是基于 X11 的终端仿真器 (也称为全球可写) 与系统登录程序不同,它们以用户权限而不是 root 权限启动。
使用pinky
、finger
、w
或who
列出内容韓國. 如果它们没有列出任何属于伪终端的“pts/X”条目:
首先确保
/var/run/utmp
存在、由该组拥有utmp
并且可由该组写入。如果不存在,请运行# chown :utmp /var/run/utmp && chmod ug=rw,o=r /var/run/utmp
然后检查你的终端仿真器是否有足够的权限写入该文件——即设置组ID位和正确的组所有权:
-rwxr-sr-x 1 root utmp 1.3M May 25 2012 /usr/bin/urxvt -rwxr-sr-x 1 root utmp 475K Nov 26 16:54 /usr/bin/xterm -rwxr-sr-x 1 root utmp 15K Nov 13 00:36 /usr/lib/vte/gnome-pty-helper
注意:GNOME 终端使用单独的
gnome-pty-helper
工具来执行 utmp 更改。如果缺少任何内容,请运行:
# chown :utmp /usr/lib/vte/gnome-pty-helper \ && chmod g+s /usr/lib/vte/gnome-pty-helper
确保
rsyslogd
以允许写入用户 tty 的帐户运行。如有必要,将其添加到tty
组。在某些发行版中,检查 SELinux 或 AppArmor 策略是否允许 utmp 更新。