When we use
useradd, what is the difference between
-m? Because the definitions of both sound similar, which is responsible for creating a home directory.
When we use
The 2 options are not really similar, but they can work together. If you look at the manpage of
useradd you'll find the following:
-d, --home-dir HOME_DIR The new user will be created using HOME_DIR as the value for the user's login directory. The default is to append the LOGIN name to BASE_DIR and use that as the login directory name. The directory HOME_DIR does not have to exist but will not be created if it is missing. -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 -k option) will be copied to the home directory. By default, if this option is not specified and CREATE_HOME is not enabled, no home directories are created.
-d option is just to set where the home directory of the created user will be but it will not create it if it doesn't exist. While the
-m option will create the home directory that is set by
-d if it doesn't exist.