On Fri, 5 May 2000, Wizaerd wrote:
> Coming from a MS background, the hardest thing I've had to deal with in
> trying to learn Linux is the file permissions stuff. In MS, everything is
> open until you specify permisssions for it, but in Linux it's completely
> opposite of that. Everything is locked down until you tell it to be more
> open. This has always been a stumbling blcok for me.
Each file (which includes directories) in UNIX has 4 groups of three
permission bits. You can view the permissions on a file by `ls -l`, which
tells `ls` to show lots of information.
The ouput comes in columns, which are ordered:
permissions, links, owner, group, size, modified date, filename
Some output from various files:
---------------------------------------------------------------------------
drwxr-xr-x 4 matt matt 1024 Mar 17 14:28 /home/matt/Desktop
drwxrwxrwt 10 root root 2048 May 6 00:56 tmp/
-rwxr-xr-x 1 root root 617564 Dec 20 16:17 /bin/vi
brw-rw---- 1 root disk 3, 0 May 5 1998 /dev/hda
lrwxrwxrwx 1 matt root 9 Feb 16 19:43 /dev/dsp -> /dev/dsp0
crw------- 1 matt sys 14, 3 Dec 5 15:05 /dev/dsp0
-rwsr-xr-x 1 root root 48864 Dec 27 09:12 /bin/mount
srwxr-xr-x 1 matt matt 0 May 5 11:09 /tmp/xmms_matt.0
The first letter of the permissions column tells you the type of file:
- regular file
d directory
c character special device
b block special device
l symbolic (soft) link
p fifo
s socket
The rest of the bits tell you permissions. They are in three groups of r,
w, and x. A hyphen "-" means that permission is not set for the
file. The first group is owner rights, the second is group rights, and
the third is everyone else.
"r" means the file may be read from. "w" means the file may be written
to. "x" means it's executable (this has different meaning based on the
type of file).
Take, for example, /bin/vi. It's a regular file, and can be read from,
written to, and executed by the owner (root). It may only by read and
executed by it's group (also named root), and only read and executed by
everyone else.
Make sense?
-Matt Stegman
<[EMAIL PROTECTED]>
>
> I have Apache and PHP on my system. Apache starts as root but child
> instances are run as nobody. In a PHP script I'm trying to make a directory
> but am told I do not have the required permissions to do that (which would
> mean 'nobody' doesn't have the correct access rights.).
>
> How do I make /home/Apache/htdocs a directory that 'nobody' can create other
> directories in?
>
> thanx!
>
> Joseph E. Sheble
> a.k.a. Wizaerd
> Wizaerd's Realm
> Canvas, 3D, Graphics, ColdFusion
> http://www.wizaerd.com
> =================================
> Zanova, Inc.
> http://www.zanova.com
> Moving Business Forward.....
> =================================
>
>