So what's the problem with something like > > case `id -u` in > 0) # whatever we want for root > ;; > *) # whatever we want for everybody else > ;; > esac > > ?
Answer: The attitude described by the phrase "whatever WE want for (whoever)" Howbout: We have scripts in a dir like /etc/bash/scripts in which are kept common routines. Then, scripts in /etc/skel which call the common routines in /etc/bash/scripts are copied to each person's new account as they are created. This part should change as little as possible. If you want to change a certain startup behavior (a set of which is defined by debian-policy and implemented for each shell), then change /etc/<the shell>/scripts, and then all users will change, _including_ the users _already_ created... at least those who have decided to keep their login on track. Those who don't are on their own, and that is as it should be; many will want to do their own thing, and as Manoj says, debian-policy should respect that. Next, in this scenario, there should be a package separate from the shells and distributed with them that would install a new version, assuming such has changed. In a new installation this would be installed, as the files it would contain reflect current debian-policy. In my opinion, you _cannot_ go changing the behavior of other people's home directories, especially if it's a company or ISP. So, the attitude of "what WE want for *" should apply only upon a clean install. The only other time it should be OK to make such a change is to solve a grave or critical problem. -Jim