JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
man pages section 4: File Formats     Oracle Solaris 11 Information Library
search filter icon
search icon

Document Information

Preface

Introduction

File Formats

addresses(4)

admin(4)

alias(4)

aliases(4)

a.out(4)

au(4)

audit_class(4)

audit_event(4)

audit.log(4)

auth_attr(4)

autofs(4)

bart_manifest(4)

bart_rules(4)

bootparams(4)

cardbus(4)

compver(4)

contents(4)

contract(4)

copyright(4)

core(4)

crypt.conf(4)

crypto_certs(4)

dacf.conf(4)

dat.conf(4)

defaultdomain(4)

default_fs(4)

defaultrouter(4)

depend(4)

device_allocate(4)

device_contract(4)

device_maps(4)

devices(4)

devid_cache(4)

devname_cache(4)

dfstab(4)

dhcp_inittab(4)

dhcp_network(4)

dhcpsvc.conf(4)

dhcptab(4)

dialups(4)

dir(4)

dir_ufs(4)

d_passwd(4)

driver(4)

driver.conf(4)

ds.log(4)

dumpdates(4)

ethers(4)

exec_attr(4)

fbtab(4)

fd(4)

fdi(4)

flash_archive(4)

format.dat(4)

forward(4)

fs(4)

fspec(4)

fstypes(4)

ftp(4)

ftpusers(4)

fx_dptbl(4)

gateways(4)

geniconvtbl(4)

group(4)

gsscred.conf(4)

hba.conf(4)

holidays(4)

hosts(4)

hosts.equiv(4)

ib(4)

idnkit.pc(4)

ike.config(4)

ike.preshared(4)

inetd.conf(4)

inet_type(4)

infiniband_hca_persistent_cache(4)

init.d(4)

inittab(4)

ipaddrsel.conf(4)

ipf(4)

ipf.conf(4)

ipnat(4)

ipnat.conf(4)

ipnodes(4)

ippool(4)

ippool.conf(4)

isa(4)

issue(4)

kadm5.acl(4)

kdc.conf(4)

keytables(4)

krb5.conf(4)

label_encodings(4)

ldapfilter.conf(4)

ldapsearchprefs.conf(4)

ldaptemplates.conf(4)

llc2(4)

logadm.conf(4)

logindevperm(4)

loginlog(4)

magic(4)

md.cf(4)

mddb.cf(4)

mdi_ib_cache(4)

mdi_scsi_vhci_cache(4)

md.tab(4)

mech(4)

meddb(4)

mnttab(4)

mod_ipp(4)

mpapi.conf(4)

named.conf(4)

ncad_addr(4)

nca.if(4)

ncakmod.conf(4)

ncalogd.conf(4)

ncaport.conf(4)

ndmp(4)

ndpd.conf(4)

netconfig(4)

netgroup(4)

netid(4)

netmasks(4)

netrc(4)

networks(4)

nfs(4)

nfslog.conf(4)

nfssec.conf(4)

NISLDAPmapping(4)

nodename(4)

nologin(4)

note(4)

notrouter(4)

nscd.conf(4)

nss(4)

nsswitch.conf(4)

packingrules(4)

pam.conf(4)

passwd(4)

path_to_inst(4)

pci(4)

pcie(4)

pci_unitaddr_persistent(4)

phones(4)

pkginfo(4)

pkgmap(4)

plot(4B)

policy.conf(4)

priv_names(4)

proc(4)

process(4)

prof_attr(4)

profile(4)

project(4)

protocols(4)

prototype(4)

pseudo(4)

publickey(4)

qop(4)

queuedefs(4)

rcmscript(4)

rdc.cf(4)

registration_profile(4)

remote(4)

resolv.conf(4)

rhosts(4)

rmtab(4)

rndc.conf(4)

rpc(4)

rt_dptbl(4)

sasl_appname.conf(4)

sbus(4)

sccsfile(4)

scsi(4)

securenets(4)

sel_config(4)

sendmail(4)

sendmail.cf(4)

service_bundle(4)

service_provider.conf(4)

services(4)

shadow(4)

sharetab(4)

shells(4)

slp.conf(4)

slpd.reg(4)

smb(4)

smbautohome(4)

smhba.conf(4)

snapshot_cache(4)

sndr(4)

sock2path.d(4)

space(4)

ssh_config(4)

sshd_config(4)

submit.cf(4)

sulog(4)

sysbus(4)

syslog.conf(4)

system(4)

telnetrc(4)

term(4)

terminfo(4)

TIMEZONE(4)

timezone(4)

TrustedExtensionsPolicy(4)

ts_dptbl(4)

ttydefs(4)

ttysrch(4)

ufsdump(4)

updaters(4)

user_attr(4)

utmp(4)

utmpx(4)

vfstab(4)

volume-config(4)

volume-defaults(4)

volume-request(4)

wanboot.conf(4)

warn.conf(4)

wtmp(4)

wtmpx(4)

ypfiles(4)

yppasswdd(4)

ypserv(4)

zoneinfo(4)

prof_attr

- profile description database

Synopsis

/etc/security/prof_attr

Description

/etc/security/prof_attr is a local source for execution profile names, descriptions, and other attributes of execution profiles. The prof_attr file can be used with other profile sources, including the prof_attr NIS map. Programs use the getprofattr(3C) routines to gain access to this information.

The search order for multiple prof_attr sources is specified in the /etc/nsswitch.conf file, as described in the nsswitch.conf(4) man page.

An execution profile is a mechanism used to bundle together the commands and authorizations needed to perform a specific function. An execution profile can also contain other execution profiles. Each entry in the prof_attr database consists of one line of text containing five fields separated by colons (:). Line continuations using the backslash (\) character are permitted. The format of each entry is:

profname:res1:res2:desc:attr

profname

The name of the profile. Profile names are case-sensitive.

res1

The characters RO in this field indicate it is read only and not modifiable by the tools that update this database.

res2

Reserved for future use.

desc

A long description. This field should explain the purpose of the profile, including what type of user would be interested in using it. The long description should be suitable for displaying in the help text of an application.

attr

An optional list of semicolon-separated (;) key-value pairs that describe the security attributes to apply to the object upon execution. Zero or more keys can be specified. The following keys are currently interpreted by the system:

help is assigned the name of a file ending in .htm or .html.

auths specifies a comma-separated list of authorization names chosen from those names defined in the auth_attr(4) database. Authorization names can be specified using the asterisk (*) character as a wildcard. For example, solaris.printer.* would mean all of Sun's authorizations for printing.

audit_flags specifies per-user Audit preselection flags as colon-separated always-audit-flags and never-audit-flags. For example, audit_flags=always-audit-flags:never-audit-flags. See audit_flags(5).

profiles specifies a comma-separated list of profile names chosen from those names defined in the prof_attr database.

privs specifies a comma-separated list of privileges names chosen from those names defined in the priv_names(4) database. These privileges can then be used for executing commands with pfexec(1).

defaultpriv and limitpriv have the same semantics as in user_attr(4). If they are not specified in the user_attr database, the assigned profiles are searched until a match is found.

audit_flags specifies per-user audit preselection flags as a colon-separated list of always-audit-flags and never-audit-flags values, for example, audit_flags=always-audit-flags:never-audit-flags. See audit_flags(5).

Examples

Example 1 Allowing Execution of All Commands

The following entry allows the user to execute all commands:

All:::Use this profile to give a :help=All.html

Example 2 Consulting the Local prof_attr File First

With the following nsswitch.conf entry, the local prof_attr file is consulted before the NIS map:

prof_attr: files nis

Files

/etc/nsswitch.conf

/etc/security/prof_attr

Locally added entries. Make sure that the shipped header remains intact.

/etc/security/prof_attr.d/*

Entries added by package installation.

Notes

The root user is usually defined in local databases because root needs to be able to log in and do system maintenance in single-user mode and at other times when the network name service databases are not available. So that the profile definitions for root can be located at such times, root's profiles should be defined in the local prof_attr file, and the order shown in the example nsswitch.conf(4) file entry under EXAMPLES is highly recommended.

Because the list of legal keys is likely to expand, any code that parses this database must be written to ignore unknown key-value pairs without error. When any new keywords are created, the names should be prefixed with a unique string, such as the company's stock symbol, to avoid potential naming conflicts.

Each application has its own requirements for whether the help value must be a relative pathname ending with a filename or the name of a file. The only known requirement is for the name of a file.

The following characters are used in describing the database format and must be escaped with a backslash if used as data: colon (:), semicolon (;), equals (=), and backslash (\).

The following authorizations are required to set various fields:

prof        namename of profile        solaris.profile.manage
desc        description of profile     solaris.profile.manage
help        html help file name        solaris.profile.manage
            of profile

auths       authorizations granted     solaris.auth.assign/delegate 
profiles    profiles granted           solaris.profile.assign/delegate
privs       privileges granted         solaris.privilege.assign/delegate
limitpriv   the limit set of           solaris.privilege.assign/delegate
            privileges for the 
            command process
defaultpriv  the inheritable set of    solaris.privilege.assign/delegate
             privileges for the 
             command process

The value of limitpriv that can be set by an authorized user for a given command are limited to the limitpriv privilges that are granted to the user.

The value of the defaultpriv that can be set by an authorized user for a given command are limited to the defaultpriv privileges granted to the user.

The solaris.auth.assign authorization allows the authorized user to grant any authorization to another user. The solaris.auth.delegate allows the authorized user to grant only the user's authorizations to another user. The same principle applies to profiles, privileges.

See Also

auths(1), pfexec(1), profiles(1), getauthattr(3C), getprofattr(3C), getuserattr(3C), auth_attr(4), exec_attr(4), priv_names(4), user_attr(4), audit_flags(5)