gnu linux update question

Patrick O'Callaghan pocallaghan at gmail.com
Wed Jun 29 02:58:26 UTC 2011


On Tue, 2011-06-28 at 19:13 -0700, James McKenzie wrote:
> On 6/28/11 6:37 PM, Genes MailLists wrote:
> > On 06/28/2011 08:17 PM, Daniel J Walsh wrote:
> >>>    Does this work as regular user for you? For me -  selinux makes it crash.
> >> run ausearch -m avc -ts recent
> >>
> >> And see if it generates any output.
> >>
> >> SELinux error messages are written to /var/log/audit/audit.log
> >>
> >>
> >>
> >    Thanks Dan - Nope no selinux logs on this one best I can tell. If I
> > run as user I get:
> >
> >   $ needs-restarting
> > Traceback (most recent call last):
> >    File "/usr/bin/needs-restarting", line 137, in<module>
> >      sys.exit(main(sys.argv))
> >    File "/usr/bin/needs-restarting", line 117, in main
> >      for fn in get_open_files(pid):
> >    File "/usr/bin/needs-restarting", line 84, in get_open_files
> >      for line in maps.readlines():
> > IOError: [Errno 13] Permission denied
> >
> >
> >    Its odd - line 117 in needs-restarting is this fragment:
> >
> >
> >      for pid in return_running_pids(uid=myuid):
> >          try:
> >              pid_start = os.stat('/proc/' + pid)[stat.ST_CTIME]
> >          except OSError, e:
> >              continue
> >          found_match = False
> >          for fn in get_open_files(pid):
> >
> > Works fine as root.
> Usually ordinary users are prohibited from accessing /proc/<whatever> 
> from what I remember.  That is why root works and joe-blow does not.
> 
> James McKenzie
> 

In fact most of the contents of /proc/<pid> are world-readable. Try 'ls
-l /proc/<some-pid>'. Specifically, the smaps file is world-readable,
which is what needs-restarting uses to get the names of open files. It
essentially builds a table from the internal equivalent of "grep
fd: /proc/*/smaps".

I invariably run needs-restarting under my own user id just after
updating, and I have never seen the above traceback.

poc



More information about the users mailing list