Process Understanding

Dan Track dan.track at gmail.com
Mon Feb 5 11:07:34 UTC 2007


On 2/5/07, Cameron Simpson <cs at zip.com.au> wrote:
> On 05Feb2007 10:28, Dan Track <dan.track at gmail.com> wrote:
> | I'm trying to get my head round how processes start and how they get
> | their environment, especially env variables.
> | Let's say you have two scenarios, one where a user e.g www has the
> | following entry in /etc/passwd
> |
> | www:x:500:500::/home/www:/bin/bash
> |
> | and the other where the user has the following entry:
> |
> | apache:x:48:48:Apache:/var/www:/sbin/nologin
> |
> | The main difference between the two that I would like to focus on is
> | the that one user has a bash shell (www) while the other has no shell
> | (apache).
> |
> | If both users are used to start an httpd process, then where and how
> | do the processess get their environment variables, i.e what files are
> | read in both cases e.g /etc/profile, /etc/bashrc etc.?
>
> Well first up, only "www" can "log in". At login time a shell will
> source a bunch of files to set up its initial environment - its starts
> with something very simple from the login command (which issues the
> login prompt).
>
> However, a web server startup is not a login shell. The web server is
> simply invoked, typically from an init script. The login shell of the
> user is not involved at all.
>
> So there's not difference in the example you cite.
> --

Hi

Thanks for the reply. If the web server user does not have a login
shell then where does the daemon get its environment variables from?

Regards
Dan




More information about the users mailing list