mirror of
https://gitlab.com/apparmor/apparmor.git
synced 2025-03-04 08:24:42 +01:00

(The broken URLs were introduced in r1582.) for utils/*.pod: Acked-by: Steve Beattie <steve@nxnw.org> for the other directories: Patch by Steve Beattie Acked-by: Christian Boltz <apparmor@cboltz.de>
113 lines
3.4 KiB
Text
113 lines
3.4 KiB
Text
# This publication is intellectual property of Canonical Ltd. Its contents
|
|
# can be duplicated, either in part or in whole, provided that a copyright
|
|
# label is visibly located on each copy.
|
|
#
|
|
# All information found in this book has been compiled with utmost
|
|
# attention to detail. However, this does not guarantee complete accuracy.
|
|
# Neither Canonical Ltd, the authors, nor the translators shall be held
|
|
# liable for possible errors or the consequences thereof.
|
|
#
|
|
# Many of the software and hardware descriptions cited in this book
|
|
# are registered trademarks. All trade names are subject to copyright
|
|
# restrictions and may be registered trade marks. Canonical Ltd.
|
|
# essentially adhere to the manufacturer's spelling.
|
|
#
|
|
# Names of products and trademarks appearing in this book (with or without
|
|
# specific notation) are likewise subject to trademark and trade protection
|
|
# laws and may thus fall under copyright restrictions.
|
|
#
|
|
|
|
|
|
=pod
|
|
|
|
=head1 NAME
|
|
|
|
aa_getprocattr_raw, aa_getprocattr - read and parse procattr data
|
|
|
|
aa_getcon, aa_gettaskcon - get task confinement information
|
|
|
|
aa_getpeercon - get the confinement of a socket's other end (peer)
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
B<#include E<lt>sys/apparmor.hE<gt>>
|
|
|
|
B<int aa_getprocattr_raw(pid_t tid, const char *attr, char *buf, int len,
|
|
char **mode);>
|
|
|
|
B<int aa_getprocattr(pid_t tid, const char *attr, char **buf, char **mode);>
|
|
|
|
B<int aa_gettaskcon(pid_t target, char **con, char **mode);>
|
|
|
|
B<int aa_getcon(char **con, char **mode);>
|
|
|
|
B<int aa_getpeercon(int fd, char **con);>
|
|
|
|
Link with B<-lapparmor> when compiling.
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
The aa_getcon function gets the current AppArmor confinement context for the
|
|
current task. The confinement context is usually just the name of the AppArmor
|
|
profile restricting the task, but it may include the profile namespace or in
|
|
some cases a set of profile names (known as a stack of profiles). The returned string *con should be freed using free().
|
|
|
|
The aa_gettaskcon function is like the aa_getcon function except it will work
|
|
for any arbitrary task in the system.
|
|
|
|
The aa_getpeercon function is similar to that of aa_gettaskcon except that
|
|
it returns the confinement information for task on the other end of a socket
|
|
connection.
|
|
|
|
The aa_getprocattr function is the backend for the aa_getcon and aa_gettaskcon
|
|
functions and handles the reading and parsing of the confinement data from
|
|
different arbitrary attr files and returns the processed results in
|
|
an allocated buffer.
|
|
|
|
The aa_getprocattr_raw() is the backend for the aa_getprocattr function and
|
|
does not handle buffer allocation.
|
|
|
|
=head1 RETURN VALUE
|
|
|
|
On success size of data placed in the buffer is returned, this includes the
|
|
mode if present and any terminating characters. On error, -1 is returned, and
|
|
errno(3) is set appropriately.
|
|
|
|
=head1 ERRORS
|
|
|
|
=over 4
|
|
|
|
=item B<EINVAL>
|
|
|
|
The apparmor kernel module is not loaded or the communication via the
|
|
F</proc/*/attr/file> did not conform to protocol.
|
|
|
|
=item B<ENOMEM>
|
|
|
|
Insufficient kernel memory was available.
|
|
|
|
=item B<EACCES>
|
|
|
|
Access to the specified I<file/task> was denied.
|
|
|
|
=item B<ENOENT>
|
|
|
|
The specified I<file/task> does not exist or is not visible.
|
|
|
|
=item B<ERANGE>
|
|
|
|
The confinement data is to large to fit in the supplied buffer.
|
|
|
|
=back
|
|
|
|
=head1 BUGS
|
|
|
|
None known. If you find any, please report them at
|
|
L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|
|
|
=head1 SEE ALSO
|
|
|
|
apparmor(7), apparmor.d(5), apparmor_parser(8), aa_change_profile(2) and
|
|
L<http://wiki.apparmor.net>.
|
|
|
|
=cut
|