mirror of
https://gitlab.com/apparmor/apparmor
synced 2025-08-22 10:07:12 +00:00
all: Use HTTPS links for apparmor.net
Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
This commit is contained in:
parent
73c11c73e6
commit
e32b4ba724
2
README
2
README
@ -17,7 +17,7 @@ library, available under the LGPL license, which allows change_hat(2)
|
|||||||
and change_profile(2) to be used by non-GPL binaries).
|
and change_profile(2) to be used by non-GPL binaries).
|
||||||
|
|
||||||
For more information, you can read the techdoc.pdf (available after
|
For more information, you can read the techdoc.pdf (available after
|
||||||
building the parser) and by visiting the http://apparmor.net/ web
|
building the parser) and by visiting the https://apparmor.net/ web
|
||||||
site.
|
site.
|
||||||
|
|
||||||
|
|
||||||
|
94
binutils/aa-enabled.pod
Normal file
94
binutils/aa-enabled.pod
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
# 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 adheres 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-enabled - test whether AppArmor is enabled
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
B<aa-enabled> [options]
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
B<aa-enabled> is used to determine if AppArmor is enabled.
|
||||||
|
|
||||||
|
=head1 OPTIONS
|
||||||
|
|
||||||
|
B<aa-enabled> accepts the following arguments:
|
||||||
|
|
||||||
|
=over 4
|
||||||
|
|
||||||
|
=item -h, --help
|
||||||
|
|
||||||
|
Display a brief usage guide.
|
||||||
|
|
||||||
|
=item -q, --quiet
|
||||||
|
|
||||||
|
Do not output anything to stdout. This option is intended to be used by
|
||||||
|
scripts that simply want to use the exit code to determine if AppArmor is
|
||||||
|
enabled.
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head1 EXIT STATUS
|
||||||
|
|
||||||
|
Upon exiting, B<aa-enabled> will set its exit status to the following values:
|
||||||
|
|
||||||
|
=over 4
|
||||||
|
|
||||||
|
=item 0:
|
||||||
|
|
||||||
|
if AppArmor is enabled.
|
||||||
|
|
||||||
|
=item 1:
|
||||||
|
|
||||||
|
if AppArmor is not enabled/loaded.
|
||||||
|
|
||||||
|
=item 2:
|
||||||
|
|
||||||
|
intentionally not used as an B<aa-enabled> exit status.
|
||||||
|
|
||||||
|
=item 3:
|
||||||
|
|
||||||
|
if the AppArmor control files aren't available under /sys/kernel/security/.
|
||||||
|
|
||||||
|
=item 4:
|
||||||
|
|
||||||
|
if B<aa-enabled> doesn't have enough privileges to read the apparmor control files.
|
||||||
|
|
||||||
|
=item 64:
|
||||||
|
|
||||||
|
if any unexpected error or condition is encountered.
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head1 BUGS
|
||||||
|
|
||||||
|
If you find any bugs, please report them at
|
||||||
|
L<https://bugs.launchpad.net/apparmor/+filebug>.
|
||||||
|
|
||||||
|
=head1 SEE ALSO
|
||||||
|
|
||||||
|
apparmor(7), apparmor.d(5), aa_is_enabled(2), and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
|
=cut
|
@ -140,6 +140,6 @@ them at L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), subdomain.conf(5), apparmor_parser(8), aa_change_hat(2) and
|
apparmor(7), subdomain.conf(5), apparmor_parser(8), aa_change_hat(2) and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -257,6 +257,6 @@ should be used.
|
|||||||
|
|
||||||
apparmor(7), apparmor.d(5), apparmor_parser(8), aa_change_profile(2),
|
apparmor(7), apparmor.d(5), apparmor_parser(8), aa_change_profile(2),
|
||||||
aa_getcon(2) and
|
aa_getcon(2) and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -204,6 +204,6 @@ separate processes should be used.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), apparmor.d(5), apparmor_parser(8), aa_change_hat(2) and
|
apparmor(7), apparmor.d(5), apparmor_parser(8), aa_change_hat(2) and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -143,6 +143,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
|
|
||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
openat(2) and L<http://wiki.apparmor.net>.
|
openat(2) and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -115,6 +115,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), apparmor.d(5), apparmor_parser(8), and
|
apparmor(7), apparmor.d(5), apparmor_parser(8), and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -132,6 +132,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), apparmor.d(5), apparmor_parser(8), aa_change_profile(2),
|
apparmor(7), apparmor.d(5), apparmor_parser(8), aa_change_profile(2),
|
||||||
aa_splitcon(3) and L<http://wiki.apparmor.net>.
|
aa_splitcon(3) and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -157,6 +157,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
|
|
||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
aa_features(3), openat(2) and L<http://wiki.apparmor.net>.
|
aa_features(3), openat(2) and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -120,6 +120,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
aa_features(3), aa_kernel_interface(3), openat(2) and
|
aa_features(3), aa_kernel_interface(3), openat(2) and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -132,6 +132,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), apparmor.d(5), apparmor_parser(8), aa_getcon(2), aa_splitcon(3)
|
apparmor(7), apparmor.d(5), apparmor_parser(8), aa_getcon(2), aa_splitcon(3)
|
||||||
and L<http://wiki.apparmor.net>.
|
and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -67,6 +67,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
|
|
||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
aa_getcon(2) and L<http://wiki.apparmor.net>.
|
aa_getcon(2) and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
221
libraries/libapparmor/doc/aa_stack_profile.pod
Normal file
221
libraries/libapparmor/doc/aa_stack_profile.pod
Normal file
@ -0,0 +1,221 @@
|
|||||||
|
# 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_stack_profile, aa_stack_onexec - combine multiple profiles to confine a task
|
||||||
|
|
||||||
|
=head1 SYNOPSIS
|
||||||
|
|
||||||
|
B<#include E<lt>sys/apparmor.hE<gt>>
|
||||||
|
|
||||||
|
B<int aa_stack_profile(const char *profile);>
|
||||||
|
|
||||||
|
B<int aa_stack_onexec(const char *profile);>
|
||||||
|
|
||||||
|
Link with B<-lapparmor> when compiling.
|
||||||
|
|
||||||
|
=head1 DESCRIPTION
|
||||||
|
|
||||||
|
AppArmor supports stacking two or more profiles when confining a task. The
|
||||||
|
result is an intersection of all profiles which are stacked. Stacking profiles
|
||||||
|
together is desirable when wanting to ensure that confinement will never become
|
||||||
|
more permissive. When changing between two profiles, as performed with
|
||||||
|
aa_change_profile(2), there is always the possibility that the new profile is
|
||||||
|
more permissive than the old profile but that possibility is eliminated when
|
||||||
|
using aa_stack_profile().
|
||||||
|
|
||||||
|
To stack a profile with the current confinement context, a task can use the
|
||||||
|
aa_stack_profile() function. The I<profile> parameter is a NUL-terminated
|
||||||
|
string indicating a profile name that should be stacked with the current
|
||||||
|
confinement.
|
||||||
|
|
||||||
|
Calling aa_stack_profile("profile_a") while unconfined is equivalent to calling
|
||||||
|
aa_change_profile("profile_a") since the intersection of unconfined and
|
||||||
|
"profile_a" is "profile_a". Calling aa_stack_profile("profile_b") while
|
||||||
|
confined by "profile_a" results in the task's confinement to be the
|
||||||
|
intersection of "profile_a" and "profile_b". The resulting confinement context
|
||||||
|
will be represented as "profile_a//&profile_b" in audit log messages, the
|
||||||
|
return value of aa_getcon(2), etc.
|
||||||
|
|
||||||
|
Confined programs wanting to use aa_stack_profile() need to have rules
|
||||||
|
permitting stacking the named profile. See apparmor.d(8) for details.
|
||||||
|
|
||||||
|
Open file descriptors may not be remediated after a call to aa_stack_profile()
|
||||||
|
so the calling program must close(2) open file descriptors to ensure they
|
||||||
|
are not available after calling aa_stack_profile().
|
||||||
|
|
||||||
|
The aa_stack_onexec() function is like the aa_stack_profile() function
|
||||||
|
except it specifies that the stacking should take place on the next exec
|
||||||
|
instead of immediately. The delayed profile change takes precedence over any
|
||||||
|
exec transition rules within the confining profile. Delaying the stacking
|
||||||
|
boundary has a couple of advantages, it removes the need for stub transition
|
||||||
|
profiles and the exec boundary is a natural security layer where potentially
|
||||||
|
sensitive memory is unmapped.
|
||||||
|
|
||||||
|
=head1 RETURN VALUE
|
||||||
|
|
||||||
|
On success zero is returned. On error, -1 is returned, and
|
||||||
|
errno(3) is set appropriately.
|
||||||
|
|
||||||
|
=head1 ERRORS
|
||||||
|
|
||||||
|
=over 4
|
||||||
|
|
||||||
|
=item B<EINVAL>
|
||||||
|
|
||||||
|
AppArmor is not loaded, neither a profile nor a namespace was specified,
|
||||||
|
or the communication via the F</proc/*/attr/current> file did not conform
|
||||||
|
to protocol.
|
||||||
|
|
||||||
|
=item B<ENOMEM>
|
||||||
|
|
||||||
|
Insufficient kernel memory was available.
|
||||||
|
|
||||||
|
=item B<ENOENT>
|
||||||
|
|
||||||
|
The specified profile does not exist, or is not visible from the current
|
||||||
|
namespace.
|
||||||
|
|
||||||
|
=back
|
||||||
|
|
||||||
|
=head1 NOTES
|
||||||
|
|
||||||
|
Using aa_stack_profile() and related libapparmor functions are the only way to
|
||||||
|
ensure compatibility between varying kernel versions. However, there may be
|
||||||
|
some situations where libapparmor is not available and directly interacting
|
||||||
|
with the AppArmor filesystem is required to stack a profile.
|
||||||
|
|
||||||
|
To immediately stack a profile named "profile_a", as performed with
|
||||||
|
aa_stack_profile("profile_a"), the equivalent of this shell command can be
|
||||||
|
used:
|
||||||
|
|
||||||
|
$ echo -n "stackprofile profile_a" > /proc/self/attr/current
|
||||||
|
|
||||||
|
To stack a profile named "profile_a" at the next exec, as performed with
|
||||||
|
aa_stack_onexec("profile_a"), the equivalent of this shell command can be used:
|
||||||
|
|
||||||
|
$ echo -n "stackexec profile_a" > /proc/self/attr/exec
|
||||||
|
|
||||||
|
These raw AppArmor filesystem operations must only be used when using
|
||||||
|
libapparmor is not a viable option.
|
||||||
|
|
||||||
|
=head1 EXAMPLE
|
||||||
|
|
||||||
|
The following example shows a simple, if contrived, use of
|
||||||
|
aa_stack_profile().
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/apparmor.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
|
||||||
|
static void read_passwd()
|
||||||
|
{
|
||||||
|
int fd;
|
||||||
|
char buf[10];
|
||||||
|
|
||||||
|
if ((fd=open("/etc/passwd", O_RDONLY)) < 0) {
|
||||||
|
perror("Failure opening /etc/passwd");
|
||||||
|
_exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Verify that we can read /etc/passwd */
|
||||||
|
memset(&buf, 0, 10);
|
||||||
|
if (read(fd, &buf, 10) == -1) {
|
||||||
|
perror("Failure reading /etc/passwd");
|
||||||
|
_exit(1);
|
||||||
|
}
|
||||||
|
buf[9] = '\0';
|
||||||
|
printf("/etc/passwd: %s\n", buf);
|
||||||
|
close(fd);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(int argc, char * argv[])
|
||||||
|
{
|
||||||
|
printf("Before aa_stack_profile():\n");
|
||||||
|
read_passwd();
|
||||||
|
|
||||||
|
/* stack the "i_cant_be_trusted_anymore" profile, which
|
||||||
|
* should not have read access to /etc/passwd. */
|
||||||
|
if (aa_stack_profile("i_cant_be_trusted_anymore") < 0) {
|
||||||
|
perror("Failure changing profile -- aborting");
|
||||||
|
_exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("After aa_stack_profile():\n");
|
||||||
|
read_passwd();
|
||||||
|
_exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
This code example requires a profile similar to the following to be loaded
|
||||||
|
with apparmor_parser(8):
|
||||||
|
|
||||||
|
# Confine stack_p to be able to read /etc/passwd and aa_stack_profile()
|
||||||
|
# to the 'i_cant_be_trusted_anymore' profile.
|
||||||
|
/tmp/stack_p {
|
||||||
|
/etc/ld.so.cache mr,
|
||||||
|
/lib/ld-*.so* mrix,
|
||||||
|
/lib/libc*.so* mr,
|
||||||
|
|
||||||
|
/etc/passwd r,
|
||||||
|
|
||||||
|
# Needed for aa_stack_profile()
|
||||||
|
/usr/lib/libapparmor*.so* mr,
|
||||||
|
/proc/[0-9]*/attr/current w,
|
||||||
|
}
|
||||||
|
|
||||||
|
As well as the profile to stack:
|
||||||
|
|
||||||
|
profile i_cant_be_trusted_anymore {
|
||||||
|
/etc/ld.so.cache mr,
|
||||||
|
/lib/ld-*.so* mrix,
|
||||||
|
/lib/libc*.so* mr,
|
||||||
|
}
|
||||||
|
|
||||||
|
The output when run:
|
||||||
|
|
||||||
|
$ /tmp/stack_p
|
||||||
|
Before aa_stack_profile():
|
||||||
|
/etc/passwd: root:x:0:
|
||||||
|
After aa_stack_profile():
|
||||||
|
Failure opening /etc/passwd: Permission denied
|
||||||
|
$
|
||||||
|
|
||||||
|
=head1 BUGS
|
||||||
|
|
||||||
|
None known. If you find any, please report them at
|
||||||
|
L<https://bugs.launchpad.net/apparmor/+filebug>. Note that using
|
||||||
|
aa_stack_profile(2) without execve(2) provides no memory barriers between
|
||||||
|
different areas of a program; if address space separation is required, then
|
||||||
|
separate processes should be used.
|
||||||
|
|
||||||
|
=head1 SEE ALSO
|
||||||
|
|
||||||
|
apparmor(7), apparmor.d(5), apparmor_parser(8), aa_change_profile(2),
|
||||||
|
aa_getcon(2) and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
|
=cut
|
@ -66,7 +66,7 @@ extern int aa_is_enabled(void);
|
|||||||
extern int aa_find_mountpoint(char **mnt);
|
extern int aa_find_mountpoint(char **mnt);
|
||||||
|
|
||||||
/* Prototypes for self directed domain transitions
|
/* Prototypes for self directed domain transitions
|
||||||
* see <http://apparmor.net>
|
* see <https://apparmor.net>
|
||||||
* Please see the change_hat(2) manpage for information.
|
* Please see the change_hat(2) manpage for information.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ setup(name = 'LibAppArmor',
|
|||||||
version = '@VERSION@',
|
version = '@VERSION@',
|
||||||
author = 'AppArmor Dev Team',
|
author = 'AppArmor Dev Team',
|
||||||
author_email = 'apparmor@lists.ubuntu.com',
|
author_email = 'apparmor@lists.ubuntu.com',
|
||||||
url = 'http://wiki.apparmor.net',
|
url = 'https://wiki.apparmor.net',
|
||||||
description = 'AppArmor python bindings',
|
description = 'AppArmor python bindings',
|
||||||
download_url = 'https://launchpad.net/apparmor/+download',
|
download_url = 'https://launchpad.net/apparmor/+download',
|
||||||
package_dir = {'LibAppArmor': '@srcdir@'},
|
package_dir = {'LibAppArmor': '@srcdir@'},
|
||||||
|
@ -2,7 +2,7 @@ The apparmor_parser allows you to add, replace, and remove AppArmor
|
|||||||
policy through the use of command line options. The default is to add.
|
policy through the use of command line options. The default is to add.
|
||||||
`apparmor_parser --help` shows what the command line options are.
|
`apparmor_parser --help` shows what the command line options are.
|
||||||
|
|
||||||
You can also find more information at http://wiki.apparmor.net
|
You can also find more information at https://wiki.apparmor.net
|
||||||
|
|
||||||
Please send all complaints, feature requests, rants about the software,
|
Please send all complaints, feature requests, rants about the software,
|
||||||
and questions to the apparmor@lists.ubuntu.com mailing list. Bug
|
and questions to the apparmor@lists.ubuntu.com mailing list. Bug
|
||||||
|
@ -1582,6 +1582,6 @@ negative values match when specifying one or the other. Eg, 'rw' matches when
|
|||||||
|
|
||||||
apparmor(7), apparmor_parser(8), aa-complain(1),
|
apparmor(7), apparmor_parser(8), aa-complain(1),
|
||||||
aa-enforce(1), aa_change_hat(2), mod_apparmor(5), and
|
aa-enforce(1), aa_change_hat(2), mod_apparmor(5), and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -165,6 +165,6 @@ apparmor_parser(8), aa_change_hat(2), apparmor.d(5),
|
|||||||
subdomain.conf(5), aa-autodep(1), clean(1),
|
subdomain.conf(5), aa-autodep(1), clean(1),
|
||||||
auditd(8),
|
auditd(8),
|
||||||
aa-unconfined(8), aa-enforce(1), aa-complain(1), and
|
aa-unconfined(8), aa-enforce(1), aa-complain(1), and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -353,6 +353,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), apparmor.d(5), subdomain.conf(5), aa_change_hat(2), and
|
apparmor(7), apparmor.d(5), subdomain.conf(5), aa_change_hat(2), and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -101,4 +101,4 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), apparmor_parser(8), and
|
apparmor(7), apparmor_parser(8), and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
@ -37,6 +37,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), apparmor.d(5), aa-enforce(1), aa-complain(1), aa-disable(1),
|
apparmor(7), apparmor.d(5), aa-enforce(1), aa-complain(1), aa-disable(1),
|
||||||
aa_change_hat(2), and L<http://wiki.apparmor.net>.
|
aa_change_hat(2), and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -61,6 +61,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), apparmor.d(5), aa-complain(1), aa-enforce(1), aa-disable(1),
|
apparmor(7), apparmor.d(5), aa-complain(1), aa-enforce(1), aa-disable(1),
|
||||||
aa_change_hat(2), and L<http://wiki.apparmor.net>.
|
aa_change_hat(2), and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -37,6 +37,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), apparmor.d(5), aa-enforce(1), aa-complain(1), aa-disable(1),
|
apparmor(7), apparmor.d(5), aa-enforce(1), aa-complain(1), aa-disable(1),
|
||||||
aa_change_hat(2), and L<http://wiki.apparmor.net>.
|
aa_change_hat(2), and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -54,6 +54,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), apparmor.d(5), aa-enforce(1), aa-disable(1),
|
apparmor(7), apparmor.d(5), aa-enforce(1), aa-disable(1),
|
||||||
aa_change_hat(2), and L<http://wiki.apparmor.net>.
|
aa_change_hat(2), and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -54,6 +54,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), apparmor.d(5), aa-enforce(1), aa-complain(1),
|
apparmor(7), apparmor.d(5), aa-enforce(1), aa-complain(1),
|
||||||
aa_change_hat(2), and L<http://wiki.apparmor.net>.
|
aa_change_hat(2), and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -56,6 +56,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), apparmor.d(5), aa-complain(1), aa-disable(1),
|
apparmor(7), apparmor.d(5), aa-complain(1), aa-disable(1),
|
||||||
aa_change_hat(2), and L<http://wiki.apparmor.net>.
|
aa_change_hat(2), and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -92,6 +92,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
aa-stack(8), aa-namespace(8), apparmor(7), apparmor.d(5), aa_change_profile(3),
|
aa-stack(8), aa-namespace(8), apparmor(7), apparmor.d(5), aa_change_profile(3),
|
||||||
aa_change_onexec(3) and L<http://wiki.apparmor.net>.
|
aa_change_onexec(3) and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -87,6 +87,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
|
|
||||||
apparmor(7), apparmor.d(5), aa-enforce(1), aa-complain(1), aa-disable(1),
|
apparmor(7), apparmor.d(5), aa-enforce(1), aa-complain(1), aa-disable(1),
|
||||||
aa_change_hat(2), aa-logprof(1), logprof.conf(5), and
|
aa_change_hat(2), aa-logprof(1), logprof.conf(5), and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -171,6 +171,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
|
|
||||||
klogd(8), auditd(8), apparmor(7), apparmor.d(5), aa_change_hat(2),
|
klogd(8), auditd(8), apparmor(7), apparmor.d(5), aa_change_hat(2),
|
||||||
logprof.conf(5), aa-genprof(1), aa-enforce(1), aa-complain(1),
|
logprof.conf(5), aa-genprof(1), aa-enforce(1), aa-complain(1),
|
||||||
aa-disable(1), and L<http://wiki.apparmor.net>.
|
aa-disable(1), and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -32,6 +32,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
|
|
||||||
apparmor(7), apparmor.d(5), aa_change_hat(2), aa-genprof(1),
|
apparmor(7), apparmor.d(5), aa_change_hat(2), aa-genprof(1),
|
||||||
aa-logprof(1), aa-enforce(1), aa-audit(1), aa-complain(1),
|
aa-logprof(1), aa-enforce(1), aa-audit(1), aa-complain(1),
|
||||||
aa-disable(1), and L<http://wiki.apparmor.net>.
|
aa-disable(1), and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -121,6 +121,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
apparmor(7), apparmor.d(5), and
|
apparmor(7), apparmor.d(5), and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -58,7 +58,7 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
|
|
||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
netstat(8), apparmor(7), apparmor.d(5), aa_change_hat(2), and
|
ss(8), netstat(8), apparmor(7), apparmor.d(5), aa_change_hat(2), and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -109,6 +109,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
|
|
||||||
apparmor(7), apparmor.d(5), aa-enforce(1), aa-complain(1),
|
apparmor(7), apparmor.d(5), aa-enforce(1), aa-complain(1),
|
||||||
aa-disable(1), aa_change_hat(2), aa-logprof(1), aa-genprof(1), and
|
aa-disable(1), aa_change_hat(2), aa-logprof(1), aa-genprof(1), and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
@ -24,3 +24,14 @@ COMMONDIR=../../common
|
|||||||
include $(COMMONDIR)/Make-po.rules
|
include $(COMMONDIR)/Make-po.rules
|
||||||
|
|
||||||
XGETTEXT_ARGS+=--language=perl --language=python
|
XGETTEXT_ARGS+=--language=perl --language=python
|
||||||
|
|
||||||
|
=head1 BUGS
|
||||||
|
|
||||||
|
If you find any bugs, please report them at
|
||||||
|
L<https://bugs.launchpad.net/apparmor/+filebug>.
|
||||||
|
|
||||||
|
=head1 SEE ALSO
|
||||||
|
|
||||||
|
apparmor(7), apparmor.d(5), and L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
@ -53,6 +53,6 @@ L<https://bugs.launchpad.net/apparmor/+filebug>.
|
|||||||
=head1 SEE ALSO
|
=head1 SEE ALSO
|
||||||
|
|
||||||
vim(1), apparmor(7), apparmor.d(5), aa_change_hat(2), and
|
vim(1), apparmor(7), apparmor.d(5), aa_change_hat(2), and
|
||||||
L<http://wiki.apparmor.net>.
|
L<https://wiki.apparmor.net>.
|
||||||
|
|
||||||
=cut
|
=cut
|
||||||
|
Loading…
x
Reference in New Issue
Block a user