LINUX.ORG.RU
ФорумAdmin

sshd в SELinux

 


1

1

Доброго времени суток! Создал нового пользователя в SELinux «name_u», прописал у него в файле (/etc/selinux/targeted/contexts/users/name_u) следующее:

#######
name_r:name_t:s0			name_r:name_t:s0
staff_r:staff_t:s0			name_r:name_t:s0
system_r:crond_t:s0			name_r:name_t:s0
system_r:initrc_su_t:s0			name_r:name_t:s0
system_r:local_login_t:s0		name_r:name_t:s0
system_r:remote_login_t:s0		name_r:name_t:s0
system_r:sshd_t:s0			name_r:name_t:s0 
system_r:xdm_t:s0			name_r:name_t:s0
#######
И все равно не дает доступ пользователю к ssh. Когда добавляю в строчку staff_t у которого есть доступ, то все хорошо, он заходит.
system_r:sshd_t:s0			name_r:name_t:s0 staff_r:staff_t:s0
Только мне SSH нужен как инструмент с типом name_t для доступа к каталогу с файлами которые помечены типом name_rw_t.



Последнее исправление: PirateTM (всего исправлений: 2)

Конечная цель разрешить, только, конкретному пользователю запускать ssh клиент?

sparks ★★★★
()
Ответ на: комментарий от sparks

Не только. Конечная цель - разрешить пользователю через ssh (с типом name_t) работать с файлами на которых поставлен тип (name_rw_t)

PirateTM
() автор топика
Ответ на: комментарий от PirateTM

Опиши примерный сценарий, мне кажется ты не в ту сторону пошел, ты политику дополнил новыми контекстами и ролями? Ещё, на файлы нельзя повесить несколько контекстов сразу

sparks ★★★★
()
Ответ на: комментарий от sparks

Использую CentOS 7 epel не использую, ибо в условиях задачи необходимы локальные репозитории. Пакеты selinux которые у меня стоят:

setools-gui-3.3.8-4.el7.x86_64
selinux-policy-minimum-3.13.1-229.el7_6.6.noarch
selinux-policy-targeted-3.13.1-229.el7_6.6.noarch 
selinux-policy-mls-3.13.1-229.el7_6.6.noarch 
setools-devel-3.3.8-4.el7.x86_64 
setools-3.3.8-4.el7.x86_64 
selinux-policy-sandbox-3.13.1-229.el7_6.6.noarch 
setools-libs-3.3.8-4.el7.x86_64
selinux-policy-3.13.1-229.el7_6.6.noarch 
selinux-policy-devel-3.13.1-229.el7_6.6.noarch
setools-console-3.3.8-4.el7.x86_64
selinux-policy-doc-3.13.1-229.el7_6.6.noarch
setools-libs-tcl-3.3.8-4.el7.x86_64

Через sepolgen сгенерировал политику командой:

[root@localhost modules]# sepolgen -n name  --confined_admin -u argun_u -n name /opt/name/

А вообще сценарий такой, что есть ПО которое запускается, записывает логи, запускается из под пользователя. ПО использует различные сокеты TCP и UDP. И все это работает со стандартными контекстами. Но надо ограничить это ПО от остальных пользователей через selinux (и только через него). Разрешить только одному пользователю SELinux на 120% управлять этим приложением, а остальным запретить у кого нет той или иной роли.

Вообще много читал мануалов по данной теме, но ничего полезного для себя не нашел.

PirateTM
() автор топика
Ответ на: комментарий от sparks

Если сможешь помочь, в обиде не оставлю. Добавь в ВК. Ссылку зашифровал от ботов (Base64: aHR0cHM6Ly92ay5jb20vdWdseXl4cmx2ZTBn). Или попробуй найти в телеграмме меня (ник такой же, как на сайте).

PirateTM
() автор топика
Ответ на: комментарий от PirateTM

Я тебе в телеграме написал, ток там сказано, ты с 21го не появлялся

sparks ★★★★
()
Ответ на: комментарий от PirateTM

Ты делаешь странное.
Фишка SELinux в том, что доступ дается не пользователям, а приложениям (типам). И без разницы какой пользователь его (приложение) запускает. Пользователи и роли - вторичный механизм, на практике используется редко.
Та задача, которую ты описал, решается стандартными правами Unix. Разрешить пользователю через sudo выполнять команды от имени пользователя, под которым запускается приложение, и все. Почему нужно делать это средствами SELinux?

bigbit ★★★★★
()
Последнее исправление: bigbit (всего исправлений: 1)
Ответ на: комментарий от PirateTM

категории? Первый раз слышу

man chcat

Типа на каждый объект (файл/программа) можно налепить 1к флажков, и если первого нет во втором, не доступиться.

DonkeyHot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.