Re: python gui gconf policy problem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 16, 2008 at 6:44 AM, Stephen Smalley <sds@xxxxxxxxxxxxx> wrote:
>
> On Wed, 2008-07-16 at 07:44 -0400, Stephen Smalley wrote:
>> On Tue, 2008-07-15 at 13:25 -0500, Xavier Toth wrote:
>> > On Tue, Jul 15, 2008 at 11:51 AM, Stephen Smalley <sds@xxxxxxxxxxxxx> wrote:
>> > >
>> > > On Tue, 2008-07-15 at 11:29 -0500, Xavier Toth wrote:
>> > >> I'm writing policy for a python gui and having a problem getting preferences:
>> > >>
>> > >> gobject.GError: Failed to contact configuration server; some possible
>> > >> causes are that you need to enable TCP/IP networking for ORBit, or you
>> > >> have a stale NFS locks due to a system crash. See
>> > >> http://www.gnome.org/project/gconf/ for information. (Details - 1:
>> > >> Could not send message to gconf daemon: An SELinux policy prevents
>> > >> this sender from sending this message to this recipient (rejected
>> > >> message had interface "org.gnome.GConf member "GetIOR" error name
>> > >> "(unset)" destination "org.gnome.GConf"))
>> > >>
>> > >> The error message states that policy is preventing this operation but
>> > >> there isn't a corresponding AVC in the audit log. I'm using the
>> > >> gnome_stream_connect_gconf_template but that doesn't help and I'm not
>> > >> sure it is the right thing to do anyway.
>> > >
>> > > Sounds like a dbus denial, which would show up as a USER_AVC.
>> > > Or might be dontaudit'd - try semodule -DB.
>> > >
>> > > --
>> > > Stephen Smalley
>> > > National Security Agency
>> > >
>> > >
>> >
>> > I have used 'semodule -DB' and I don't see any dbus AVCs and this
>> > strace shows that a dbus connection is established and some reads and
>> > writes occur
>>
>> dbus denials would show up as USER_AVC messages, and they would
>> successfully connect and read/write, but the daemon would send back an
>> error message in the reply to the client.
>>
>> Is this the system bus or the session bus?  session bus might not be
>> able to audit; I don't recall, but audit required capabilities and the
>> session bus runs as the user.
>
> in which case I believe it will fall back to syslog
> i.e. /var/log/messages for output.
>
>>
>>
>> > 11201 read(6, "", 8192)                 = 0
>> > 11201 close(6)                          = 0
>> > 11201 munmap(0xb802a000, 4096)          = 0
>> > 11201 socket(PF_FILE, SOCK_STREAM, 0)   = 6
>> > 11201 connect(6, {sa_family=AF_FILE, path=@/tmp/dbus-9MZAW1huFg}, 23) = 0
>> > 11201 fcntl64(6, F_GETFL)               = 0x2 (flags O_RDWR)
>> > 11201 fcntl64(6, F_SETFL, O_RDWR|O_NONBLOCK) = 0
>> > 11201 fcntl64(6, F_GETFD)               = 0
>> > 11201 fcntl64(6, F_SETFD, FD_CLOEXEC)   = 0
>> > 11201 geteuid32()                       = 500
>> > 11201 rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
>> > 11201 poll([{fd=6, events=POLLOUT, revents=POLLOUT}], 1, 0) = 1
>> > 11201 write(6, "\0", 1)                 = 1
>> > 11201 write(6, "AUTH EXTERNAL 353030\r\n", 22) = 22
>> > 11201 poll([{fd=6, events=POLLIN, revents=POLLIN}], 1, -1) = 1
>> > 11201 read(6, "OK 9d1044c841e17b3bd63f63b3487cc"..., 2048) = 37
>> > 11201 poll([{fd=6, events=POLLOUT, revents=POLLOUT}], 1, -1) = 1
>> > 11201 write(6, "BEGIN\r\n", 7)          = 7
>> > 11201 poll([{fd=6, events=POLLIN|POLLOUT, revents=POLLOUT}], 1, -1) = 1
>> > 11201 writev(6,
>> > [{"l\1\0\1\0\0\0\0\1\0\0\0n\0\0\0\1\1o\0\25\0\0\0/org/fre"..., 128},
>> > {"", 0}], 2) = 128
>> > 11201 gettimeofday({1216142988, 595361}, NULL) = 0
>> > 11201 poll([{fd=6, events=POLLIN, revents=POLLIN}], 1, 25000) = 1
>> > 11201 read(6, "l\2\1\1\n\0\0\0\1\0\0\0=\0\0\0\6\1s\0\5\0\0\0:1.29\0\0\0"...,
>> > 2048) = 260
>> > 11201 read(6, 0x867c4c0, 2048)          = -1 EAGAIN (Resource
>> > temporarily unavailable)
>> > 11201 writev(6,
>> > [{"l\1\2\1\0\0\0\0\2\0\0\0_\0\0\0\1\1o\0\20\0\0\0/org/gno"..., 112},
>> > {"", 0}], 2) = 112
>> > 11201 gettimeofday({1216142988, 598242}, NULL) = 0
>> > 11201 poll([{fd=6, events=POLLIN, revents=POLLIN}], 1, 25000) = 1
>> > 11201 read(6, "l\3\1\1\315\0\0\0\3\0\0\0m\0\0\0\6\1s\0\5\0\0\0:1.29\0\0\0"...,
>> > 2048) = 333
>> > 11201 read(6, 0x867c4c0, 2048)          = -1 EAGAIN (Resource
>> > temporarily unavailable)
>> > 11201 open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/GConf2.mo",
>> > O_RDONLY) = -1 ENOENT (No such file or directory)
>> > 11201 open("/usr/share/locale/en_US.utf8/LC_MESSAGES/GConf2.mo",
>> > O_RDONLY) = -1 ENOENT (No such file or directory)
>> > 11201 open("/usr/share/locale/en_US/LC_MESSAGES/GConf2.mo", O_RDONLY)
>> > = -1 ENOENT (No such file or directory)
>> > 11201 open("/usr/share/locale/en.UTF-8/LC_MESSAGES/GConf2.mo",
>> > O_RDONLY) = -1 ENOENT (No such file or directory)
>> > 11201 open("/usr/share/locale/en.utf8/LC_MESSAGES/GConf2.mo",
>> > O_RDONLY) = -1 ENOENT (No such file or directory)
>> > 11201 open("/usr/share/locale/en/LC_MESSAGES/GConf2.mo", O_RDONLY) =
>> > -1 ENOENT (No such file or directory)
>> > 11201 writev(6,
>> > [{"l\1\0\1\0\0\0\0\3\0\0\0_\0\0\0\1\1o\0\20\0\0\0/org/gno"..., 112},
>> > {"", 0}], 2) = 112
>> > 11201 gettimeofday({1216142988, 602061}, NULL) = 0
>> > 11201 poll([{fd=6, events=POLLIN, revents=POLLIN}], 1, 25000) = 1
>> > 11201 read(6, "l\3\1\1\315\0\0\0\4\0\0\0m\0\0\0\6\1s\0\5\0\0\0:1.29\0\0\0"...,
>> > 2048) = 333
>> > 11201 read(6, 0x867c4c0, 2048)          = -1 EAGAIN (Resource
>> > temporarily unavailable)
>> > 11201 write(2, "Traceback (most recent call last"..., 35) = 35
>> > 11201 open("/usr/share/ml-launch/ml-launch.py", O_RDONLY|O_LARGEFILE) = 7
>> > 11201 write(2, "  File \"/usr/share/ml-launch/ml-"..., 66) = 66
>> > 11201 fstat64(7, {st_mode=S_IFREG|0755, st_size=7901, ...}) = 0
>> > 11201 mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
>> > MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb802a000
>> > 11201 read(7, "#!/usr/bin/env python\nimport log"..., 4096) = 4096
>> > 11201 read(7, "            gtk.gdk.flush()\n    "..., 4096) = 3805
>> > 11201 write(2, "    ", 4)               = 4
>> > 11201 write(2, "main()\n", 7)           = 7
>> > 11201 close(7)                          = 0
>> > 11201 munmap(0xb802a000, 4096)          = 0
>> > 11201 open("/usr/share/ml-launch/ml-launch.py", O_RDONLY|O_LARGEFILE) = 7
>> > 11201 write(2, "  File \"/usr/share/ml-launch/ml-"..., 62) = 62
>> > 11201 fstat64(7, {st_mode=S_IFREG|0755, st_size=7901, ...}) = 0
>> > 11201 mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
>> > MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb802a000
>> > 11201 read(7, "#!/usr/bin/env python\nimport log"..., 4096) = 4096
>> > 11201 read(7, "            gtk.gdk.flush()\n    "..., 4096) = 3805
>> > 11201 write(2, "    ", 4)               = 4
>> > 11201 write(2, "launchLevelDialog = LabelDialog("..., 46) = 46
>> > 11201 close(7)                          = 0
>> > 11201 munmap(0xb802a000, 4096)          = 0
>> > 11201 open("/usr/share/ml-launch/label_dialog.py", O_RDONLY|O_LARGEFILE) = 7
>> > 11201 write(2, "  File \"/usr/share/ml-launch/lab"..., 69) = 69
>> > 11201 fstat64(7, {st_mode=S_IFREG|0644, st_size=22290, ...}) = 0
>> > 11201 mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
>> > MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb802a000
>> > 11201 read(7, "#!/usr/bin/env python\nimport log"..., 4096) = 4096
>> > 11201 read(7, "ifications[key].sensitivities.va"..., 4096) = 4096
>> > 11201 read(7, "  if wordIndex < wordCount:\n    "..., 4096) = 4096
>> > 11201 write(2, "    ", 4)               = 4
>> > 11201 write(2, "self.init_preferences()\n", 24) = 24
>> > 11201 close(7)                          = 0
>> > 11201 munmap(0xb802a000, 4096)          = 0
>> > 11201 open("/usr/share/ml-launch/label_dialog.py", O_RDONLY|O_LARGEFILE) = 7
>> > 11201 write(2, "  File \"/usr/share/ml-launch/lab"..., 77) = 77
>> > 11201 fstat64(7, {st_mode=S_IFREG|0644, st_size=22290, ...}) = 0
>> > 11201 mmap2(NULL, 4096, PROT_READ|PROT_WRITE,
>> > MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb802a000
>> > 11201 read(7, "#!/usr/bin/env python\nimport log"..., 4096) = 4096
>> > 11201 read(7, "ifications[key].sensitivities.va"..., 4096) = 4096
>> > 11201 read(7, "  if wordIndex < wordCount:\n    "..., 4096) = 4096
>> > 11201 read(7, "  self.levels_combobox.connect(\""..., 4096) = 4096
>> > 11201 read(7, " %s\" % (key)\n                   "..., 4096) = 4096
>> > 11201 write(2, "    ", 4)               = 4
>> > 11201 write(2, "self.saved_labels_max = self.pre"..., 88) = 88
>> > 11201 close(7)                          = 0
>> > 11201 munmap(0xb802a000, 4096)          = 0
>> > 11201 write(2, "gobject", 7)            = 7
>> > 11201 write(2, ".", 1)                  = 1
>> > 11201 write(2, "GError", 6)             = 6
>> > 11201 write(2, ": ", 2)                 = 2
>> > 11201 write(2, "Failed to contact configuration "..., 483) = 483
>> > 11201 write(2, "\n", 1)                 = 1
>> > 11201 close(3)                          = 0
>> > 11201 rt_sigaction(SIGINT, {SIG_DFL}, {0x4d651c0, [], 0}, 8) = 0
>> > 11200 exit_group(0)                     = ?
>> > 11199 <... waitpid resumed> [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 11200
>> > 11199 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
>> > 11199 --- SIGCHLD (Child exited) @ 0 (0) ---
>> > 11199 waitpid(-1, 0xbf98ea38, WNOHANG)  = -1 ECHILD (No child processes)
>> > 11199 sigreturn()                       = ? (mask now [])
>> > 11199 rt_sigaction(SIGINT, {SIG_DFL}, {0x807c670, [], 0}, 8) = 0
>> > 11199 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
>> > 11199 read(255, "\n", 67)               = 1
>> > 11199 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
>> > 11199 read(255, "", 67)                 = 0
>> > 11199 exit_group(0)                     = ?
>> > 11201 exit_group(1)                     = ?
> --
> Stephen Smalley
> National Security Agency
>
>

Yes there were some dbus AVCs in /var/log/messages which when
addressed seems to have fix the problem.

--
This message was distributed to subscribers of the selinux mailing list.
If you no longer wish to subscribe, send mail to majordomo@xxxxxxxxxxxxx with
the words "unsubscribe selinux" without quotes as the message.

[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux