Keywords: sag

Next: Changing user properties Up: Creating a user Previous: Initial environment: /etc/skel

## Creating a user by hand

To create a new account manually, follow these steps:

1. Edit `/etc/passwd` with `vipw` (8) and add a new line for the new account. Be careful with the syntax. Do not edit directly with an editor! `vipw` locks the file, so that other commands won't try to update it at the same time. You should make the password field be ``*`', so that it is impossible to log in.
2. Similarly, edit `/etc/group` with `vigr` , if you need to create a new group as well.
3. Create the home directory of the user with `mkdir` .
4. Copy the files from `/etc/skel` to the new home directory.
5. Fix ownerships and permissions with `chown` and `chmod` . The `-R` option is most useful. The correct permissions vary a little from one site to another, but usually the following commands do the right thing:

   > `cd /home/newusername
   > chown -R username.group .
   > chmod -R go=u,go-w .
   > chmod go= .`

6. Set the password with `passwd` (1).

After you set the password in the last step, the account will work. You shouldn't set it until everything else has been done, otherwise the user may inadvertently log in while you're still copying the files.

It is sometimes necessary to create dummy accounts that are not used by people. For example, to set up an anonymous FTP server (so that anyone can download files from it, without having to get an account first), you need to create an account called `ftp`. In such cases, it is usually not necessary to set the password (last step above). Indeed, it is better not to, so that no-one can use the account, unless they first become `root`, since `root` can become any user.

Next: Changing user properties Up: Creating a user Previous: Initial environment: /etc/skel