Changing the Default
Shell for a User

 General Information

Introduction

Often it is desirable to use a different shell than the standard csh. This page will tell you where the default shell of each user is stored, and how to change it. Here we assume that you do not use NIS or another network service for authentification.

Changing the Default Shell

Basic user information like its login name, home directory and encrypted password is stored in a central database in /etc/passwd. Here is a snapshot of a standard /etc/passwd file:

root:abcdefghij:0:0:Super-User:/usr/people/root:/bin/csh
sysadm:*:0:0:System V Administration:/usr/admin:/bin/sh
cmwlogin:*:0:994:CMW Login UserID:/usr/CMW:/sbin/csh
diag:*:0:996:Hardware Diagnostics:/usr/diags:/bin/csh
daemon:*:1:1:daemons:/:/dev/null
bin:*:2:2:System Tools Owner:/bin:/dev/null
uucp:*:3:5:UUCP Owner:/usr/lib/uucp:/bin/csh
sys:*:4:0:System Activity Owner:/var/adm:/bin/sh
adm:*:5:3:Accounting Files Owner:/var/adm:/bin/sh
lp:*:9:9:Print Spooler Owner:/var/spool/lp:/bin/sh
nuucp::10:10:Remote UUCP User:/var/spool/uucppublic:/usr/lib/uucp/uucico
auditor:*:11:0:Audit Activity Owner:/auditor:/bin/sh
dbadmin:*:12:0:Security Database Owner:/dbadmin:/bin/sh
sgiweb:*:13:60001:SGI Web Applications:/var/www/htdocs:/bin/csh
rfindd:*:66:1:Rfind Daemon and Fsdump:/var/rfindd:/bin/sh
EZsetup::992:998:System Setup:/var/sysadmdesktop/EZsetup:/bin/csh
demos::993:997:Demonstration User:/usr/demos:/bin/csh
OutOfBox::995:997:Out of Box Experience:/usr/people/OutOfBox:/bin/csh
guest::998:998:Guest Account:/usr/people/guest:/bin/csh
4Dgifts:*:999:998:4Dgifts Account:/usr/people/4Dgifts:/bin/csh
nobody:*:60001:60001:SVR4 nobody uid:/dev/null:/dev/null
noaccess:*:60002:60002:uid no access:/dev/null:/dev/null
nobody:*:60001:60001:original nobody uid:/dev/null:/dev/null
kaya:abcdefghij:3002:20:Kaya Memisoglu:/usr/people/kaya:/bin/csh

All entries follow a common pattern:

[login]:[password]:[uid]:[gid]:[rname]:[home]:[shell]

with the following meaning:

Name Meaning
login login name of the user
password encrypted password of the user
uid user-id
gid group-id
rname real name
home home directory
shell shell

There are users with their encrypted password set to an asterix *, this means that the account is disabled and the user cannot login to the system. An empty field means that no password is installed, like in the "OutOfBox" user and the "demos" user.

You may also have noticed that there are lots of strange users like "daemon", "bin" etc. These are system accounts needed by IRIX and are disabled, so nobody can login with such an account, which often has addition permissions.

Now it should also be straight forward how to change the default shell: You simply need to edit the last field in the corresponding line of the user.

 Links
  • none