CentOS 7.4 audit2allow return 复数形式的表达可能很危险

CentOS 7.4 audit2allow return plural forms expression could be dangerous

返回同一问题。 添加 semanage 规则时,我在 python 中收到一些错误:

# semanage port -a -t http_port_t -p tcp 29200
Traceback (most recent call last):
  File "/sbin/semanage", line 32, in <module>
    import seobject
  File "/usr/lib64/python2.7/site-packages/seobject/__init__.py", line 36, in <module>
    import sepolicy
  File "/usr/lib64/python2.7/site-packages/sepolicy/__init__.py", line 21, in <module>
    codeset='utf-8')
  File "/usr/lib64/python2.7/gettext.py", line 495, in install
    t = translation(domain, localedir, fallback=True, codeset=codeset)
  File "/usr/lib64/python2.7/gettext.py", line 480, in translation
    t = _translations.setdefault(key, class_(fp))
  File "/usr/lib64/python2.7/gettext.py", line 180, in __init__
    self._parse(fp)
  File "/usr/lib64/python2.7/gettext.py", line 317, in _parse
    self.plural = c2py(plural)
  File "/usr/lib64/python2.7/gettext.py", line 93, in c2py
    raise ValueError, 'plural forms expression could be dangerous'
ValueError: plural forms expression could be dangerous

经过一些阅读,我发现了一些主题,即统计数据,添加交换会有所帮助。我已经添加了 700MB,不,没有帮助,然后添加了 4GiB,但仍然没有帮助。 我在 /var/log/messages 或 dmesg...

中看不出有什么特别之处
# free -t -m
              total        used        free      shared  buff/cache   available
Mem:          23948         250       23343          16         355       23355
Swap:          4095           0        4095
Total:        28044         250       27439
# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.4.1708 (Core) 
Release:        7.4.1708
Codename:       Core
# uname -a
Linux hostname 3.10.0-693.17.1.el7.x86_64 #1 SMP Thu Jan 25 20:13:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
# yum check-update
Įkelti įskiepiai: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.vpsnet.com
 * epel: mirror.vpsnet.com
 * extras: mirror.vpsnet.com
 * updates: mirror.vpsnet.com
#

我也尝试检查 audit2why 或 audit2allow,但出现错误:

cat /var/log/audit/audit.log | audit2why 
plural forms expression could be dangerous

语言环境:

# locale
LANG=lt_LT.UTF-8
LC_CTYPE="lt_LT.UTF-8"
LC_NUMERIC="lt_LT.UTF-8"
LC_TIME="lt_LT.UTF-8"
LC_COLLATE="lt_LT.UTF-8"
LC_MONETARY="lt_LT.UTF-8"
LC_MESSAGES="lt_LT.UTF-8"
LC_PAPER="lt_LT.UTF-8"
LC_NAME="lt_LT.UTF-8"
LC_ADDRESS="lt_LT.UTF-8"
LC_TELEPHONE="lt_LT.UTF-8"
LC_MEASUREMENT="lt_LT.UTF-8"
LC_IDENTIFICATION="lt_LT.UTF-8"
LC_ALL=

还有什么有用的? 我知道我错过了什么,但是什么?

我在另一个来源收到了 an answer

引用Michael Hampton:

It appears you have found a program which is not fully translated into your language. Try running it as:

LANG=en_US.UTF-8 semanage port -a -t http_port_t -p tcp 29200 

I was able to reproduce your problem by changing my language to yours, i.e.:

# LANG=lt_LT.UTF-8 audit2why < /var/log/audit/audit.log
plural forms expression could be dangerous

But when i use a different language, it works:

# LANG=en_US.UTF-8 audit2why < /var/log/audit/audit.log
Nothing to do