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

Re: User permissions and groups



On Tue, 2003-04-29 at 01:44, nrvous6@netscape.net wrote:
> No, that wasn't taken as a flame at all.  In all honesty, you answered
> the question perfectly, because you addressed the faulty logic behind
> it.  The other answer I've received so far was very good as well, and
> gave me a way to work around the problem.  All of what you said makes
> a lot of sense, actually.  I was reading "Understanding the Linux
> Kernel" (O'Reilly) earlier tonight, and what you said is exactly what
> hit me.  I keep thinking in the single-user, "Windows" mode (you may
> slap my wrist now) instead of what Linux truly is...a Unix mainframe
> in the body of a PC.  
> 

That's ok, you're entitled... you're a newbie! ;) :)

> So, then, in relation to Linux on the desktop (that's sure the hot
> topic of the year!), the question is thus:  Does the Linux community
> (and distros in particular) have to change it's paradigm to
> accommodate how users view their computers and how they are used, or
> it necessary to show the typical end-user a new way to do everyday
> "home computing"?  It would seem that Lindows and Lycoris are doing
> the first, and RedHat and Mandrake are trying the second.  How this
> will turn out, I don't think we will see for a while.  Thanks for the
> insight, though.  It is much appreciated!

Ok, here goes my best "off-the-top-of-my-head" take on what you're
asking.... ;)

Compare a Linux desktop to a Windows 2K/XP machine. (don't flame me
everyone... I'm just contrasting!) 

They come with multiple users and those users have rules. Now, if you've
ever used one of those machines in a work environment, you were probably
restricted to use whatever came on the system and that was it. You could
save items in your "personal data" (home directory) folder and nothing
more. Much like a standard Linux machine.

If you ever used one of these systems as a Power User, then you had more
rights on the machine and could now install programs and such. This idea
is not impossible in Linux, it's just not an obvious one because the
more privileges you give a user, the more problems you give the
administrator.

Now take XP. When you install it on a machine the first time, it asks
you if you're going to be the only person using this machine. When you
say yes, it leaves your user setup as an administrator and I'm sure you
can guess what that could do. Microsoft has taken extra measures now to
restrict certain parts of the OS to help the stability of the system,
and now, even the administrator cannot change/remove them. Typical,
response from them, let's give them all the power to do anything to the
box, only let's just make it *look* like we did....

Perhaps now you can see that Linux on the desktop isn't really so
different...?

Now, how about this? There are Users and Groups in Linux. Every User
belongs to a Group. All permissions in the filesystem are setup with
settings relative to the User that Owns it, the Users in the Group that
Owns it, and all other Users on the system. (remember that some of the
users on the machine are just for system processes and not "real" users)
It is therefore possible to create a "Power Users" group (relatively
speaking) and enable some changes to certain key areas of the filesystem
(ones that do *not* affect the integrity of the system) and add your
user to that goup. This way, you have given your self a touch more
power, and can do a few more things w/o jeopardizing the whole system.

here's an example:

You've found a new program you would really like to play with. It's
called xyz. So, you pull your xyz.tar.gz off the net and untar it. Now
you go into the xyz source directory and you "./configure" it and "make"
it and then you're ready to install it.

But wait! You can't install it, because you don't have permissions to
write anything in the /usr/local directory structure. You could just "su
-" to root and then run the "make install" command and be done with it.
Or you could do the "./configure" command all over again and change the
"$PREFIX" variable in the compilation setup to a directory structure in
your home directory. Both of these are perfectly acceptable answers, and
the former one being the standard practice.

However, you create your group "installers" and you change the ownership
of the /usr/local directory's group to "installers" and you make it
Group Writable. Now, you add your user "adamthegreat" to the
"installers" group and thus enable your self to install things inside
/usr/local as yourself. This isn't psycho dangerous, since this area
doesn't have that many system programs. Typically, /usr/local is the
default installation place for most source packages you pull down off
the net. (not that that is the right way, it's just the typical way)

</example>

Now, a little piece of advice... you said you were reading the Linux
Kernel and you related to more of what I was saying originally. I
applaude your reading this information, but I would recommend reading
more appropriate books for a person with limited experience in Linux.
O'Reilly has some really great books out there for the newbies, and the
first one I recommend is "Running Linux" it's pretty generic and it
gives quite a bit of information as it is a diverse book. It's also on
it's 4th edition, so you'll get valuable "up-to-date" information! I'm
not telling you *not* to read the Kernel and other books of Linux depth,
but I would recommend growing more before swimming into the deep waters.

Afterall, if you're asking questions like this one, it would benefit you
greatly to stay more in this league until you're ready to play in the
majors! :)

Again, I really hope this helps!
-- 
Travis Owens <openbook@linuxmds.com>
Linux MDs

This is a digitally signed message part