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