目录
我将本案例写成了文档案例,可参见阿里云盘链接下载阅读,凡是提及附件的地方本文均未粘贴,可下载文档来阅读:
「spaceos终端不符合预期关机问题」https://www.aliyundrive.com/s/hetkctd2bbD
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
【基本信息】
- 瘦终端:C101LS,装载x64 SpaceOS(linux终端)系统(用于连接云桌面)
- 版本:Workspace E1009(云桌面客户端版本)
- 现场使用H3C Workspace的方式部署教室云桌面,自动登录云桌面,终端锁在教室讲台里,平时仅关闭显示器,终端独立供电,并且不断电。
- 客户基本预期就是终端不关机,也不断开云桌面,仅关闭其显示器,第二天上课时仅仅是给显示器上电,并且从授权策略中将关机和重启功能都是禁用了的。
【问题描述】
如上述基本信息,在部署了16间教室后,经过一周表现正常,但是第二周来每天陆续发现linux终端出现9次不符合预期的关机,确定非虚拟机关机。
【定位过程】
实际上,这个问题在出差到达现场之前,就已经定位到是正常的软关机,见下syslog的日志段,依次正确关闭系统服务,并且syslog中并无硬件类的报错记录,包括SpaceAgent和workspace客户端没有执行关机记录。
Jul 11 16:43:50 localhost systemd[1]: Stopped target Timers.
Jul 11 16:43:50 localhost systemd[1]: Closed Load/Save RF Kill Switch Status /dev/rfkill Watch.
Jul 11 16:43:50 localhost systemd[1]: Stopped target Host and Network Name Lookups.
Jul 11 16:43:50 localhost systemd[1]: Stopped Discard unused blocks once a week.
Jul 11 16:43:50 localhost systemd[1]: Stopping Authorization Manager...
Jul 11 16:43:50 localhost systemd[1]: Stopped target Graphical Interface.
Jul 11 16:43:50 localhost systemd[1]: Stopped Daily Cleanup of Temporary Directories.
Jul 11 16:43:50 localhost systemd[1]: Stopped Daily apt upgrade and clean activities.
Jul 11 16:43:50 localhost systemd[1]: Stopped Daily apt download activities.
Jul 11 16:43:50 localhost systemd[1]: Stopped Message of the Day.
Jul 11 16:43:50 localhost systemd[1]: Stopping User Manager for UID 1010...
Jul 11 16:43:50 localhost systemd[1]: Stopping Save/Restore Sound Card State...
Jul 11 16:43:50 localhost systemd[1]: Stopped target Multi-User System.
Jul 11 16:43:50 localhost systemd[1]: Stopping SpaceAgent deamon...
Jul 11 16:43:50 localhost systemd[1]: Stopping Regular background program processing daemon...
Jul 11 16:43:50 localhost systemd[575]: Stopping Virtual filesystem service...
Jul 12 07:56:19 localhost systemd[1]: Starting Flush Journal to Persistent Storage...
Jul 12 07:56:19 localhost systemd[1]: Started Flush Journal to Persistent Storage.
但疑难问题点在于,我们并不清楚关机的触发源,因为客户确定他们不会去关机,也不希望关机,讲台也没有针对终端的关开机按钮(后续事实证明这句话不完全准确)。
1,整理规律如下
- 出现的终端并不固定,多个教室均出现,从出现的数量来看(加上到现场发现的总共出现16台),问题概率高
- 问题发生的时间并不固定,有的是晚上8点多,有的是下午2-4点之间
- 问题时间尽管不固定,但是11号(周末),出现5台不符合预期关机时间点集中的情况,均在下午4点30-5点之间。
2,部署audit审计服务定位问题
在现场部署了audit服务(见附件1)来审计关机触发源,尽管没定位到触发源,但是从客观上证明了和workspace,spaceagent以及管理平台无关。截取部分审计内容如下:
A)键入last -x | shutdown后的审计结果
type=SYSCALL msg=audit(1626146892.715:736)(2021-07-13 11:28:12): arch=c000003e syscall=59 success=yes exit=0 a0=557d4e603050 a1=557d4e5de6a0 a2=557d4e5df9f0 a3=8 items=2 ppid=4776 pid=4785 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=pts0 ses=4294967295 comm="shutdown" exe="/bin/systemctl" key="shutdown_call"
type=EXECVE msg=audit(1626146892.715:736): argc=1 a0="shutdown"
type=CWD msg=audit(1626146892.715:736): cwd="/root"
解析:
comm="shutdown" ,命令参数是关机
exe="/bin/systemctl" ,实际执行者是systemctl
key="shutdown_call" ,key是shutdown_call
cwd="/root",执行进程的路径(因为是人为切换到该目录下执行的)
type=EXECVE msg=audit(1626146892.715:736): argc=1 a0="shutdown",执行的命令是shutdown。
故该关机审计是人为在/root目录执行shutdown关机
B)通过ws客户端关机后的审计结果
type=SYSCALL msg=audit(1626058718.076:61): arch=c000003e syscall=59 success=yes exit=0 a0=562fe643d738 a1=562fe6443d88 a2=562fe6445240 a3=0 items=2 ppid=1495 pid=1496 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="shutdown" exe="/bin/systemctl" key="shutdown_call"
type=EXECVE msg=audit(1626058718.076:61): argc=3 a0="shutdown" a1="-h" a2="now"
type=CWD msg=audit(1626058718.076:61): cwd="/userdata/H3C/Workspace/E1009"
解析:
comm="shutdown" ,命令参数是shutdown
exe="/bin/systemctl" ,实际执行者是systemctl
key="shutdown_call" ,key是shutdown_call
cwd="/userdata/H3C/Workspace/E1009",执行进程的路径
type=EXECVE msg=audit(1626058718.076:61): argc=3 a0="shutdown" a1="-h" a2="now"
执行的命令是shutdown -h now
故该关机审计是/userdata/H3C/Workspace/E1009下执行了shutdown -h now的关机
C)通过终端关机后的审计结果
#正常关机审计日志开始日志段1:查询服务状态
type=SYSCALL msg=audit(1626053451.193:483): arch=c000003e syscall=59 success=yes exit=0 a0=55d9e0583dd8 a1=55d9e0583d40 a2=55d9e0583d98 a3=1b6 items=2 ppid=4977 pid=4981 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm="systemctl" exe

本文档详述了一起关于Linux终端在教室环境中出现不符合预期的自动关机问题。通过分析syslog日志和部署audit审计服务,定位到问题可能是人为操作,包括电源键误触和虚拟机的不当关闭。解决方案包括禁用电源键,调整用户行为,以及通过审计服务优化系统监控。此外,提供了audit服务的部署脚本和相关配置信息。
9436

被折叠的 条评论
为什么被折叠?



