Poprzedni :: Spis treści :: Następny


8. Definicje w SELinux Policy
8.1 Definicje Type Enforcement
8.2 Definicje RBAC


8. Definicje w SELinux Policy

8.1 Definicje Type Enforcement

Przykład 1. Deklaracje typów (plik attrib.te)

type sshd_t, domain, privuser, privrole, privlog, privowner;
type sshd_exec_t, file_type, exec_type, sysadmfile;
type sshd_tmp_t, file_type, sysadmfile, tmpfile;
type sshd_var_run_t, file_type, sysadmfile, pidfile;

Powyżej znajdują się definicje typów, które będą używane w regułach Policy.

Przykład 2. Reguły wymuszonych przejść

domain_auto_trans(initrc_t, sshd_exec_t, sshd_t)
file_type_auto_trans(sshd_t, tmp_t, sshd_tmp_t)
domain_auto_trans(sshd_t, shell_exec_t, user_t)

Powyżej znajdują się makra definiujące wymuszone przejścia. Pierwsze z powyższych makr (domain_auto_trans) jest regułą oznaczającą, że jeś li proces w domenie initrc_t uruchomi program z pliku o typie sshd_exec_t, to proces wykonujący ten program będzie działał w domenie sshd_t. Drugie z makr (fi le_type_auto_trans) jest natomiast regułą oznaczającą, że jeśli proces w domenie sshd_t otworzy (lub utworzy) plik o typie tmp_t, wówczas zmieni się typ tego pliku na sshd_tmp_t.

Przykład 3a. Reguły dozwolonych przejść (plik users.te)

type_change user_t tty_device_t:chr_file user_tty_device_t;
type_change sysadm_t tty_device_t:chr_file sysadm_tty_device_t;
type_change user_t sshd_devpts_t:chr_file user_devpts_t;
type_change sysadm_t sshd_devpts_t:chr_file sysadm_devpts_t;

Powyżej znajdują się reguły pozwalające procesowi działającemu w określonej domenie na zmianę pliku o ustalonym typie na inny ustalony typ . Na przykład pierwsza z reguł pozwala procesowi działającemu w domenie user_t (czyli w domyślnej domenie dla roli user_r, która jest domyślną rolą dla użytkowni ka) na zmianę typu pliku urządzenia znakowego tty_device_t na typ user_tty_device_t.

Przykład 3b. Reguły dozwolonych przejść

domain_trans(sshd_t, shell_ecec_t, sysadm_t)

Powyżej przykład makra definiującego dozwolone przejście. Parametry mają podobne znaczenie, jak w przypadku makra domain_auto_trans.

Przykład 4 Definicje wektorów dostępu

allow sshd_t sshd_exec_t:file { read execute entrypoint };
allow sshd_t sshd_tmp_t:file { create read write getattr setattr link unlink rename };

Powyżej znajdują się reguły definiujące, co proces w określonej domenie może zrobić z obiektem danego typu. Wszelkie działania, które nie zostaną w ten sposób zdefiniowane nie będą dozwolone.

8.2 Definicje RBAC

Przykład 1. Definicje ról

role user_r types { user_t user_irc_t };
role sysadm_r types { sysadm_t run_init_t user_irc_t };

Powyżej znajdują się definicje ról. Dla każdej roli zostały ustalone jej domeny. Pierwsza z nich jest domeną domyślną. Domena user_irc_t j est wspólna dla ról user_r i sysadm_r.

Przykład 2. Reguły dozwolonych przejść

allow user_r sysadm_r;

Powyżej znajduje się reguła pozwalająca na zmianę domeny z user_r na sysadm_r np. za pomocą polecenia newrole.

Przykład 3. Reguły przyznające role użytkownikom

user root roles { user_r sysadm_r };
user pawel roles user_r;

Powyżej znajdują się reguły definiujące role przypisane użytkownikom. Dla obu z nich domyślną rolą jest user_r.


Poprzedni :: Spis treści :: Następny


Valid XHTML 1.0 Strict