mirror of
https://github.com/SELinuxProject/selinux
synced 2025-04-27 13:18:03 +00:00
Some programs, like passwd, need to do simeple one time access checks. Rather than set up a full avc cache and use that infrastructure they were directly using security_compute_av. A problem with this approach is the lack of audit on denials. This patch creates a new interface that is simple to use and which will still listen to things like permissive and output audit messages on denials. Signed-off-by: Eric Paris <eparis@redhat.com> Acked-by: Dan Walsh <dwalsh@redhat.com>
99 lines
3.5 KiB
Groff
99 lines
3.5 KiB
Groff
.TH "security_compute_av" "3" "1 January 2004" "russell@coker.com.au" "SELinux API documentation"
|
|
.SH "NAME"
|
|
security_compute_av, security_compute_av_flags, security_compute_create, security_compute_relabel,
|
|
security_compute_member, security_compute_user, security_get_initial_context \- query
|
|
the SELinux policy database in the kernel.
|
|
|
|
.SH "SYNOPSIS"
|
|
.B #include <selinux/selinux.h>
|
|
|
|
.B #include <selinux/flask.h>
|
|
.sp
|
|
.BI "int security_compute_av(security_context_t "scon ", security_context_t "tcon ", security_class_t "tclass ", access_vector_t "requested ", struct av_decision *" avd );
|
|
.sp
|
|
.BI "int security_compute_av_flags(security_context_t "scon ", security_context_t "tcon ", security_class_t "tclass ", access_vector_t "requested ", struct av_decision *" avd );
|
|
.sp
|
|
.BI "int security_compute_create(security_context_t "scon ", security_context_t "tcon ", security_class_t "tclass ", security_context_t *" newcon );
|
|
.sp
|
|
.BI "int security_compute_relabel(security_context_t "scon ", security_context_t "tcon ", security_class_t "tclass ", security_context_t *" newcon );
|
|
.sp
|
|
.BI "int security_compute_member(security_context_t "scon ", security_context_t "tcon ", security_class_t "tclass ", security_context_t *" newcon );
|
|
.sp
|
|
.BI "int security_compute_user(security_context_t "scon ", const char *" username ", security_context_t **" con );
|
|
.sp
|
|
.BI "int security_get_initial_context(const char *" name ", security_context_t
|
|
"con );
|
|
.sp
|
|
.BI "int selinux_check_access(const security_context_t " scon, " const security_context_t " tcon, " const char *" class, " const char *" perm, "void *" auditdata);
|
|
.sp
|
|
.BI "int selinux_check_passwd_access(access_vector_t " requested );
|
|
.sp
|
|
.BI "int checkPasswdAccess(access_vector_t " requested );
|
|
|
|
.SH "DESCRIPTION"
|
|
.B security_compute_av
|
|
queries whether the policy permits the source context
|
|
.B scon
|
|
to access the target context
|
|
.B tcon
|
|
via class
|
|
.B tclass
|
|
with the
|
|
.B requested
|
|
access vector. The decision is returned in
|
|
.BR avd .
|
|
|
|
.B security_compute_av_flags
|
|
is identical to
|
|
.B security_compute_av
|
|
but additionally sets the
|
|
.B flags
|
|
field of
|
|
.BR avd .
|
|
Currently one flag is supported:
|
|
.BR SELINUX_AVD_FLAGS_PERMISSIVE ,
|
|
which indicates the decision is computed on a permissive domain.
|
|
|
|
.B security_compute_create
|
|
is used to compute a context to use for labeling a new object in a particular
|
|
class based on a SID pair.
|
|
|
|
.B security_compute_relabel
|
|
is used to compute the new context to use when relabeling an object, it is used
|
|
in the pam_selinux.so source and the newrole source to determine the correct
|
|
label for the tty at login time, but can be used for other things.
|
|
|
|
.B security_compute_member
|
|
is used to compute the context to use when labeling a polyinstantiated object
|
|
instance.
|
|
|
|
.B security_compute_user
|
|
is used to determine the set of user contexts that can be reached from a
|
|
source context. It is mainly used by
|
|
.B get_ordered_context_list.
|
|
|
|
.B security_get_initial_context
|
|
is used to get the context of a kernel initial security identifier specified by
|
|
.I name
|
|
|
|
.B selinux_check_access
|
|
is used to check if the source context has the access permission for the specified class on the target context.
|
|
|
|
.B selinux_check_passwd_access
|
|
is used to check for a permission in the
|
|
.I passwd
|
|
class.
|
|
.B selinux_check_passwd_access
|
|
uses getprevcon() for the source and target security contexts.
|
|
|
|
.B checkPasswdAccess
|
|
is a deprecated alias of the
|
|
.B selinux_check_passwd_access
|
|
function.
|
|
|
|
.SH "RETURN VALUE"
|
|
Returns zero on success or \-1 on error.
|
|
|
|
.SH "SEE ALSO"
|
|
.BR selinux "(8), " getcon "(3), " getfilecon "(3), " get_ordered_context_list "(3)"
|