* file_contexts duplicates @ 2008-08-15 14:42 Vikram Ambrose 2008-08-15 16:50 ` Stephen Smalley 0 siblings, 1 reply; 4+ messages in thread From: Vikram Ambrose @ 2008-08-15 14:42 UTC (permalink / raw) To: selinux I have a problem in which file_contexts gets to 11mb (152kb unique) because of duplicates. Using selinux-svn2950 and refpolicy-svn2780 I built the standard policy distro=redhat unknown perms=deny no direct admin init Now using the .pp files that got installed into /usr/share/selinux/standard I attempted to create a 2nd policy by hand using semodule. # export NAME=vikram # mkdir -v -p \ /etc/selinux/$NAME/modules/active \ /etc/selinux/$NAME/contexts/files \ /etc/selinux/$NAME/policy # cd /usr/share/selinux/standard # semodule -v -n -s $NAME -b base.pp $(for i in *.pp ; do if [ "$i" != "base.pp" ] ; then echo -n "-i $i "; fi; done) This command appears to run for eternity. But after investigation, it seems setfiles is getting stuck up reading file_contexts. And is relabeling the file system again and again because of the duplicate definitions. Shorting out setfiles lets the command complete in 30mins. ie Transaction return 0. However because the file_contexts is 11mb of duplicates. It cannot be used. Doing a: # sort /etc/selinux/$NAME/contexts/files/file_contexts | uniq > clean # mv clean /etc/selinux/$NAME/contexts/files/file_contexts Produces a 152kb file. Note: /etc/selinux/standard/context/files/file_contexts is 156kb Relabeling the file system now with the new 152kb file. Causes /usr/lib64 to get usr_t which causes massive denial at boot up. And eventually haults login. What in the world is going on? Where would I begin to debug these problems: 1) Duplicates in file_contexts and 2) Missing contexts Vikram -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: file_contexts duplicates 2008-08-15 14:42 file_contexts duplicates Vikram Ambrose @ 2008-08-15 16:50 ` Stephen Smalley 2008-08-15 16:57 ` Vikram Ambrose 0 siblings, 1 reply; 4+ messages in thread From: Stephen Smalley @ 2008-08-15 16:50 UTC (permalink / raw) To: Vikram Ambrose; +Cc: selinux, Christopher J. PeBenito, Joshua Brindle On Fri, 2008-08-15 at 10:42 -0400, Vikram Ambrose wrote: > I have a problem in which file_contexts gets to 11mb (152kb unique) > because of duplicates. > > Using selinux-svn2950 and refpolicy-svn2780 I built the standard policy > distro=redhat > unknown perms=deny > no direct admin init > > Now using the .pp files that got installed into /usr/share/selinux/standard > > I attempted to create a 2nd policy by hand using semodule. > > # export NAME=vikram > # mkdir -v -p \ > /etc/selinux/$NAME/modules/active \ > /etc/selinux/$NAME/contexts/files \ > /etc/selinux/$NAME/policy > # cd /usr/share/selinux/standard > # semodule -v -n -s $NAME -b base.pp $(for i in *.pp ; do if [ "$i" != > "base.pp" ] ; then echo -n "-i $i "; fi; done) > > This command appears to run for eternity. But after investigation, it > seems setfiles is getting stuck up reading file_contexts. And is > relabeling the file system again and again because of the duplicate > definitions. > > Shorting out setfiles lets the command complete in 30mins. ie > Transaction return 0. However because the file_contexts is 11mb of > duplicates. It cannot be used. Doing a: > > # sort /etc/selinux/$NAME/contexts/files/file_contexts | uniq > clean > # mv clean /etc/selinux/$NAME/contexts/files/file_contexts > > Produces a 152kb file. > Note: /etc/selinux/standard/context/files/file_contexts is 156kb > > Relabeling the file system now with the new 152kb file. Causes > /usr/lib64 to get usr_t which causes massive denial at boot up. And > eventually haults login. > > What in the world is going on? Where would I begin to debug these > problems: 1) Duplicates in file_contexts and 2) Missing contexts Is there a reason you aren't doing this the usual way, e.g. by doing a make load from the refpolicy directory rather than manually trying to install the modules? And why are you changing the NAME= part way through the install, from standard to vikram? I tried reproducing your steps above with the same revisions of the selinux toolchain and refpolicy on a x86_64 box with f10/rawhide as the base distribution, but it all ran fine for me and my file_contexts is a reasonable size (146956 bytes). To be precise, I did: svn co -r2950 http://selinux.svn.sourceforge.net/svnroot/selinux/trunk selinux cd selinux make LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install install-pywrap relabel cd .. svn co -r2780 http://oss.tresys.com/repos/refpolicy/trunk refpolicy cd refpolicy make conf make NAME=standard DISTRO=redhat MONOLITHIC=n install cd /usr/share/selinux/standard and then I ran the commands you showed above. It completed without errors and produced a valid, reasonable size file_contexts file. -- Stephen Smalley National Security Agency -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: file_contexts duplicates 2008-08-15 16:50 ` Stephen Smalley @ 2008-08-15 16:57 ` Vikram Ambrose 2008-08-15 17:27 ` Stephen Smalley 0 siblings, 1 reply; 4+ messages in thread From: Vikram Ambrose @ 2008-08-15 16:57 UTC (permalink / raw) To: Stephen Smalley; +Cc: selinux, Christopher J. PeBenito, Joshua Brindle Stephen Smalley wrote: > On Fri, 2008-08-15 at 10:42 -0400, Vikram Ambrose wrote: > >> I have a problem in which file_contexts gets to 11mb (152kb unique) >> because of duplicates. >> >> Using selinux-svn2950 and refpolicy-svn2780 I built the standard policy >> distro=redhat >> unknown perms=deny >> no direct admin init >> >> Now using the .pp files that got installed into /usr/share/selinux/standard >> >> I attempted to create a 2nd policy by hand using semodule. >> >> # export NAME=vikram >> # mkdir -v -p \ >> /etc/selinux/$NAME/modules/active \ >> /etc/selinux/$NAME/contexts/files \ >> /etc/selinux/$NAME/policy >> # cd /usr/share/selinux/standard >> # semodule -v -n -s $NAME -b base.pp $(for i in *.pp ; do if [ "$i" != >> "base.pp" ] ; then echo -n "-i $i "; fi; done) >> >> This command appears to run for eternity. But after investigation, it >> seems setfiles is getting stuck up reading file_contexts. And is >> relabeling the file system again and again because of the duplicate >> definitions. >> >> Shorting out setfiles lets the command complete in 30mins. ie >> Transaction return 0. However because the file_contexts is 11mb of >> duplicates. It cannot be used. Doing a: >> >> # sort /etc/selinux/$NAME/contexts/files/file_contexts | uniq > clean >> # mv clean /etc/selinux/$NAME/contexts/files/file_contexts >> >> Produces a 152kb file. >> Note: /etc/selinux/standard/context/files/file_contexts is 156kb >> >> Relabeling the file system now with the new 152kb file. Causes >> /usr/lib64 to get usr_t which causes massive denial at boot up. And >> eventually haults login. >> >> What in the world is going on? Where would I begin to debug these >> problems: 1) Duplicates in file_contexts and 2) Missing contexts >> > > Is there a reason you aren't doing this the usual way, e.g. by doing a > make load from the refpolicy directory rather than manually trying to > install the modules? Why not? > And why are you changing the NAME= part way > through the install, from standard to vikram? > I think you misunderstood, the name is not changing. standard is what was produced by refpolicy, It is also the running policy when the steps I mentioned are run. Please read my email again. > I tried reproducing your steps above with the same revisions of the > selinux toolchain and refpolicy on a x86_64 box with f10/rawhide as the > base distribution, but it all ran fine for me and my file_contexts is a > reasonable size (146956 bytes). > > To be precise, I did: > svn co -r2950 http://selinux.svn.sourceforge.net/svnroot/selinux/trunk selinux > cd selinux > make LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install install-pywrap relabel > cd .. > svn co -r2780 http://oss.tresys.com/repos/refpolicy/trunk refpolicy > cd refpolicy > make conf > make NAME=standard DISTRO=redhat MONOLITHIC=n install > cd /usr/share/selinux/standard > > and then I ran the commands you showed above. It completed without > errors and produced a valid, reasonable size file_contexts file. > > Yes, this seems to be the consensus. For some reason my build tools dont seem to be doing their job quite right. Oh and on another note, did you get a chance to see the new build system that I have proposed and mailed to the list? Vikram -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: file_contexts duplicates 2008-08-15 16:57 ` Vikram Ambrose @ 2008-08-15 17:27 ` Stephen Smalley 0 siblings, 0 replies; 4+ messages in thread From: Stephen Smalley @ 2008-08-15 17:27 UTC (permalink / raw) To: Vikram Ambrose; +Cc: selinux, Christopher J. PeBenito, Joshua Brindle On Fri, 2008-08-15 at 12:57 -0400, Vikram Ambrose wrote: > Stephen Smalley wrote: > > On Fri, 2008-08-15 at 10:42 -0400, Vikram Ambrose wrote: > > > >> I have a problem in which file_contexts gets to 11mb (152kb unique) > >> because of duplicates. > >> > >> Using selinux-svn2950 and refpolicy-svn2780 I built the standard policy > >> distro=redhat > >> unknown perms=deny > >> no direct admin init > >> > >> Now using the .pp files that got installed into /usr/share/selinux/standard > >> > >> I attempted to create a 2nd policy by hand using semodule. > >> > >> # export NAME=vikram > >> # mkdir -v -p \ > >> /etc/selinux/$NAME/modules/active \ > >> /etc/selinux/$NAME/contexts/files \ > >> /etc/selinux/$NAME/policy > >> # cd /usr/share/selinux/standard > >> # semodule -v -n -s $NAME -b base.pp $(for i in *.pp ; do if [ "$i" != > >> "base.pp" ] ; then echo -n "-i $i "; fi; done) > >> > >> This command appears to run for eternity. But after investigation, it > >> seems setfiles is getting stuck up reading file_contexts. And is > >> relabeling the file system again and again because of the duplicate > >> definitions. > >> > >> Shorting out setfiles lets the command complete in 30mins. ie > >> Transaction return 0. However because the file_contexts is 11mb of > >> duplicates. It cannot be used. Doing a: > >> > >> # sort /etc/selinux/$NAME/contexts/files/file_contexts | uniq > clean > >> # mv clean /etc/selinux/$NAME/contexts/files/file_contexts > >> > >> Produces a 152kb file. > >> Note: /etc/selinux/standard/context/files/file_contexts is 156kb > >> > >> Relabeling the file system now with the new 152kb file. Causes > >> /usr/lib64 to get usr_t which causes massive denial at boot up. And > >> eventually haults login. > >> > >> What in the world is going on? Where would I begin to debug these > >> problems: 1) Duplicates in file_contexts and 2) Missing contexts > >> > > > > Is there a reason you aren't doing this the usual way, e.g. by doing a > > make load from the refpolicy directory rather than manually trying to > > install the modules? > Why not? Because you might miss steps that are covered by the refpolicy Makefile/Rules.modular. Like installing other files besides the modules. > > And why are you changing the NAME= part way > > through the install, from standard to vikram? > > > I think you misunderstood, the name is not changing. standard is what > was produced by refpolicy, It is also the running policy when the steps > I mentioned are run. Please read my email again. Ok. > > I tried reproducing your steps above with the same revisions of the > > selinux toolchain and refpolicy on a x86_64 box with f10/rawhide as the > > base distribution, but it all ran fine for me and my file_contexts is a > > reasonable size (146956 bytes). > > > > To be precise, I did: > > svn co -r2950 http://selinux.svn.sourceforge.net/svnroot/selinux/trunk selinux > > cd selinux > > make LIBDIR=/usr/lib64 SHLIBDIR=/lib64 install install-pywrap relabel > > cd .. > > svn co -r2780 http://oss.tresys.com/repos/refpolicy/trunk refpolicy > > cd refpolicy > > make conf > > make NAME=standard DISTRO=redhat MONOLITHIC=n install > > cd /usr/share/selinux/standard > > > > and then I ran the commands you showed above. It completed without > > errors and produced a valid, reasonable size file_contexts file. > > > > > Yes, this seems to be the consensus. For some reason my build tools dont > seem to be doing their job quite right. Are you sure you installed the latest selinux userland libraries into /usr/lib64 and /lib64 by setting LIBDIR and SHLIBDIR correctly as above? > Oh and on another note, did you get a chance to see the new build system > that I have proposed and mailed to the list? I saw it. I believe Joshua is assessing it. He is also a maintainer of the selinux core userland, so he has commit access as well. I'm not personally a big fan of autoconf/automake, but I'm ok with taking the new build system if it works well, is easily maintained, doesn't create problems for building newer selinux userland on older distro releases, and brings some benefits (such as cross-compilation support, better support for packaging, etc as you mentioned). -- Stephen Smalley National Security Agency -- This message was distributed to subscribers of the selinux mailing list. If you no longer wish to subscribe, send mail to majordomo@tycho.nsa.gov with the words "unsubscribe selinux" without quotes as the message. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2008-08-15 17:27 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-08-15 14:42 file_contexts duplicates Vikram Ambrose 2008-08-15 16:50 ` Stephen Smalley 2008-08-15 16:57 ` Vikram Ambrose 2008-08-15 17:27 ` Stephen Smalley
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.