1.15 Шаг 11: Права доступа, метки и политики SELinux

1.15 Шаг 11: Права доступа, метки и политики SELinux

These instructions are intended for RedHat 6.X, but may serve as a guide for other distributions/versions

Эта инструкция написана для RedHat 6.X, но может использоваться как пособие и для других дистрибутивов. Eng.

There is still more work to be done in regards of creating a Samba 4 specific SELinux policy but for now you should be able to have everything working without disabling.

Для того чтобы заставить работать Samba без отключения SELinux, необходимо будет создать специфичные политики SELinux для Samba 4. Eng.

For all the commands below, make sure you have set the following environment variable:

Для всех команд ниже используйте следующую переменную окружения: Eng.

 MYREALM="samdom.example.com"

1.15.1 Bind

Set Permissions:

Установите права доступа: Eng.

 chown named:named /usr/local/samba/private/dns
 chgrp named /usr/local/samba/private/dns.keytab
 chmod g+r /usr/local/samba/private/dns.keytab
 chmod 775 /usr/local/samba/private/dns

Label files:

Метки для файлов: Eng.

 chcon -t named_conf_t /usr/local/samba/private/dns.keytab
 chcon -t named_conf_t /usr/local/samba/private/named.conf.update
 chcon -t named_var_run_t /usr/local/samba/private/dns
 chcon -t named_var_run_t/usr/local/samba/private/dns/${MYREALM}.zone

Set Label Persistence:

Установка контекста файлов: Eng.

 semanage fcontext -a -t named_conf_t /usr/local/samba/private/dns.keytab
 semanage fcontext -a -t named_conf_t /usr/local/samba/private/named.conf
 semanage fcontext -a -t named_conf_t /usr/local/samba/private/named.conf.update
 semanage fcontext -a -t named_var_run_t /usr/local/samba/private/dns
 semanage fcontext -a -t named_var_run_t/usr/local/samba/private/dns/${MYREALM}.zone
 semanage fcontext -a -t named_var_run_t/usr/local/samba/private/dns/${MYREALM}.zone.jnl
 semanage fcontext -a -t ntpd_t /usr/local/samba/var/run/ntp_signd

1.15.2 NTP

Set Permissions:

Установка прав: Eng.

 $ chgrp ntp /usr/local/samba/var/lib/ntp_signd

Multiple attempts to set the context for ntp failed so the below policy was needed for windows clients time sync after joining the DOMAIN.

Политики, описаные ниже, необходимы для обеспечения синхронизации времени клиентами Windows после ввода их в домен. Eng.

 $ chcon -u system_u -t ntpd_t /usr/local/samba/var/run/ntp_signd
 $ chcon -u system_u -t ntpd_t/usr/local/samba/var/run/
 $ chcon -t ntpd_t /usr/local/samba/var/run/ntp_signd/socket

samba4.te policy:

Политики samba4.te: Eng.

 module samba4 1.0;
       require {
    type ntpd_t;
    type usr_t;
    type initrc_t;
    class sock_file write;
    class unix_stream_socket connectto;
 }
    #============= ntpd_t ==============
 allow ntpd_t usr_t:sock_file write;
    #============= ntpd_t ==============
 allow ntpd_t initrc_t:unix_stream_socket connectto;

Check and load policy:

Проверка и загрузка политик: Eng.

 $ checkmodule -M -m -o samba4.mod samba4.te
 $ semodule_package -o samba4.pp -m samba4.mod
 $ semodule -i samba4.pp