PAM AppArmor非默认目录构建和安装

AppArmor零知识学习十二、源码构建(9)中,详细介绍了PAM AppArmor的构建步骤,但那完全使用的是官网给出的默认参数。如果需要将目标文件生成到指定目录而非默认的/usr,则需要进行一些修改,本文就来详述如何进行修改。

必须说明以下两点:

(1)PAM AppArmor的构建必须在前述步骤(配置环境变量和libapparmor构建)的基础上才能进行。关于这两个步骤,请参阅:AppArmor零知识学习四、源码构建(1)AppArmor零知识学习五、源码构建(2)

(2)前文libapparmor非默认目录构建和安装中的步骤是为了制作包时使用,由于其没有将目标文件放到/usr/local下,因此实际上并没有起作用。真正起作用的是之前按照默认参数构建的libapparmor相关组件。

接下来,开始PAM AppArmor自定义安装目录的构建和安装。

(1)进入changehat/pam_apparmor目录

通过cd命令进入apparmor源码根目录下的changehat/pam_apparmor目录。实际命令及结果如下:

penghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor$ cd changehat/pam_apparmor/
penghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor/changehat/pam_apparmor$ pwd
/home/penghao/AppArmor/apparmor_2/apparmor/changehat/pam_apparmor

penghao@Ding-Perlis-MP260S48:~/AppArmor/apparmor_2/apparmor/changehat/pam_apparmor$ ls
COPYING  get_options.c  Makefile  pam_apparmor.c  pam_apparmor.changes  pam_apparmor.h  README

(2)编译

运行make命令进行编译。实际命令及结果如下:

$ make
cc   -fPIC -shared -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -I../../libraries/libapparmor//include -c -o pam_apparmor.o pam_apparmor.c
cc   -fPIC -shared -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -I../../libraries/libapparmor//include -c -o get_options.o get_options.c
cc   -fPIC -shared -Wall -Wall -Wsign-compare -Wmissing-field-initializers -Wformat -Wformat-security -Wunused-parameter -Wimplicit-fallthrough -I../../libraries/libapparmor//include -Xlinker -x -L../../libraries/libapparmor//src/.libs/  -o pam_apparmor.so pam_apparmor.o get_options.o -lpam -lapparmor

(3)安装 

运行make install命令进行安装。实际命令及结果如下(注意DESTDIR=的参数):

$ make install DESTDIR=/home/penghao/AppArmor/apparmor_2/output2
install -m 755 -d /home/penghao/AppArmor/apparmor_2/output2/lib/security
install -m 755 pam_apparmor.so /home/penghao/AppArmor/apparmor_2/output2/lib/security/

(4)查看生成内容

查看一下通过make DESTDIR=/home/penghao/AppArmor/apparmor_2/output2配置后实际的生成文件及路径:

$ tree ../../../output2
../../../output2
└── lib
    └── security
        └── pam_apparmor.so

2 directories, 1 file

这里将生成目标放到了output2文件夹下,是为了看清楚PAM AppArmor都生成了哪些内容。最终还是要安装到之前的output目录下。

更换DESTDIR=参数后再次进行安装,实际命令及结果如下:

$ make install DESTDIR=/home/penghao/AppArmor/apparmor_2/output
install -m 755 -d /home/penghao/AppArmor/apparmor_2/output/lib/security
install -m 755 pam_apparmor.so /home/penghao/AppArmor/apparmor_2/output/lib/security/

对比一下output在安装PAM AppArmor前后的变化:

安装前

$ tree ../../../output
../../../output
├── etc
│   └── apparmor
│       ├── easyprof.conf
│       ├── logprof.conf
│       ├── notify.conf
│       ├── parser.conf
│       └── severity.db
├── lib
│   └── apparmor
│       ├── profile-load
│       └── rc.apparmor.functions
├── sbin
│   └── apparmor_parser
├── usr
│   ├── bin
│   │   ├── aa-easyprof
│   │   ├── aa-enabled
│   │   ├── aa-exec
│   │   └── aa-features-abi
│   ├── lib
│   │   └── python3.10
│   │       └── site-packages
│   │           ├── apparmor
│   │           │   ├── aa.py
│   │           │   ├── aare.py
│   │           │   ├── cleanprofile.py
│   │           │   ├── common.py
│   │           │   ├── config.py
│   │           │   ├── easyprof.py
│   │           │   ├── fail.py
│   │           │   ├── __init__.py
│   │           │   ├── logparser.py
│   │           │   ├── notify.py
│   │           │   ├── profile_list.py
│   │           │   ├── profile_storage.py
│   │           │   ├── __pycache__
│   │           │   │   ├── aa.cpython-310.pyc
│   │           │   │   ├── aare.cpython-310.pyc
│   │           │   │   ├── cleanprofile.cpython-310.pyc
│   │           │   │   ├── common.cpython-310.pyc
│   │           │   │   ├── config.cpython-310.pyc
│   │           │   │   ├── easyprof.cpython-310.pyc
│   │           │   │   ├── fail.cpython-310.pyc
│   │           │   │   ├── __init__.cpython-310.pyc
│   │           │   │   ├── logparser.cpython-310.pyc
│   │           │   │   ├── notify.cpython-310.pyc
│   │           │   │   ├── profile_list.cpython-310.pyc
│   │           │   │   ├── profile_storage.cpython-310.pyc
│   │           │   │   ├── regex.cpython-310.pyc
│   │           │   │   ├── rules.cpython-310.pyc
│   │           │   │   ├── sandbox.cpython-310.pyc
│   │           │   │   ├── severity.cpython-310.pyc
│   │           │   │   ├── tools.cpython-310.pyc
│   │           │   │   ├── translations.cpython-310.pyc
│   │           │   │   └── ui.cpython-310.pyc
│   │           │   ├── regex.py
│   │           │   ├── rule
│   │           │   │   ├── abi.py
│   │           │   │   ├── alias.py
│   │           │   │   ├── boolean.py
│   │           │   │   ├── capability.py
│   │           │   │   ├── change_profile.py
│   │           │   │   ├── dbus.py
│   │           │   │   ├── file.py
│   │           │   │   ├── include.py
│   │           │   │   ├── __init__.py
│   │           │   │   ├── mqueue.py
│   │           │   │   ├── network.py
│   │           │   │   ├── ptrace.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── abi.cpython-310.pyc
│   │           │   │   │   ├── alias.cpython-310.pyc
│   │           │   │   │   ├── boolean.cpython-310.pyc
│   │           │   │   │   ├── capability.cpython-310.pyc
│   │           │   │   │   ├── change_profile.cpython-310.pyc
│   │           │   │   │   ├── dbus.cpython-310.pyc
│   │           │   │   │   ├── file.cpython-310.pyc
│   │           │   │   │   ├── include.cpython-310.pyc
│   │           │   │   │   ├── __init__.cpython-310.pyc
│   │           │   │   │   ├── mqueue.cpython-310.pyc
│   │           │   │   │   ├── network.cpython-310.pyc
│   │           │   │   │   ├── ptrace.cpython-310.pyc
│   │           │   │   │   ├── rlimit.cpython-310.pyc
│   │           │   │   │   ├── signal.cpython-310.pyc
│   │           │   │   │   ├── userns.cpython-310.pyc
│   │           │   │   │   └── variable.cpython-310.pyc
│   │           │   │   ├── rlimit.py
│   │           │   │   ├── signal.py
│   │           │   │   ├── userns.py
│   │           │   │   └── variable.py
│   │           │   ├── rules.py
│   │           │   ├── sandbox.py
│   │           │   ├── severity.py
│   │           │   ├── tools.py
│   │           │   ├── translations.py
│   │           │   └── ui.py
│   │           └── apparmor-3.1.0-py3.10.egg-info
│   │               ├── dependency_links.txt
│   │               ├── PKG-INFO
│   │               ├── SOURCES.txt
│   │               └── top_level.txt
│   ├── local
│   │   ├── include
│   │   │   ├── aalogparse
│   │   │   │   └── aalogparse.h
│   │   │   └── sys
│   │   │       ├── apparmor.h
│   │   │       └── apparmor_private.h
│   │   ├── lib
│   │   │   ├── libapparmor.a
│   │   │   ├── libapparmor.la
│   │   │   ├── libapparmor.so -> libapparmor.so.1.12.2
│   │   │   ├── libapparmor.so.1 -> libapparmor.so.1.12.2
│   │   │   ├── libapparmor.so.1.12.2
│   │   │   ├── perl5
│   │   │   │   └── 5.36
│   │   │   │       ├── core_perl
│   │   │   │       │   └── perllocal.pod
│   │   │   │       └── vendor_perl
│   │   │   │           ├── auto
│   │   │   │           │   └── LibAppArmor
│   │   │   │           │       └── LibAppArmor.so
│   │   │   │           └── LibAppArmor.pm
│   │   │   ├── pkgconfig
│   │   │   │   └── libapparmor.pc
│   │   │   └── python3.10
│   │   │       └── site-packages
│   │   │           ├── LibAppArmor
│   │   │           │   ├── __init__.py
│   │   │           │   ├── _LibAppArmor.cpython-310-x86_64-linux-gnu.so
│   │   │           │   ├── LibAppArmor.py
│   │   │           │   └── __pycache__
│   │   │           │       ├── __init__.cpython-310.pyc
│   │   │           │       └── LibAppArmor.cpython-310.pyc
│   │   │           └── LibAppArmor-3.1.0-py3.10.egg-info
│   │   │               ├── dependency_links.txt
│   │   │               ├── PKG-INFO
│   │   │               ├── SOURCES.txt
│   │   │               └── top_level.txt
│   │   └── share
│   │       └── man
│   │           ├── man2
│   │           │   ├── aa_change_hat.2
│   │           │   ├── aa_change_profile.2
│   │           │   ├── aa_find_mountpoint.2
│   │           │   ├── aa_getcon.2
│   │           │   ├── aa_query_label.2
│   │           │   └── aa_stack_profile.2
│   │           └── man3
│   │               ├── aa_features.3
│   │               ├── aa_kernel_interface.3
│   │               ├── aa_policy_cache.3
│   │               └── aa_splitcon.3
│   ├── sbin
│   │   ├── aa-audit
│   │   ├── aa-autodep
│   │   ├── aa-cleanprof
│   │   ├── aa-complain
│   │   ├── aa-decode
│   │   ├── aa-disable
│   │   ├── aa-enforce
│   │   ├── aa-genprof
│   │   ├── aa-logprof
│   │   ├── aa-mergeprof
│   │   ├── aa-notify
│   │   ├── aa-remove-unknown
│   │   ├── aa-status
│   │   ├── aa-unconfined
│   │   └── apparmor_status -> aa-status
│   └── share
│       ├── apparmor
│       │   ├── apparmor.vim
│       │   └── easyprof
│       │       ├── policygroups
│       │       │   ├── opt-application
│       │       │   └── user-application
│       │       └── templates
│       │           ├── default
│       │           ├── sandbox
│       │           ├── sandbox-x
│       │           └── user-application
│       ├── locale
│       │   ├── af
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── ar
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── be
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-utils.mo
│       │   ├── bg
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── bn
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── bo
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── bs
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── ca
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── ce
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── cs
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── cy
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── da
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── de
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── el
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── en_AU
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── en_CA
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── en_GB
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── es
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── et
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── fa
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── fi
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       └── apparmor-parser.mo
│       │   ├── fr
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── gl
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── gu
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── he
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── hi
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── hr
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── hu
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── id
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── it
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── ja
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── ka
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── km
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── ko
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── lo
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── lt
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── mk
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── mr
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── ms
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── nb
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── nl
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── oc
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── pa
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── pl
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── pt
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── pt_BR
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── ro
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── ru
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── si
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── sk
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── sl
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── sq
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── sr
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── sv
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── sw
│       │   │   └── LC_MESSAGES
│       │   │       └── aa-binutils.mo
│       │   ├── ta
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── th
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── tr
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── ug
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── uk
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── vi
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── wa
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── xh
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── zh_CN
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── zh_TW
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   └── zu
│       │       └── LC_MESSAGES
│       │           └── apparmor-parser.mo
│       └── man
│           ├── man1
│           │   ├── aa-enabled.1
│           │   ├── aa-exec.1
│           │   └── aa-features-abi.1
│           ├── man5
│           │   ├── apparmor.d.5
│           │   ├── apparmor.vim.5
│           │   └── logprof.conf.5
│           ├── man7
│           │   ├── apparmor.7
│           │   └── apparmor_xattrs.7
│           └── man8
│               ├── aa-audit.8
│               ├── aa-autodep.8
│               ├── aa-cleanprof.8
│               ├── aa-complain.8
│               ├── aa-decode.8
│               ├── aa-disable.8
│               ├── aa-easyprof.8
│               ├── aa-enforce.8
│               ├── aa-genprof.8
│               ├── aa-logprof.8
│               ├── aa-mergeprof.8
│               ├── aa-notify.8
│               ├── aa-remove-unknown.8
│               ├── aa-status.8
│               ├── aa-teardown.8
│               ├── aa-unconfined.8
│               ├── apparmor_parser.8
│               └── apparmor_status.8 -> aa-status.8
└── var
    └── lib
        └── apparmor

183 directories, 268 files

安装后

$ tree ../../../output
../../../output
├── etc
│   └── apparmor
│       ├── easyprof.conf
│       ├── logprof.conf
│       ├── notify.conf
│       ├── parser.conf
│       └── severity.db
├── lib
│   ├── apparmor
│   │   ├── profile-load
│   │   └── rc.apparmor.functions
│   └── security
│       └── pam_apparmor.so
├── sbin
│   └── apparmor_parser
├── usr
│   ├── bin
│   │   ├── aa-easyprof
│   │   ├── aa-enabled
│   │   ├── aa-exec
│   │   └── aa-features-abi
│   ├── lib
│   │   └── python3.10
│   │       └── site-packages
│   │           ├── apparmor
│   │           │   ├── aa.py
│   │           │   ├── aare.py
│   │           │   ├── cleanprofile.py
│   │           │   ├── common.py
│   │           │   ├── config.py
│   │           │   ├── easyprof.py
│   │           │   ├── fail.py
│   │           │   ├── __init__.py
│   │           │   ├── logparser.py
│   │           │   ├── notify.py
│   │           │   ├── profile_list.py
│   │           │   ├── profile_storage.py
│   │           │   ├── __pycache__
│   │           │   │   ├── aa.cpython-310.pyc
│   │           │   │   ├── aare.cpython-310.pyc
│   │           │   │   ├── cleanprofile.cpython-310.pyc
│   │           │   │   ├── common.cpython-310.pyc
│   │           │   │   ├── config.cpython-310.pyc
│   │           │   │   ├── easyprof.cpython-310.pyc
│   │           │   │   ├── fail.cpython-310.pyc
│   │           │   │   ├── __init__.cpython-310.pyc
│   │           │   │   ├── logparser.cpython-310.pyc
│   │           │   │   ├── notify.cpython-310.pyc
│   │           │   │   ├── profile_list.cpython-310.pyc
│   │           │   │   ├── profile_storage.cpython-310.pyc
│   │           │   │   ├── regex.cpython-310.pyc
│   │           │   │   ├── rules.cpython-310.pyc
│   │           │   │   ├── sandbox.cpython-310.pyc
│   │           │   │   ├── severity.cpython-310.pyc
│   │           │   │   ├── tools.cpython-310.pyc
│   │           │   │   ├── translations.cpython-310.pyc
│   │           │   │   └── ui.cpython-310.pyc
│   │           │   ├── regex.py
│   │           │   ├── rule
│   │           │   │   ├── abi.py
│   │           │   │   ├── alias.py
│   │           │   │   ├── boolean.py
│   │           │   │   ├── capability.py
│   │           │   │   ├── change_profile.py
│   │           │   │   ├── dbus.py
│   │           │   │   ├── file.py
│   │           │   │   ├── include.py
│   │           │   │   ├── __init__.py
│   │           │   │   ├── mqueue.py
│   │           │   │   ├── network.py
│   │           │   │   ├── ptrace.py
│   │           │   │   ├── __pycache__
│   │           │   │   │   ├── abi.cpython-310.pyc
│   │           │   │   │   ├── alias.cpython-310.pyc
│   │           │   │   │   ├── boolean.cpython-310.pyc
│   │           │   │   │   ├── capability.cpython-310.pyc
│   │           │   │   │   ├── change_profile.cpython-310.pyc
│   │           │   │   │   ├── dbus.cpython-310.pyc
│   │           │   │   │   ├── file.cpython-310.pyc
│   │           │   │   │   ├── include.cpython-310.pyc
│   │           │   │   │   ├── __init__.cpython-310.pyc
│   │           │   │   │   ├── mqueue.cpython-310.pyc
│   │           │   │   │   ├── network.cpython-310.pyc
│   │           │   │   │   ├── ptrace.cpython-310.pyc
│   │           │   │   │   ├── rlimit.cpython-310.pyc
│   │           │   │   │   ├── signal.cpython-310.pyc
│   │           │   │   │   ├── userns.cpython-310.pyc
│   │           │   │   │   └── variable.cpython-310.pyc
│   │           │   │   ├── rlimit.py
│   │           │   │   ├── signal.py
│   │           │   │   ├── userns.py
│   │           │   │   └── variable.py
│   │           │   ├── rules.py
│   │           │   ├── sandbox.py
│   │           │   ├── severity.py
│   │           │   ├── tools.py
│   │           │   ├── translations.py
│   │           │   └── ui.py
│   │           └── apparmor-3.1.0-py3.10.egg-info
│   │               ├── dependency_links.txt
│   │               ├── PKG-INFO
│   │               ├── SOURCES.txt
│   │               └── top_level.txt
│   ├── local
│   │   ├── include
│   │   │   ├── aalogparse
│   │   │   │   └── aalogparse.h
│   │   │   └── sys
│   │   │       ├── apparmor.h
│   │   │       └── apparmor_private.h
│   │   ├── lib
│   │   │   ├── libapparmor.a
│   │   │   ├── libapparmor.la
│   │   │   ├── libapparmor.so -> libapparmor.so.1.12.2
│   │   │   ├── libapparmor.so.1 -> libapparmor.so.1.12.2
│   │   │   ├── libapparmor.so.1.12.2
│   │   │   ├── perl5
│   │   │   │   └── 5.36
│   │   │   │       ├── core_perl
│   │   │   │       │   └── perllocal.pod
│   │   │   │       └── vendor_perl
│   │   │   │           ├── auto
│   │   │   │           │   └── LibAppArmor
│   │   │   │           │       └── LibAppArmor.so
│   │   │   │           └── LibAppArmor.pm
│   │   │   ├── pkgconfig
│   │   │   │   └── libapparmor.pc
│   │   │   └── python3.10
│   │   │       └── site-packages
│   │   │           ├── LibAppArmor
│   │   │           │   ├── __init__.py
│   │   │           │   ├── _LibAppArmor.cpython-310-x86_64-linux-gnu.so
│   │   │           │   ├── LibAppArmor.py
│   │   │           │   └── __pycache__
│   │   │           │       ├── __init__.cpython-310.pyc
│   │   │           │       └── LibAppArmor.cpython-310.pyc
│   │   │           └── LibAppArmor-3.1.0-py3.10.egg-info
│   │   │               ├── dependency_links.txt
│   │   │               ├── PKG-INFO
│   │   │               ├── SOURCES.txt
│   │   │               └── top_level.txt
│   │   └── share
│   │       └── man
│   │           ├── man2
│   │           │   ├── aa_change_hat.2
│   │           │   ├── aa_change_profile.2
│   │           │   ├── aa_find_mountpoint.2
│   │           │   ├── aa_getcon.2
│   │           │   ├── aa_query_label.2
│   │           │   └── aa_stack_profile.2
│   │           └── man3
│   │               ├── aa_features.3
│   │               ├── aa_kernel_interface.3
│   │               ├── aa_policy_cache.3
│   │               └── aa_splitcon.3
│   ├── sbin
│   │   ├── aa-audit
│   │   ├── aa-autodep
│   │   ├── aa-cleanprof
│   │   ├── aa-complain
│   │   ├── aa-decode
│   │   ├── aa-disable
│   │   ├── aa-enforce
│   │   ├── aa-genprof
│   │   ├── aa-logprof
│   │   ├── aa-mergeprof
│   │   ├── aa-notify
│   │   ├── aa-remove-unknown
│   │   ├── aa-status
│   │   ├── aa-unconfined
│   │   └── apparmor_status -> aa-status
│   └── share
│       ├── apparmor
│       │   ├── apparmor.vim
│       │   └── easyprof
│       │       ├── policygroups
│       │       │   ├── opt-application
│       │       │   └── user-application
│       │       └── templates
│       │           ├── default
│       │           ├── sandbox
│       │           ├── sandbox-x
│       │           └── user-application
│       ├── locale
│       │   ├── af
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── ar
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── be
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-utils.mo
│       │   ├── bg
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── bn
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── bo
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── bs
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── ca
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── ce
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── cs
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── cy
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── da
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── de
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── el
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── en_AU
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── en_CA
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── en_GB
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── es
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── et
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── fa
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── fi
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       └── apparmor-parser.mo
│       │   ├── fr
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── gl
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── gu
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── he
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── hi
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── hr
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── hu
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── id
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── it
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── ja
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── ka
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── km
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── ko
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── lo
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── lt
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── mk
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── mr
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── ms
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── nb
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── nl
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── oc
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── pa
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── pl
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── pt
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── pt_BR
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── ro
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── ru
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── si
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── sk
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── sl
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── sq
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── sr
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── sv
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── sw
│       │   │   └── LC_MESSAGES
│       │   │       └── aa-binutils.mo
│       │   ├── ta
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── th
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── tr
│       │   │   └── LC_MESSAGES
│       │   │       ├── aa-binutils.mo
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── ug
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── uk
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── vi
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── wa
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── xh
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   ├── zh_CN
│       │   │   └── LC_MESSAGES
│       │   │       ├── apparmor-parser.mo
│       │   │       └── apparmor-utils.mo
│       │   ├── zh_TW
│       │   │   └── LC_MESSAGES
│       │   │       └── apparmor-parser.mo
│       │   └── zu
│       │       └── LC_MESSAGES
│       │           └── apparmor-parser.mo
│       └── man
│           ├── man1
│           │   ├── aa-enabled.1
│           │   ├── aa-exec.1
│           │   └── aa-features-abi.1
│           ├── man5
│           │   ├── apparmor.d.5
│           │   ├── apparmor.vim.5
│           │   └── logprof.conf.5
│           ├── man7
│           │   ├── apparmor.7
│           │   └── apparmor_xattrs.7
│           └── man8
│               ├── aa-audit.8
│               ├── aa-autodep.8
│               ├── aa-cleanprof.8
│               ├── aa-complain.8
│               ├── aa-decode.8
│               ├── aa-disable.8
│               ├── aa-easyprof.8
│               ├── aa-enforce.8
│               ├── aa-genprof.8
│               ├── aa-logprof.8
│               ├── aa-mergeprof.8
│               ├── aa-notify.8
│               ├── aa-remove-unknown.8
│               ├── aa-status.8
│               ├── aa-teardown.8
│               ├── aa-unconfined.8
│               ├── apparmor_parser.8
│               └── apparmor_status.8 -> aa-status.8
└── var
    └── lib
        └── apparmor

184 directories, 269 files

猜你喜欢

转载自blog.csdn.net/phmatthaus/article/details/130293740
pam