Useradd For Mac



Table of Contents

You could also Google for the case useradd just doesn't exist and find things like these: Re: CLI: command line equivalent of useradd on MAC OS X zaxxon View Public Profile for zaxxon.

  1. By default the command useradd doesn't create home directories, but for a daemon I recommend you to use the system option and change the shell to a non-existent one so no one can login with said account (in ssh for example): sudo useradd -r -s /bin/false USERNAME.
  2. Sudo useradd -m username The -m option, will create the home folder at: /home/username, then set the password. Sudo password username You will have to enter the password twice. If you want to change the default location of the home folder, use this command. Sudo useradd -m -d /some/folder username And if you want to assign the user to an extra group.

Linux useradd Command with Examples

The useradd is a low-level utility used to manage users on the Linux system. By using useradd utility you create new users and assign them to the groups. As Linux is a multiuser system it’s important for the administrator to manage tasks like adding user, removing user, assigning a user to the group, etc. In this tutorial, we are going to learn Linux useradd command with examples.

Basic Syntax of useradd Command

When creating a new user with given options using useradd command, It reads /etc/default/useradd file for default values and /etc/login.defs file for password policies, user id ranges etc.

Following is the basic syntax for useradd command in Linux.

Where,
OPTIONS: These are the options used with useradd command specified here.
USERNAME: Name of the user that will be used with this command.

How to Create a New User in Linux System

To only create a new user using useradd command you run this command without any options.

Run the following command to create a user names demouser in your Linux system.

After completing the execution of the above command, it will create the new user using default values specified in /etc/default/useradd file.

Now to make this user login to the system you should set the password to the newly created user. To set the password to demouser you can run below command:

Now you will be asked to enter the password, enter the password and confirm it when you asked.

How to Create User with Specific User ID

When we create a user using useradd function user ID will be assigned to the user reading /etc/login.defs files. You can also create a new user with specific user id by using -u option with useradd command:

To create a user with User ID 1401 you can run following command in the terminal:

Confirm and verify User ID with id command:

The output should be:

How to Create a User With Home Directory

To create a user with home directory you should use -m option with useradd command.

Create a user named demouser2 with home directory run below command:

Here the new user will be created with home directory /home/demouser2.

To confirm the creation of the directory run below command:

Conclusion

In this tutorial, you have learned Linux useradd Command with Examples successfully. If you have any of the queries regarding this then you can comment below.

useradd: create a new user or update default new user information

Command to display useradd manual in Linux: $ man 8 useradd

NAME

useradd - create a new user or update default new user information

SYNOPSIS

By default, a group will also be created for the new user (see-g,-N,-U, andUSERGROUPS_ENAB).

OPTIONS

The options which apply to theuseraddcommand are:

-b, --base-dirBASE_DIR

The default base directory for the system if-dHOME_DIRis not specified.BASE_DIRis concatenated with the account name to define the home directory. If the-moption is not used,BASE_DIRmust exist.

If this option is not specified,useraddwill use the base directory specified by theHOMEvariable in/etc/default/useradd, or/homeby default.

-c, --commentCOMMENT

-d, --home-dirHOME_DIR

LOGINname toBASE_DIRand use that as the login directory name. The directoryHOME_DIRdoes not have to exist but will not be created if it is missing.

-D, --defaults

-e, --expiredateEXPIRE_DATE

The date on which the user account will be disabled. The date is specified in the formatYYYY-MM-DD.

If not specified,useraddwill use the default expiry date specified by theEXPIREvariable in/etc/default/useradd, or an empty string (no expiry) by default.

-f, --inactiveINACTIVE

The number of days after a password expires until the account is permanently disabled. A value of 0 disables the account as soon as the password has expired, and a value of -1 disables the feature.

If not specified,useraddwill use the default inactivity period specified by theINACTIVEvariable in/etc/default/useradd, or -1 by default.

-g, --gidGROUP

The group name or number of the user's initial login group. The group name must exist. A group number must refer to an already existing group.

If not specified, the behavior ofuseraddwill depend on theUSERGROUPS_ENABvariable in/etc/login.defs. If this variable is set toyes(or-U/--user-groupis specified on the command line), a group will be created for the user, with the same name as her loginname. If the variable is set tono(or-N/--no-user-groupis specified on the command line), useradd will set the primary group of the new user to the value specified by theGROUPvariable in/etc/default/useradd, or 100 by default.

-G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]

Display help message and exit.

-k, --skelSKEL_DIR

The skeleton directory, which contains files and directories to be copied in the user's home directory, when the home directory is created byuseradd.

This option is only valid if the-m(or--create-home) option is specified.

If this option is not set, the skeleton directory is defined by theSKELvariable in/etc/default/useraddor, by default,/etc/skel.

If possible, the ACLs and extended attributes are copied.

-K, --keyKEY=VALUE

Overrides/etc/login.defsdefaults (UID_MIN,UID_MAX,UMASK,PASS_MAX_DAYSand others).

Example:-KPASS_MAX_DAYS=-1can be used when creating system account to turn off password aging, even though system account has no password at all. Multiple-Koptions can be specified, e.g.:-KUID_MIN=100-KUID_MAX=499

-l, --no-log-init

Do not add the user to the lastlog and faillog databases.

By default, the user's entries in the lastlog and faillog databases are reset to avoid reusing the entry from a previously deleted user.

For the compatibility with previous Debian'suseradd, the-Ooption is also supported.

-m, --create-home

Create the user's home directory if it does not exist. The files and directories contained in the skeleton directory (which can be defined with the-koption) will be copied to the home directory.

By default, if this option is not specified andCREATE_HOMEis not enabled, no home directories are created.

-M, --no-create-home

CREATE_HOME) is set toyes.

-N, --no-user-group

Do not create a group with the same name as the user, but add the user to the group specified by the-goption or by theGROUPvariable in/etc/default/useradd.

The default behavior (if the-g,-N, and-Uoptions are not specified) is defined by theUSERGROUPS_ENABvariable in/etc/login.defs.

-o, --non-unique

Allow the creation of a user account with a duplicate (non-unique) UID.

This option is only valid in combination with the-uoption.

-p, --passwordPASSWORD

The encrypted password, as returned bycrypt(3). The default is to disable the password.

Note:This option is not recommended because the password (or encrypted password) will be visible by users listing the processes.

You should make sure the password respects the system's password policy.

-r, --system

Create a system account.

System users will be created with no aging information in/etc/shadow, and their numeric identifiers are chosen in theSYS_UID_MIN-SYS_UID_MAXrange, defined in/etc/login.defs, instead ofUID_MIN-UID_MAX(and theirGIDcounterparts for the creation of groups).

Note thatuseraddwill not create a home directory for such a user, regardless of the default setting in/etc/login.defs(CREATE_HOME). You have to specify the-moptions if you want a home directory for a system account to be created.

-R, --rootCHROOT_DIR

The name of the user's login shell. The default is to leave this field blank, which causes the system to select the default login shell specified by theSHELLvariable in/etc/default/useradd, or an empty string by default.

-u, --uidUID

The numerical value of the user's ID. This value must be unique, unless the-ooption is used. The value must be non-negative. The default is to use the smallest ID value greater than or equal toUID_MINand greater than every other user.

See also the-roption and theUID_MAXdescription.

-U, --user-group

Create a group with the same name as the user, and add the user to this group.

The default behavior (if the-g,-N, and-Uoptions are not specified) is defined by theUSERGROUPS_ENABvariable in/etc/login.defs.

-Z, --selinux-userSEUSER

Useradd

Changing the default values

Create user mac terminal

When invoked with only the-Doption,useraddwill display the current default values. When invoked with-Dplus other options,useraddwill update the default values for the specified options. Valid default-changing options are:

-b, --base-dirBASE_DIR

The path prefix for a new user's home directory. The user's name will be affixed to the end ofBASE_DIRto form the new user's home directory name, if the-doption is not used when creating a new account.

This option sets theHOMEvariable in/etc/default/useradd.

-e, --expiredateEXPIRE_DATE

The date on which the user account is disabled.

This option sets theEXPIREvariable in/etc/default/useradd.

-f, --inactiveINACTIVE

The number of days after a password has expired before the account will be disabled.

This option sets theINACTIVEvariable in/etc/default/useradd.

-g, --gidGROUP

The group name or ID for a new user's initial group (when the-N/--no-user-groupis used or when theUSERGROUPS_ENABvariable is set tonoin/etc/login.defs). The named group must exist, and a numerical group ID must have an existing entry.

This option sets theGROUPvariable in/etc/default/useradd.

-s, --shellSHELL

The name of a new user's login shell.

This option sets theSHELLvariable in/etc/default/useradd.

NOTES

The system administrator is responsible for placing the default user files in the/etc/skel/directory (or any other skeleton directory specified in/etc/default/useraddor on the command line).

CAVEATS

You may not add a user to a NIS or LDAP group. This must be performed on the corresponding server.

Similarly, if the username already exists in an external user database such as NIS or LDAP,useraddwill deny the user account creation request.

It is usually recommended to only use usernames that begin with a lower case letter or an underscore, followed by lower case letters, digits, underscores, or dashes. They can end with a dollar sign. In regular expression terms: [a-z_][a-z0-9_-]*[$]?

On Debian, the only constraints are that usernames must neither start with a dash ('-') nor plus ('+') nor tilde ('~') nor contain a colon (':'), a comma (','), or a whitespace (space: ' ', end of line: 'n', tabulation: 't', etc.). Note that using a slash ('/') may break the default algorithm for the definition of the user's home directory.

Usernames may only be up to 32 characters long.

CONFIGURATION

The following configuration variables in/etc/login.defschange the behavior of this tool:

CREATE_HOME (boolean)

Indicate if a home directory should be created by default for new users.

This setting does not apply to system users, and can be overridden on the command line.

GID_MAX (number), GID_MIN (number)

Range of group IDs used for the creation of regular groups byuseradd,groupadd, ornewusers

Mac Usermod

.

The default value forGID_MIN(resp.GID_MAX) is 1000 (resp. 60000).

MAIL_DIR (string)

Defines the location of the users mail spool files relatively to their home directory.

TheMAIL_DIRandMAIL_FILEvariables are used byuseradd,usermod, anduserdelto create, move, or delete the user's mail spool.

MAX_MEMBERS_PER_GROUP (number)

Maximum members per group entry. When the maximum is reached, a new group entry (line) is started in/etc/group(with the same name, same password, and same GID).

The default value is 0, meaning that there are no limits in the number of members in a group.

This feature (split group) permits to limit the length of lines in the group file. This is useful to make sure that lines for NIS groups are not larger than 1024 characters.

If you need to enforce such limit, you can use 25.

Note: split groups may not be supported by all tools (even in the Shadow toolsuite). You should not use this variable unless you really need it.

PASS_MAX_DAYS (number)

The minimum number of days allowed between password changes. Any password changes attempted sooner than this will be rejected. If not specified, -1 will be assumed (which disables the restriction).

Useradd For Mac Catalina

PASS_WARN_AGE (number)

If set toyes,userdelwill remove the user's group if it contains no more members, anduseraddwill create by default a group with the name of the user.

FILES

/etc/passwd

Secure user account information.

/etc/group

Secure group account information.

/etc/default/useradd

Directory containing default files.

/etc/subgid

Per user subordinate user IDs.

Mac New User

/etc/login.defs

EXIT VALUES

Theuseraddcommand exits with the following values:

0

can't update password file

2

invalid argument to option

4

specified group doesn't exist

9

can't update group file
Mac add user command line

12

14

SEE ALSO

chfn(1),chsh(1),passwd(1),crypt(3),groupadd(8),groupdel(8),groupmod(8),login.defs(5),newusers(8),subgid(5), subuid(5),userdel(8),usermod(8).

Pages related to useradd

  • useradd_selinux (8) - Security Enhanced Linux Policy for the useradd processes
  • user_dbusd_selinux (8) - Security Enhanced Linux Policy for the user_dbusd processes
  • user_gkeyringd_selinux (8) - Security Enhanced Linux Policy for the user_gkeyringd processes
  • user_mail_selinux (8) - Security Enhanced Linux Policy for the user_mail processes
  • user_screen_selinux (8) - Security Enhanced Linux Policy for the user_screen processes
  • user_selinux (8) - Generic unprivileged user - Security Enhanced Linux Policy
  • user_seunshare_selinux (8) - Security Enhanced Linux Policy for the user_seunshare processes
  • user_ssh_agent_selinux (8) - Security Enhanced Linux Policy for the user_ssh_agent processes
  • user_wine_selinux (8) - Security Enhanced Linux Policy for the user_wine processes
  • smbldap-useradd (8) - Create a new user
Linux man pages generated by: SysTutorials. Linux Man Pages Copyright Respective Owners. Site Copyright © SysTutorials. All Rights Reserved.