CUPS + smb tiskarna + krb5
Luděk Finstrle
luf na pzkagis.cz
Čtvrtek Leden 31 14:05:29 CET 2013
Dobry den,
diky rade Pavla jsem prosel skrz, ale rad se dozvim o selinuxu
vic, nez jen jak ho vypinat. A priznam se, ze jsem ocekaval, ze se
z toho problemu dostanu prave nejakym tranzitivnim pravidlem
(ale nevyznam se v tom, takze mozna mylna predstava).
Čtvrtek, 31 Leden, 2013 12:49 CET, "Ing. Leoš Houser" <leos.houser na aacomputer.cz> napsal:
> Pokud jsem pochopil váš velmi hutný popis problému správně, máte aktuálně
> problém v přechodem cupsu do bezpečnostní domény su_exec_t Tato konfigurace
> by potom měla obsahovat povolující tranzitivní pravidlo pro cups do domény
> su_exec_t. Zkuste jej doplnit pokud tam není a modul zkompilujte a zaveďte
> ručně.
Bohuzel vubec netusim jak maji tranzitivni pravidla vypadat.
Je nekde howto pro zacatecniky?
Vzdycky kdyz jsem zkusil do selinuxu proniknout tak jsem skoncil po
X strankach teorie, ze ktere mi sla hlava kolem. No a protoze jsem si
na to nikdy nevyclenil dostatek casu, tak selinux umim jen vypinat :(
Pokud by to zajimalo (komentare i rady na vylepseni vitam) i nekoho dalsiho,
tak tady je muj stavajici obsah modulu:
module cupssmbkrb 1.0.0;
require {
type cgroup_t;
type cupsd_t;
type lastlog_t;
type su_exec_t;
type systemd_logind_t;
type systemd_logind_sessions_t;
type user_home_dir_t;
type user_tmp_t;
type xauth_exec_t;
class dbus send_msg;
class dir { getattr open read search write };
class fifo_file write;
class file { getattr execute execute_no_trans open read write };
class key write;
class netlink_selinux_socket create;
class passwd rootok;
class process setrlimit;
}
#============= cupsd_t ==============
allow cupsd_t cgroup_t:dir { getattr open read search };
allow cupsd_t lastlog_t:file { read write open };
allow cupsd_t systemd_logind_t:dbus send_msg;
allow cupsd_t systemd_logind_sessions_t:fifo_file write;
allow cupsd_t self:key write;
allow cupsd_t self:netlink_selinux_socket create;
allow cupsd_t self:passwd { rootok };
allow cupsd_t self:process setrlimit;
allow cupsd_t su_exec_t:file { getattr execute execute_no_trans open read };
allow cupsd_t user_home_dir_t:dir getattr;
allow cupsd_t user_tmp_t:dir { getattr open read search write };
allow cupsd_t user_tmp_t:file open;
allow cupsd_t xauth_exec_t:file execute;
#============= systemd_logind_t ==============
allow systemd_logind_t cupsd_t:dbus send_msg;
Diky za rady
Luf
> ----- Původní zpráva -----
> Od: "Luděk Finstrle" <luf na pzkagis.cz>
> Komu: <linux na linux.cz>
> Odesláno: 31. ledna 2013 10:05
> Předmět: CUPS + smb tiskarna + krb5
>
>
> Ahoj,
>
> na Fedore 18 resim tisk na tiskarnu ve win AD s auth kerberem. Nedostanu
> keytab pro svuj stroj, takze dle me pada varianta celeho CUPSu pres kerbera.
>
> Takze jsem si klasicky udelal /usr/lib/cups/backend/smb:
>
> #!/bin/sh
>
> echo 'network smb "Unknown" "Windows Printer via SAMBA"'
>
> /bin/su -p -c "KRB5CCNAME=\"DIR:\$(/bin/ls -td
> /run/user/\`/usr/bin/id -u\`/krb5cc_* | /usr/bin/head -n1)\"
> /usr/bin/smbspool $1 $2 \"$3\" $4 \"$5\"" $2
>
> Potud dobry, ale mam problem, ze se selinuxem v rezimu enforcing mi to
> neprojde su pres pam_rootok a tudiz to nefunguje. Prochazel jsem pres tail
> /var/log/audit/audit.log | audit2allow -M test az jsem se dostal do stavu,
> kdy zadne alerty nejsou (i se semodule -BD), ale presto je rozdil Enforcing
> a Permissive rezim.
> pam_rootok ma podporu selinuxu, ktera navic checkuje korektnost a ta pada,
> ale nevim co kde nastavit, abych cupsu (pod rootem) povolil su.
>
> Se selinuxem jsem zacatecnik, takze verim, ze delam nejakou zacatecnickou
> chybu.
>
> Predem diky za napady ci odkazy na spravnou dokumentaci/postup
>
> Luf
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux
>
> _______________________________________________
> Linux mailing list
> Linux na linux.cz
> http://www.linux.cz/mailman/listinfo/linux
>
Další informace o konferenci Linux