- Introduction to UNIX Users and Groups
- The Users and Groups Module
- Creating a New User
- Editing an Existing User
- Deleting a User
- Creating a New Group
- Editing an Existing Group
- Deleting a Group
- Viewing Recent and Current Logins
- Reading Users' Email
- Creating Users from Batch Files
- Configuring the Users and Groups Module
- Before and After Commands
- Module Access Control
- Other Operating Systems
4.3 Creating a New User
To create a new UNIX user, complete the following steps:
Click on the Create a new user link above or below the table of existing users. A form for entering the details of the new user will appear, as shown in Figure 4.4.
Figure 4.4. The user creation form.
At this point you have to decide on a username for the new user, which should be something simple without spaces in it—like jcameron or jamie—and not used by any other user. If your server is receiving email, the username determines the part of the user's email address to the left of the @. Enter your choice in the Username field.
The User ID field should generally be left unchanged, as it is worked out for you by Webmin. If you set it to the same user ID as another user, they will be able to access each other's files. This is generally not a good idea.
In the Real name field, you should enter the user's full name, such as Jamie Cameron.
Every user has a home directory, in which the user stores his personal documents and preference files. In the Home directory field, you should enter a directory that does not exist yet, such as /home/jcameron. When the user is created, this directory will be created and its ownership granted to the new user.
If Webmin on your system offers an Automatic option for the home directory, it is generally best to stick with that.
The user's shell is a program that is run when he makes a text mode login of some kind (via SSH, for example), or opens a shell prompt after logging in graphically at the console. The shell is responsible for running the commands that you type (such as ls and cat), running scripts on login and logout, and providing an interface for command editing. Shells like bash and tcsh are easier for users to use, because they allow the up and down arrows to be used to scroll through previous commands, and the tab key to auto-complete commands and filenames.
In some cases, you might not want a user to be able to make a shell login at all, as in when the user is only meant to be able to read and send email. In that case, his shell should be set to /bin/false, which is a program that does nothing and exits immediately.
You should select whatever shell you want the user to have from the list in the Shell field. If your choice is not on the list, select the Other option and enter the path to the shell in the field below.
For the Password field, you have four choices:
No password required The user can login without needing to enter any password.
No login allowed The user can never login.
Normal password You get to enter the user's password.
Pre-encrypted password You must enter a password that is already encrypted, such as one taken from the /etc/shadow file on another system.
Generally you will want to use the Normal password option. Note that on many operating systems, only the first eight characters of the password are actually used.
On most systems, a set of inputs under the heading Password options will be available. The first of these is the Expiry date—if you want the user to be unable to login after a particular date, fill in this field.
The Minimum days field is the number of days after the user is created or the password is last changed that the user must wait before changing it again. Leave it blank to allow changing as soon as the user wants.
The Maximum days field is the number of days after the user is created or the password is last changed that the password will expire and need to be changed. A user with this option set will be forced to change his password periodically, which is good for system security. Leave it blank to prevent the password from ever expiring.
The Warning days field is the number of days before the password expiry date that the user will be warned at login that his password is about to expire. If left blank, the user will not know that his account has expired until he tries to log in and is forced to choose a new password.
The Inactive days field is the number of days after the password expires that the entire account will be disabled if the user has not chosen a new password. If left empty, the account will never expire.
For the Primary group, either select an existing group or enter the name of a new one that Webmin will create for you.
If you want the user to be a member of more than one group, select some of the groups from the Secondary group list.
If you want the user's home directory to be created, select the Create home directory? option. If the directory does not already exist, you should select this as well as Copy files to home directory? so that the user gets a basic set of preference files like .profile and Desktop.
To create the user in other modules that you have configured for such action, select Create user in other modules? It is possible to set up the Samba module to automatically create a user in its user list, and the MySQL module to create a new database user, among others.
To create the user, click the Create button. After a short delay, you will be returned to the list of existing users, which should include your newly created user.
Once the Create button has been clicked, the new user will be able to login via SSH, telnet, or whatever other services you have set up