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

news/2024/4/24 20:43:16/

在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_apparmorpenghao@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.so2 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└── apparmor183 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└── apparmor184 directories, 269 files


http://www.ppmy.cn/news/47535.html

相关文章

驼峰式匹配

问题: 如果我们可以将小写字母插入模式串 pattern 得到待查询项 query,那么待查询项与给定模式串匹配。(我们可以在任何位置插入每个字符,也可以插入 0 个字符。) 给定待查询列表 queries,和模式串 patte…

浅析linux驱动中uImage,zImage,bootz,bootm

1 uImage和zImage uImage和zImage都是Linux内核启动时可能使用到的镜像格式 1.1 uImage uImage是一种包含压缩和非压缩内核镜像的格式,它能够根据实际情况选择合适的解压缩方式。它通常用于在嵌入式系统中,通过bootloader从存储介质中加载内核镜像。 …

自适应模糊PID控制算法

一、自适应模糊PID控制 自适应模糊PID控制将模糊控制与传统PID控制相结合,将两种控制方式进行结合,取长补短,对传统的算法进行优化,形成一种新的控制算法,自适应模糊PID控制可以用于很多场景,比如温度控制&…

React Hooks基础

React Hooks基础 React Hooks 介绍React Hooks 基础 React Hooks 介绍 Hooks 是什么为什么要有 Hooks Hooks 是什么 Hooks:钩子、钓钩、钩住Hooks 是 React v16.8 中的新增功能作用:为函数组件提供状态、生命周期等原本 class 组件中提供的 React 功…

CT前瞻(三):Adobe系列XD软件绘制简单的原型图与交互设计

文章目录 📋前言🎯关于原型图绘制🎯XD绘制原型图与交互设计🎯关于XD软件其他功能📝最后 📋前言 Adobe XD是一个协作式易用平台,可帮助团队为网站、移动应用程序、语音界面、游戏等创建设计。还…

浙大数据结构网课第一周入门

题目详情 Given a sequence of K integers { N1​, N2​, ..., NK​ }. A continuous subsequence is defined to be { Ni​, Ni1​, ..., Nj​ } where 1≤i≤j≤K. The Maximum Subsequence is the continuous subsequence which has the largest sum of its elements. For …

SSH连接本地centerOS系统配置

SSH连接本地linux系统 前提:安装好centerOS系统并能启动 目标:连通外网并设置SSH 1.网卡配置文件路径 打开linux本地终端 快捷键一般是ctrlaltf2(f1~f3) 这里是管理员登录,密码是隐藏式的输入(输入看不见) 这样就显示成功登录了! 下面查…

屏幕亮度调节工具:Simple Screen Shade Mac

Simple Screen Shade Mac版是mac上一款优秀的屏幕颜色亮度调节工具,能够让我们Mac电脑的显示器背景变暗,这样可以保护你眼睛的健康并保持舒适。Simple Screen Shade 旨在实现最大程度的简单性和易用性。你可以设置灰色背景以减轻明亮鲜艳的色彩&#xff…

Pandas入门实践2 -数据处理

为了准备数据进行分析,我们需要执行数据处理。在本节中,我们将学习如何清理和重新格式化数据(例如,重命名列和修复数据类型不匹配)、对其进行重构/整形,以及对其进行丰富(例如,离散化…

Laravel使用JWT

开始安装jwt (本次安装不建议直接在项目中安装及使用) 1.composer 安装jwt composer require tymon/jwt-auth 1.0.0-rc.1 2.在config 文件夹的app.php 中注册服务提供者 providers > [Tymon\JWTAuth\Providers\LaravelServiceProvider::class, ]…

使用计算机视觉实战项目精通 OpenCV:6~8

原文:Mastering OpenCV with Practical Computer Vision Projects 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 计算机视觉 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 当别人说你没有底线…

01、Cadence使用记录之新建工程与基础操作(原理图绘制:OrCAD Capture CIS)

01、Cadence使用记录之新建工程与基础操作(原理图绘制:OrCAD Capture CIS) 硕士学电磁场去了,写点博客记录下学习过程。 参考的教程是B站的视频:allegro软件入门视频教程全集100讲 本科的时候就对Cadence有所耳闻&am…

docker问题集锦

1.http: server gave HTTP response to HTTPS client sudo vim /etc/docker/daemon.json 添加{“insecure-registries”: [“ip:端口”]} sudo service docker restart 无效 sudo vim /lib/systemd/system/docker.service 在ExecStart最后添加 --insecure-registry ip:端口 sud…

GDB调试实验

一、实验准备 在 Linux 环境软件开发中,GDB 是调试 C 和 C 程序的主要工具。本次实验围绕着GDB常用的调试操作进行。 1、设置断点的意义 当我们想查看变量内容,堆栈情况等等,可以指定断点。程序执行到断点处会暂停执行。break 命令用来设置…

亚马逊、ebay、temu如何提升产品点击率?测评自养号解析

产品点击率对于店铺销售额的影响至关重要,尤其是在竞争越来越激烈的市场环境中,想要有销量和转化,提高产品listing点击率成为了非常关键的一环。 1. 产品主图 顾客浏览产品时,第一眼看到的就是主图,一张优质的主图更容…

什么是MVVM?

MVVM 是 Model-View-ViewModel 的缩写,是M-V-VM三部分组成。它本质上就是MVC的改进版。 M:Model 代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。 V:View 代表视图UI,它负责将数据模型转化成UI 展现出来。…

材料科学基础学习指导-吕宇鹏-名词和术语解释-第5章:相图

目录 第一部分 第二部分​​​​​​​ 第三部分 第四部分​ 第一部分 1.1组元:是材料科学中的基本术语。意思是组成合金的独立的、最基本的单元。 1.2相: 指合金中具有同一聚集状态、同一晶体结构和性质并以界面相互隔开的均匀组成部分。​​​​…

api数据接口文档_接口文档示例(Taobao/jd/pinduoduo/开放接口调用)

api数据接口文档_接口文档示例 本文主要是提供了一个接口文档的范文,内容修订历史、目录、时序图、接口要素描述、接口说明、使用示例、字典、FAQ。 使用MD格式文档(makedown),选择原因,容易格式转换,开发…

LeetCode238. 除自身以外数组的乘积

238. 除自身以外数组的乘积 描述示例解题思路解法1(最最暴力求解,但不符合要求)解法2(暴力求解,也不符合要求,但时间复杂度O(N))解法3(最优解,符合题意,时间复杂度O(N)) 描述 给你一个整数数组 nums&#…

Linux的.serivice文件介绍

一、什么是.service文件? linux中.servic文件是服务的配置文件,通过systemctl进行操作。存放位置:/usr/lib/systemd/system 二、配置说明 通常在,service配置文件中包含三个部分,分别为: 一、[Unit]:控制部…