Хороший день, дамы и господа, я нуждаюсь в Вашей помощи. У меня есть виртуальная машина с Ubuntu 18.04 LTS, и я пытаюсь осуществить в с SELinux. Я должен был создать и установить пользовательское ядро из текущего универсального ver. для LTS с некоторыми дополнительными флагами. Не было никакой поддержки SELinux в стандартном ядре. Первая проблема: Я не могу добавить пользователей и группы, в то время как SELinux осуществляет или разрешающий. Если я отключаю его и перезагрузка - все прекрасно. Неважно, если я - реальный корень, или использование sudo su или неограниченный пользователь, я сталкиваюсь с теми же проблемами.
root@hometest:~# id -Z
staff_u:staff_r:staff_t:s0
root@hometest:~# useradd testuser
useradd: failure while writing changes to /etc/passwd
Не из пространства на /
root@hometest:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 6.4G 13G 35% /
Полномочия
root@hometest:~# ls -alsdZ /etc /etc/passwd /etc/group /etc/shadow
12 drwxr-xr-x. 136 root root system_u:object_r:etc_t:s0 12288 Jul 27 16:25 /etc
4 -rw-rw-rw-. 1 root root system_u:object_r:etc_t:s0 977 Jul 25 10:25 /etc/group
4 -rw-rw-r--. 1 root root system_u:object_r:etc_t:s0 2184 Jul 25 10:17 /etc/passwd
4 -rw-r-----. 1 root shadow system_u:object_r:shadow_t:s0 1291 Jul 25 10:17 /etc/shadow
root@hometest:~# lsattr -d /etc /etc/passwd /etc/group
-----------I--e--- /etc
--------------e--- /etc/passwd
--------------e--- /etc/group
--------------e--- /etc/shadow
Найденный никакими булевскими переменными SELinux, которые могли помочь. Система маркирована согласно политике по умолчанию. Попробованный для восстановления контекстов/etc/passwd/etc/shadow и/etc/grpup - ничто не изменяется.
root@hometest:~# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: default
Current mode: permissive
Mode from config file: permissive
Policy MLS status: enabled
Policy deny_unknown status: allowed
Memory protection checking: requested (insecure)
Max kernel policy version: 31
Некоторая информация от журналов:
type=AVC msg=audit(1532674348.442:472): avc: denied { map } for pid=1060 comm="useradd" path="/etc/passwd" dev="sda2" ino=131866 scontext=root:sysadm_r:useradd_t:s0 tcontext=system_u:object_r:etc_t:s0 tclass=file permissive=1
Was caused by:
Missing type enforcement (TE) allow rule.
You can use audit2allow to generate a loadable module to allow this access.
type=AVC msg=audit(1532685061.535:1239): avc: denied { write } for pid=2759 comm="useradd" path="/etc/passwd.2759" dev="sda2" ino=131279 scontext=staff_u:staff_r:staff_sudo_t:s0 tcontext=staff_u:object_r:etc_t:s0 tclass=file permissive=1
Was caused by:
Missing type enforcement (TE) allow rule.
You can use audit2allow to generate a loadable module to allow this access.
Я скомпилировал полный модуль со всеми позволить правилами, которые были найдены в контрольном журнале, установил его, перезагрузил политику, и он ничего не решил. Проверенное журнал для еще раз, нашел некоторые новые записи и сделал еще один модуль. Я пытался изменить контекст/etc/passwd от etc_t до некоторых других - он не помог. Попробованный для использования strace, но вывода действительно длинно. Что еще я могу проверить попытку o? Нет никакой проблемы на Ubuntu 16.04 LTS, что случилось с 18.04 LTS? Что я делаю неправильно? Любая справка ценится.
Это, кажется, ошибка. Я был также поражен им.
Работание strace на groupadd, отказы после groupadd пишущий в/proc/thread-self/attr/fscreate
Вот отчет об ошибках https://bugs.launchpad.net/ubuntu / + source/libselinux / + ошибка/1769301
Сообщаемый восемь месяцев назад, все еще зафиксированный.
SELinux очень хорошо не поддерживается или в Debian или в Ubuntu. Если Вы любите SELinux, рассматриваете использование Redhat или Centos.