Назад | Перейти на главную страницу

Выполнение semanage возвращает, что Python 'выражение множественных форм может быть опасным'

Возвращаясь к тому же вопросу. Я получаю некоторую ошибку в python при добавлении правил semanage:

# 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

После некоторых чтений я нашел несколько тем, в которых есть статистика, и добавление свопа может помочь. Я добавил 700 МБ, нет, без помощи, затем добавил 4 ГБ, но все равно без помощи. Ничего особенного не вижу ни в / 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=

что еще может быть полезно? Я знаю, что что-то упустил, но что?

Похоже, вы нашли программу, которая не полностью переведена на ваш язык. Попробуйте запустить его как:

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

Мне удалось воспроизвести вашу проблему, изменив свой язык на ваш, а именно:

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

Но когда я использую другой язык, это работает:

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