Next: Changing user properties
Up: Creating a user
Previous: Initial environment: /etc/skel
To create a new account manually, follow these steps:
- 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.
- Similarly, edit /etc/group with vigr , if
you need to create a new group as well.
- Create the home directory of the user with
mkdir .
- Copy the files from /etc/skel to the new home
directory.
- 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= .
- 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
Lars Wirzenius
Sat Nov 15 02:32:11 EET 1997