Bug 924696
| Summary: | sepolicy generate: some generated setup scripts fail | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Michal Trunecka <mtruneck> | ||||
| Component: | policycoreutils | Assignee: | Miroslav Grepl <mgrepl> | ||||
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Michal Trunecka <mtruneck> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | unspecified | ||||||
| Version: | 7.1 | CC: | dwalsh, ebenes, mgrepl, mmalik | ||||
| Target Milestone: | rc | ||||||
| Target Release: | --- | ||||||
| Hardware: | All | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Fixed In Version: | Doc Type: | Bug Fix | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | 2014-06-13 11:46:47 UTC | Type: | Bug | ||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 917049 | ||||||
| Attachments: |
|
||||||
|
Description
Michal Trunecka
2013-03-22 10:54:08 UTC
Yes, you are right. The question is how to handle it. Maybe we don't want to generate a man page if we declare --customize option. Created attachment 747558 [details]
policycoreutils-generate_man.patch
Something like the attached patch.
Ok, it works, but it fails afterwards when making rpm. Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.F5deoW + umask 022 + cd /root/policycoreutils/Sanity/sepolicy-generate/test + install -d /root/policycoreutils/Sanity/sepolicy-generate/test/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/packages + install -m 644 /root/policycoreutils/Sanity/sepolicy-generate/test/testpolicy.pp /root/policycoreutils/Sanity/sepolicy-generate/test/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/packages + install -d /root/policycoreutils/Sanity/sepolicy-generate/test/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/devel/include/contrib + install -m 644 /root/policycoreutils/Sanity/sepolicy-generate/test/testpolicy.if /root/policycoreutils/Sanity/sepolicy-generate/test/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/devel/include/contrib/ + install -d /root/policycoreutils/Sanity/sepolicy-generate/test/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/man/man8/ + install -m 644 /root/policycoreutils/Sanity/sepolicy-generate/test/testpolicy_selinux.8 /root/policycoreutils/Sanity/sepolicy-generate/test/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/man/man8/ install: cannot stat '/root/policycoreutils/Sanity/sepolicy-generate/test/testpolicy_selinux.8': No such file or directory error: Bad exit status from /var/tmp/rpm-tmp.F5deoW (%install) Ah, yes. I believe we also should not do a rpm pkg for --customize option. Fixed in policycoreutils-2.1.14-44.fc19 Rpm will still be generated but without the man page. VERIFIED using automated test:
:: [ PASS ] :: Running 'sleep 1'
Created the following files:
mypolicy/testpolicy.te # Type Enforcement file
mypolicy/testpolicy.if # Interface file
mypolicy/testpolicy.fc # File Contexts file
mypolicy/testpolicy_selinux.spec # Spec file
mypolicy/testpolicy.sh # Setup Script
:: [ PASS ] :: Running 'sepolicy generate -p mypolicy -n testpolicy --customize -d httpd_t -a firewalld '
policy_module(testpolicy, 1.0.0)
gen_require(`
type httpd_t;
')
########################################
#
# testpolicy customized policy
#
optional_policy(`
firewalld_admin(httpd_t, system_r)
')
:: [ PASS ] :: Running 'cat mypolicy/testpolicy.te'
## <summary>policy for testpolicy</summary>:: [ PASS ] :: Running 'cat mypolicy/testpolicy.if'
:: [ PASS ] :: Running 'cat mypolicy/testpolicy.fc'
Building and Loading Policy
+ make -f /usr/share/selinux/devel/Makefile testpolicy.pp
make[1]: Entering directory `/root/policycoreutils/Sanity/sepolicy-generate/mypolicy'
m4:testpolicy.if:2: ERROR: end of file in comment
Compiling targeted testpolicy module
/usr/bin/checkmodule: loading policy configuration from tmp/testpolicy.tmp
/usr/bin/checkmodule: policy configuration loaded
/usr/bin/checkmodule: writing binary representation (version 17) to tmp/testpolicy.mod
Creating targeted testpolicy.pp policy package
rm tmp/testpolicy.mod tmp/testpolicy.mod.fc
make[1]: Leaving directory `/root/policycoreutils/Sanity/sepolicy-generate/mypolicy'
+ /usr/sbin/semodule -i testpolicy.pp
++ pwd
+ pwd=/root/policycoreutils/Sanity/sepolicy-generate/mypolicy
+ rpmbuild --define '_sourcedir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_specdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_builddir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_srcrpmdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_rpmdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_buildrootdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build' -ba testpolicy_selinux.spec
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.BT5E0D
+ umask 022
+ cd /root/policycoreutils/Sanity/sepolicy-generate/mypolicy
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/packages
+ install -m 644 /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/testpolicy.pp /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/packages
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/devel/include/contrib
+ install -m 644 /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/testpolicy.if /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/devel/include/contrib/
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/man/man8/
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/etc/selinux/targeted/contexts/users/
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip /usr/bin/strip
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
Processing files: testpolicy_selinux-1.0-1.el7.noarch
Provides: testpolicy_selinux = 1.0-1.el7
Requires(interp): /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh policycoreutils selinux-policy-base >= 3.12.1-44
Requires(postun): /bin/sh policycoreutils
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64
Wrote: /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/testpolicy_selinux-1.0-1.el7.src.rpm
Wrote: /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/noarch/testpolicy_selinux-1.0-1.el7.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.MRKZMX
+ umask 022
+ cd /root/policycoreutils/Sanity/sepolicy-generate/mypolicy
+ /usr/bin/rm -rf /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64
+ exit 0
:: [ PASS ] :: Running 'mypolicy/testpolicy.sh'
testpolicy 1.0.0
:: [ PASS ] :: Running 'semodule -l | grep testpolicy'
/usr/sbin/semanage: SELinux user testpolicy_u is not defined
:: [ PASS ] :: Running 'semanage user -d testpolicy_u'
:: [ PASS ] :: Running 'semodule -r testpolicy'
:: [ PASS ] :: Running 'rm -rf mypolicy/*'
:: [ PASS ] :: Running 'sleep 1'
Created the following files:
mypolicy/testpolicy.te # Type Enforcement file
mypolicy/testpolicy.if # Interface file
mypolicy/testpolicy.fc # File Contexts file
mypolicy/testpolicy_selinux.spec # Spec file
mypolicy/testpolicy.sh # Setup Script
:: [ PASS ] :: Running 'sepolicy generate -p mypolicy -w /home -n testpolicy --customize -d httpd_t -a firewalld '
policy_module(testpolicy, 1.0.0)
gen_require(`
type httpd_t;
')
type testpolicy_rw_t;
files_type(testpolicy_rw_t)
########################################
#
# testpolicy customized policy
#
manage_dirs_pattern(httpd_t, testpolicy_rw_t, testpolicy_rw_t)
manage_files_pattern(httpd_t, testpolicy_rw_t, testpolicy_rw_t)
manage_lnk_files_pattern(httpd_t, testpolicy_rw_t, testpolicy_rw_t)
optional_policy(`
firewalld_admin(httpd_t, system_r)
')
:: [ PASS ] :: Running 'cat mypolicy/testpolicy.te'
## <summary>policy for testpolicy</summary>
########################################
## <summary>
## Search testpolicy rw directories.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`testpolicy_search_rw_dir',`
gen_require(`
type testpolicy_rw_t;
')
allow $1 testpolicy_rw_t:dir search_dir_perms;
files_search_rw($1)
')
########################################
## <summary>
## Read testpolicy rw files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`testpolicy_read_rw_files',`
gen_require(`
type testpolicy_rw_t;
')
read_files_pattern($1, testpolicy_rw_t, testpolicy_rw_t)
allow $1 testpolicy_rw_t:dir list_dir_perms;
files_search_rw($1)
')
########################################
## <summary>
## Manage testpolicy rw files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`testpolicy_manage_rw_files',`
gen_require(`
type testpolicy_rw_t;
')
manage_files_pattern($1, testpolicy_rw_t, testpolicy_rw_t)
')
########################################
## <summary>
## Create, read, write, and delete
## testpolicy rw dirs.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`testpolicy_manage_rw_dirs',`
gen_require(`
type testpolicy_rw_t;
')
manage_dirs_pattern($1, testpolicy_rw_t, testpolicy_rw_t)
')
########################################
## <summary>
## All of the rules required to administrate
## an testpolicy environment
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
## <param name="role">
## <summary>
## Role allowed access.
## </summary>
## </param>
## <rolecap/>
#
interface(`testpolicy_admin',`
gen_require(`
type testpolicy_t;
type testpolicy_rw_t;
')
allow $1 testpolicy_t:process { ptrace signal_perms };
ps_process_pattern($1, testpolicy_t)
files_search_etc($1)
admin_pattern($1, testpolicy_rw_t)
optional_policy(`
systemd_passwd_agent_exec($1)
systemd_read_fifo_file_passwd_run($1)
')
')
:: [ PASS ] :: Running 'cat mypolicy/testpolicy.if'
/home(/.*)? gen_context(system_u:object_r:testpolicy_rw_t,s0)
:: [ PASS ] :: Running 'cat mypolicy/testpolicy.fc'
Building and Loading Policy
+ make -f /usr/share/selinux/devel/Makefile testpolicy.pp
make[1]: Entering directory `/root/policycoreutils/Sanity/sepolicy-generate/mypolicy'
Compiling targeted testpolicy module
/usr/bin/checkmodule: loading policy configuration from tmp/testpolicy.tmp
/usr/bin/checkmodule: policy configuration loaded
/usr/bin/checkmodule: writing binary representation (version 17) to tmp/testpolicy.mod
Creating targeted testpolicy.pp policy package
rm tmp/testpolicy.mod tmp/testpolicy.mod.fc
make[1]: Leaving directory `/root/policycoreutils/Sanity/sepolicy-generate/mypolicy'
+ /usr/sbin/semodule -i testpolicy.pp
+ /sbin/restorecon -F -R -v /home
++ pwd
+ pwd=/root/policycoreutils/Sanity/sepolicy-generate/mypolicy
+ rpmbuild --define '_sourcedir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_specdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_builddir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_srcrpmdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_rpmdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_buildrootdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build' -ba testpolicy_selinux.spec
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.RGDAyc
+ umask 022
+ cd /root/policycoreutils/Sanity/sepolicy-generate/mypolicy
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/packages
+ install -m 644 /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/testpolicy.pp /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/packages
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/devel/include/contrib
+ install -m 644 /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/testpolicy.if /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/devel/include/contrib/
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/man/man8/
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/etc/selinux/targeted/contexts/users/
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip /usr/bin/strip
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
Processing files: testpolicy_selinux-1.0-1.el7.noarch
Provides: testpolicy_selinux = 1.0-1.el7
Requires(interp): /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh policycoreutils selinux-policy-base >= 3.12.1-44
Requires(postun): /bin/sh policycoreutils
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64
Wrote: /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/testpolicy_selinux-1.0-1.el7.src.rpm
Wrote: /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/noarch/testpolicy_selinux-1.0-1.el7.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.MQyAv2
+ umask 022
+ cd /root/policycoreutils/Sanity/sepolicy-generate/mypolicy
+ /usr/bin/rm -rf /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64
+ exit 0
:: [ PASS ] :: Running 'mypolicy/testpolicy.sh'
testpolicy 1.0.0
:: [ PASS ] :: Running 'semodule -l | grep testpolicy'
/usr/sbin/semanage: SELinux user testpolicy_u is not defined
:: [ PASS ] :: Running 'semanage user -d testpolicy_u'
:: [ PASS ] :: Running 'semodule -r testpolicy'
:: [ PASS ] :: Running 'rm -rf mypolicy/*'
:: [ PASS ] :: Running 'sleep 1'
Created the following files:
mypolicy/testpolicy.te # Type Enforcement file
mypolicy/testpolicy.if # Interface file
mypolicy/testpolicy.fc # File Contexts file
mypolicy/testpolicy_selinux.spec # Spec file
mypolicy/testpolicy.sh # Setup Script
:: [ PASS ] :: Running 'sepolicy generate -p mypolicy -n testpolicy --customize -d httpd_t'
policy_module(testpolicy, 1.0.0)
gen_require(`
type httpd_t;
')
########################################
#
# testpolicy customized policy
#
:: [ PASS ] :: Running 'cat mypolicy/testpolicy.te'
## <summary>policy for testpolicy</summary>:: [ PASS ] :: Running 'cat mypolicy/testpolicy.if'
:: [ PASS ] :: Running 'cat mypolicy/testpolicy.fc'
Building and Loading Policy
+ make -f /usr/share/selinux/devel/Makefile testpolicy.pp
make[1]: Entering directory `/root/policycoreutils/Sanity/sepolicy-generate/mypolicy'
m4:testpolicy.if:2: ERROR: end of file in comment
Compiling targeted testpolicy module
/usr/bin/checkmodule: loading policy configuration from tmp/testpolicy.tmp
/usr/bin/checkmodule: policy configuration loaded
/usr/bin/checkmodule: writing binary representation (version 17) to tmp/testpolicy.mod
Creating targeted testpolicy.pp policy package
rm tmp/testpolicy.mod tmp/testpolicy.mod.fc
make[1]: Leaving directory `/root/policycoreutils/Sanity/sepolicy-generate/mypolicy'
+ /usr/sbin/semodule -i testpolicy.pp
++ pwd
+ pwd=/root/policycoreutils/Sanity/sepolicy-generate/mypolicy
+ rpmbuild --define '_sourcedir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_specdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_builddir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_srcrpmdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_rpmdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_buildrootdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build' -ba testpolicy_selinux.spec
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.gE3ND9
+ umask 022
+ cd /root/policycoreutils/Sanity/sepolicy-generate/mypolicy
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/packages
+ install -m 644 /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/testpolicy.pp /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/packages
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/devel/include/contrib
+ install -m 644 /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/testpolicy.if /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/devel/include/contrib/
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/man/man8/
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/etc/selinux/targeted/contexts/users/
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip /usr/bin/strip
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
Processing files: testpolicy_selinux-1.0-1.el7.noarch
Provides: testpolicy_selinux = 1.0-1.el7
Requires(interp): /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh policycoreutils selinux-policy-base >= 3.12.1-44
Requires(postun): /bin/sh policycoreutils
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64
Wrote: /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/testpolicy_selinux-1.0-1.el7.src.rpm
Wrote: /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/noarch/testpolicy_selinux-1.0-1.el7.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.vEDiFi
+ umask 022
+ cd /root/policycoreutils/Sanity/sepolicy-generate/mypolicy
+ /usr/bin/rm -rf /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64
+ exit 0
:: [ PASS ] :: Running 'mypolicy/testpolicy.sh'
testpolicy 1.0.0
:: [ PASS ] :: Running 'semodule -l | grep testpolicy'
/usr/sbin/semanage: SELinux user testpolicy_u is not defined
:: [ PASS ] :: Running 'semanage user -d testpolicy_u'
:: [ PASS ] :: Running 'semodule -r testpolicy'
:: [ PASS ] :: Running 'rm -rf mypolicy/*'
:: [ PASS ] :: Running 'sleep 1'
Created the following files:
mypolicy/testpolicy.te # Type Enforcement file
mypolicy/testpolicy.if # Interface file
mypolicy/testpolicy.fc # File Contexts file
mypolicy/testpolicy_selinux.spec # Spec file
mypolicy/testpolicy.sh # Setup Script
:: [ PASS ] :: Running 'sepolicy generate -p mypolicy -w /home -n testpolicy --customize -d httpd_t'
policy_module(testpolicy, 1.0.0)
gen_require(`
type httpd_t;
')
type testpolicy_rw_t;
files_type(testpolicy_rw_t)
########################################
#
# testpolicy customized policy
#
manage_dirs_pattern(httpd_t, testpolicy_rw_t, testpolicy_rw_t)
manage_files_pattern(httpd_t, testpolicy_rw_t, testpolicy_rw_t)
manage_lnk_files_pattern(httpd_t, testpolicy_rw_t, testpolicy_rw_t)
:: [ PASS ] :: Running 'cat mypolicy/testpolicy.te'
## <summary>policy for testpolicy</summary>
########################################
## <summary>
## Search testpolicy rw directories.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`testpolicy_search_rw_dir',`
gen_require(`
type testpolicy_rw_t;
')
allow $1 testpolicy_rw_t:dir search_dir_perms;
files_search_rw($1)
')
########################################
## <summary>
## Read testpolicy rw files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`testpolicy_read_rw_files',`
gen_require(`
type testpolicy_rw_t;
')
read_files_pattern($1, testpolicy_rw_t, testpolicy_rw_t)
allow $1 testpolicy_rw_t:dir list_dir_perms;
files_search_rw($1)
')
########################################
## <summary>
## Manage testpolicy rw files.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`testpolicy_manage_rw_files',`
gen_require(`
type testpolicy_rw_t;
')
manage_files_pattern($1, testpolicy_rw_t, testpolicy_rw_t)
')
########################################
## <summary>
## Create, read, write, and delete
## testpolicy rw dirs.
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
#
interface(`testpolicy_manage_rw_dirs',`
gen_require(`
type testpolicy_rw_t;
')
manage_dirs_pattern($1, testpolicy_rw_t, testpolicy_rw_t)
')
########################################
## <summary>
## All of the rules required to administrate
## an testpolicy environment
## </summary>
## <param name="domain">
## <summary>
## Domain allowed access.
## </summary>
## </param>
## <param name="role">
## <summary>
## Role allowed access.
## </summary>
## </param>
## <rolecap/>
#
interface(`testpolicy_admin',`
gen_require(`
type testpolicy_t;
type testpolicy_rw_t;
')
allow $1 testpolicy_t:process { ptrace signal_perms };
ps_process_pattern($1, testpolicy_t)
files_search_etc($1)
admin_pattern($1, testpolicy_rw_t)
optional_policy(`
systemd_passwd_agent_exec($1)
systemd_read_fifo_file_passwd_run($1)
')
')
:: [ PASS ] :: Running 'cat mypolicy/testpolicy.if'
/home(/.*)? gen_context(system_u:object_r:testpolicy_rw_t,s0)
:: [ PASS ] :: Running 'cat mypolicy/testpolicy.fc'
Building and Loading Policy
+ make -f /usr/share/selinux/devel/Makefile testpolicy.pp
make[1]: Entering directory `/root/policycoreutils/Sanity/sepolicy-generate/mypolicy'
Compiling targeted testpolicy module
/usr/bin/checkmodule: loading policy configuration from tmp/testpolicy.tmp
/usr/bin/checkmodule: policy configuration loaded
/usr/bin/checkmodule: writing binary representation (version 17) to tmp/testpolicy.mod
Creating targeted testpolicy.pp policy package
rm tmp/testpolicy.mod tmp/testpolicy.mod.fc
make[1]: Leaving directory `/root/policycoreutils/Sanity/sepolicy-generate/mypolicy'
+ /usr/sbin/semodule -i testpolicy.pp
+ /sbin/restorecon -F -R -v /home
++ pwd
+ pwd=/root/policycoreutils/Sanity/sepolicy-generate/mypolicy
+ rpmbuild --define '_sourcedir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_specdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_builddir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_srcrpmdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_rpmdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy' --define '_buildrootdir /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build' -ba testpolicy_selinux.spec
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.hDy6UA
+ umask 022
+ cd /root/policycoreutils/Sanity/sepolicy-generate/mypolicy
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/packages
+ install -m 644 /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/testpolicy.pp /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/packages
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/devel/include/contrib
+ install -m 644 /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/testpolicy.if /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/selinux/devel/include/contrib/
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/usr/share/man/man8/
+ install -d /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64/etc/selinux/targeted/contexts/users/
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip /usr/bin/strip
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-strip-comment-note /usr/bin/strip /usr/bin/objdump
Processing files: testpolicy_selinux-1.0-1.el7.noarch
Provides: testpolicy_selinux = 1.0-1.el7
Requires(interp): /bin/sh /bin/sh
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires(post): /bin/sh policycoreutils selinux-policy-base >= 3.12.1-44
Requires(postun): /bin/sh policycoreutils
Checking for unpackaged file(s): /usr/lib/rpm/check-files /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64
Wrote: /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/testpolicy_selinux-1.0-1.el7.src.rpm
Wrote: /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/noarch/testpolicy_selinux-1.0-1.el7.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.trvxXY
+ umask 022
+ cd /root/policycoreutils/Sanity/sepolicy-generate/mypolicy
+ /usr/bin/rm -rf /root/policycoreutils/Sanity/sepolicy-generate/mypolicy/.build/testpolicy_selinux-1.0-1.el7.x86_64
+ exit 0
:: [ PASS ] :: Running 'mypolicy/testpolicy.sh'
testpolicy 1.0.0
:: [ PASS ] :: Running 'semodule -l | grep testpolicy'
/usr/sbin/semanage: SELinux user testpolicy_u is not defined
:: [ PASS ] :: Running 'semanage user -d testpolicy_u'
:: [ PASS ] :: Running 'semodule -r testpolicy'
:: [ PASS ] :: Running 'rm -rf mypolicy/*'
:: [ PASS ] :: Running 'sleep 1'
This request was resolved in Red Hat Enterprise Linux 7.0. Contact your manager or support representative in case you have further questions about the request. |