policy_module(pwauth, 1.0.0)

########################################
#
# Declarations
#

type pwauth_t;
type pwauth_exec_t;
application_domain(pwauth_t, pwauth_exec_t)
role system_r types pwauth_t;

type pwauth_var_run_t;
files_pid_file(pwauth_var_run_t)

########################################
#
# pwauth local policy
#
allow pwauth_t self:capability setuid;
allow pwauth_t self:process setrlimit;

allow pwauth_t self:fifo_file manage_fifo_file_perms;
allow pwauth_t self:unix_stream_socket create_stream_socket_perms;

manage_files_pattern(pwauth_t, pwauth_var_run_t, pwauth_var_run_t)
files_pid_filetrans(pwauth_t, pwauth_var_run_t, file)

domain_use_interactive_fds(pwauth_t)

auth_domtrans_chkpwd(pwauth_t)
auth_use_nsswitch(pwauth_t)
auth_read_shadow(pwauth_t)
auth_rw_lastlog(pwauth_t)

init_read_utmp(pwauth_t)

logging_send_syslog_msg(pwauth_t)
logging_send_audit_msgs(pwauth_t)
