SELinux:命令输出打印在串口上但不在 ssh 上
SELinux: command output printed on serial but not on ssh
我正在尝试在 Poky Linux 发行版上配置 SELinux。
我正在通过串口和 ssh 连接到开发板。
在 ssh 上启动 ping 和 ifconfig 开发板什么都不打印,而串行上的相同命令打印正确的。
起初,ping 被完全禁用,所以我不得不修补 netutils SELinux 策略(现在可以正常工作)。
命令 journalctl -xe | grep "denied"
显示 ping 和 ifconfig 都没有“被拒绝”。
我该如何解决这个问题?或者我应该在哪里进一步看?可能是 /dev/pts 错误?
我想我找到了一些东西。
之后
semodule --disable_dontaudit --build
与描述的一样 here,
然后:
~# journalctl -xe | grep "denied" | grep "ping"
Aug 04 13:04:42 audit[2510]: AVC avc: denied { use } for pid=2510 comm="ping" path="/dev/pts/0" dev="devpts" ino=3 scontext=root:sysadm_r:ping_t:s0 tcontext=system_u:system_r:init_t:s0-s15:c0.c1023 tclass=fd permissive=0
Aug 04 13:04:42 audit[2510]: AVC avc: denied { use } for pid=2510 comm="ping" path="/dev/pts/0" dev="devpts" ino=3 scontext=root:sysadm_r:ping_t:s0 tcontext=system_u:system_r:init_t:s0-s15:c0.c1023 tclass=fd permissive=0
Aug 04 13:04:42 audit[2510]: AVC avc: denied { use } for pid=2510 comm="ping" path="/dev/pts/0" dev="devpts" ino=3 scontext=root:sysadm_r:ping_t:s0 tcontext=system_u:system_r:init_t:s0-s15:c0.c1023 tclass=fd permissive=0
Aug 04 13:04:42 audit[2510]: AVC avc: denied { rlimitinh } for pid=2510 comm="ping" scontext=root:sysadm_r:sysadm_t:s0 tcontext=root:sysadm_r:ping_t:s0 tclass=process permissive=0
Aug 04 13:04:42 audit[2510]: AVC avc: denied { siginh } for pid=2510 comm="ping" scontext=root:sysadm_r:sysadm_t:s0 tcontext=root:sysadm_r:ping_t:s0 tclass=process permissive=0
Aug 04 13:04:42 audit[2510]: AVC avc: denied { noatsecure } for pid=2510 comm="ping" scontext=root:sysadm_r:sysadm_t:s0 tcontext=root:sysadm_r:ping_t:s0 tclass=process permissive=0
Aug 04 13:04:49 audit[2511]: AVC avc: denied { use } for pid=2511 comm="ping" path="/dev/pts/0" dev="devpts" ino=3 scontext=root:sysadm_r:ping_t:s0 tcontext=system_u:system_r:init_t:s0-s15:c0.c1023 tclass=fd permissive=0
Aug 04 13:04:49 audit[2511]: AVC avc: denied { use } for pid=2511 comm="ping" path="/dev/pts/0"dev="devpts" ino=3 scontext=root:sysadm_r:ping_t:s0 tcontext=system_u:system_r:init_t:s0-s15:c0.c1023 tclass=fd permissive=0
Aug 04 13:04:49 audit[2511]: AVC avc: denied { use } for pid=2511 comm="ping" path="/dev/pts/0" dev="devpts" ino=3 scontext=root:sysadm_r:ping_t:s0 tcontext=system_u:system_r:init_t:s0-s15:c0.c1023 tclass=fd permissive=0
Aug 04 13:04:49 audit[2511]: AVC avc: denied { rlimitinh } for pid=2511 comm="ping" scontext=root:sysadm_r:sysadm_t:s0 tcontext=root:sysadm_r:ping_t:s0 tclass=process permissive=0
Aug 04 13:04:49 audit[2511]: AVC avc: denied { siginh } for pid=2511 comm="ping" scontext=root:sysadm_r:sysadm_t:s0 tcontext=root:sysadm_r:ping_t:s0 tclass=process permissive=0
Aug 04 13:04:49 audit[2511]: AVC avc: denied { noatsecure } for pid=2511 comm="ping" scontext=root:sysadm_r:sysadm_t:s0 tcontext=root:sysadm_r:ping_t:s0 tclass=process permissive=0
并且:
~# cat /var/audit/audit.log | audit2allow -m fix_ping_ifconfig.te
必须添加的行是
policy/modules/admin/netutils.te
+allow ping_t devpts_t:chr_file { getattr ioctl };
+allow ping_t init_t:fd use;
policy/modules/system/sysnetwork.te
+allow ifconfig_t devpts_t:chr_file { read write getattr };
所以这是一个 devpts
问题,但发现解决它的过程禁用了 dountaudit
规则
我正在尝试在 Poky Linux 发行版上配置 SELinux。
我正在通过串口和 ssh 连接到开发板。
在 ssh 上启动 ping 和 ifconfig 开发板什么都不打印,而串行上的相同命令打印正确的。
起初,ping 被完全禁用,所以我不得不修补 netutils SELinux 策略(现在可以正常工作)。
命令 journalctl -xe | grep "denied"
显示 ping 和 ifconfig 都没有“被拒绝”。
我该如何解决这个问题?或者我应该在哪里进一步看?可能是 /dev/pts 错误?
我想我找到了一些东西。
之后
semodule --disable_dontaudit --build
与描述的一样 here,
然后:
~# journalctl -xe | grep "denied" | grep "ping"
Aug 04 13:04:42 audit[2510]: AVC avc: denied { use } for pid=2510 comm="ping" path="/dev/pts/0" dev="devpts" ino=3 scontext=root:sysadm_r:ping_t:s0 tcontext=system_u:system_r:init_t:s0-s15:c0.c1023 tclass=fd permissive=0
Aug 04 13:04:42 audit[2510]: AVC avc: denied { use } for pid=2510 comm="ping" path="/dev/pts/0" dev="devpts" ino=3 scontext=root:sysadm_r:ping_t:s0 tcontext=system_u:system_r:init_t:s0-s15:c0.c1023 tclass=fd permissive=0
Aug 04 13:04:42 audit[2510]: AVC avc: denied { use } for pid=2510 comm="ping" path="/dev/pts/0" dev="devpts" ino=3 scontext=root:sysadm_r:ping_t:s0 tcontext=system_u:system_r:init_t:s0-s15:c0.c1023 tclass=fd permissive=0
Aug 04 13:04:42 audit[2510]: AVC avc: denied { rlimitinh } for pid=2510 comm="ping" scontext=root:sysadm_r:sysadm_t:s0 tcontext=root:sysadm_r:ping_t:s0 tclass=process permissive=0
Aug 04 13:04:42 audit[2510]: AVC avc: denied { siginh } for pid=2510 comm="ping" scontext=root:sysadm_r:sysadm_t:s0 tcontext=root:sysadm_r:ping_t:s0 tclass=process permissive=0
Aug 04 13:04:42 audit[2510]: AVC avc: denied { noatsecure } for pid=2510 comm="ping" scontext=root:sysadm_r:sysadm_t:s0 tcontext=root:sysadm_r:ping_t:s0 tclass=process permissive=0
Aug 04 13:04:49 audit[2511]: AVC avc: denied { use } for pid=2511 comm="ping" path="/dev/pts/0" dev="devpts" ino=3 scontext=root:sysadm_r:ping_t:s0 tcontext=system_u:system_r:init_t:s0-s15:c0.c1023 tclass=fd permissive=0
Aug 04 13:04:49 audit[2511]: AVC avc: denied { use } for pid=2511 comm="ping" path="/dev/pts/0"dev="devpts" ino=3 scontext=root:sysadm_r:ping_t:s0 tcontext=system_u:system_r:init_t:s0-s15:c0.c1023 tclass=fd permissive=0
Aug 04 13:04:49 audit[2511]: AVC avc: denied { use } for pid=2511 comm="ping" path="/dev/pts/0" dev="devpts" ino=3 scontext=root:sysadm_r:ping_t:s0 tcontext=system_u:system_r:init_t:s0-s15:c0.c1023 tclass=fd permissive=0
Aug 04 13:04:49 audit[2511]: AVC avc: denied { rlimitinh } for pid=2511 comm="ping" scontext=root:sysadm_r:sysadm_t:s0 tcontext=root:sysadm_r:ping_t:s0 tclass=process permissive=0
Aug 04 13:04:49 audit[2511]: AVC avc: denied { siginh } for pid=2511 comm="ping" scontext=root:sysadm_r:sysadm_t:s0 tcontext=root:sysadm_r:ping_t:s0 tclass=process permissive=0
Aug 04 13:04:49 audit[2511]: AVC avc: denied { noatsecure } for pid=2511 comm="ping" scontext=root:sysadm_r:sysadm_t:s0 tcontext=root:sysadm_r:ping_t:s0 tclass=process permissive=0
并且:
~# cat /var/audit/audit.log | audit2allow -m fix_ping_ifconfig.te
必须添加的行是
policy/modules/admin/netutils.te
+allow ping_t devpts_t:chr_file { getattr ioctl };
+allow ping_t init_t:fd use;
policy/modules/system/sysnetwork.te
+allow ifconfig_t devpts_t:chr_file { read write getattr };
所以这是一个 devpts
问题,但发现解决它的过程禁用了 dountaudit
规则