[OT] Problems with permissions etc

Frank Millman frank at chagford.com
Wed Jul 27 03:36:37 EDT 2005


Hi all

This is not strictly a Python question, but this newsgroup feels like a
family to me, so I hope that someone will be kind enough to respond to
this, or at least point me in the right direction.

While developing under linux, I use my own computer, as the only user,
so it has become my habit to login as root and do all my work as a
superuser. I know that this is not desirable, but it has become a
habit, which I am now trying to get out of.

Now that I am logging in as an ordinary user, I find that a number of
things that previously 'just worked' have now stopped working. I can
usually find the cause, and tweak whatever is needed to get it working
again, but I am wondering how most people work. Is it normal to
experience these kinds of problems, or am I missing a trick somewhere
and making my life more complicated than it need be?

I will give two examples. I would like advice on the best way to fix
them, but I would prefer a more general reply that explains how
experienced unix/linux users go about handling these kinds of issues.

1. The application I am developing will eventually be deployed as a
multi-user accounting/business system. I want to identify the physical
workstation that generates each transaction, so I am using the mac
address. My method for extracting this is as follows -
	mac = os.popen("ifconfig|grep Ether|awk {print '$5'}").read()[:-1]  #
I did not come up with this myself, I cribbed it from somewhere

As root, this works fine. As non-root, ifconfig is not found. The
reason is that it is in /sbin, and this is not included in the default
path for non-root users. I could either include /sbin in my path, or I
could change the above line to /sbin/ifconfig ... Alternatively, there
may be a better way of getting the mac address or identifying the
workstation.

2. I am using wxPython, which was compiled from source. It so happens
that I did this with a colleague who also has a user account on my
machine, so the compile and install of wxPython was done from his home
directory.

When I start my app as non-root, the import of wx fails, as it cannot
find certain files. They are in the other user's home directory, but as
the top-level directory has permissions of drwx------, my user cannot
read anything in that directory. I can change the directory
permissions, or I can move the files to another area which all users
can read. If the latter, is there a 'correct' place to put them?

I think that these problems are a result of my lack of experience as a
system administrator. On the other hand, the various books and articles
I have read to try and improve my knowledge have not covered these
kinds of issues. Is it just something that one learns the hard way?

Any advice, especially pointers to reading matter that covers this
topic, will be much appreciated.

Thanks

Frank Millman




More information about the Python-list mailing list