添加用户 useradd

1、命令格式useradd [options] USERNAME

2、命令功能

useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。

使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中

在Red Hat Linux中,adduser命令则是useradd命令的符号连接,两者实际上是同一个指令。

useradd可以添加的选项,指定用户的默认家目录,是不要创建家目录,用户的默认shell,用户的简介,用户的UID,用户基本组ID,附加组ID;

管理员用户:0

系统用户的UID:1-499

普通用户的UID数值:

UID_MIN            500      GID_MIN       500

UID_MAX           60000      GID_MAX       60000

3、命令参数

-u:指定用户的UID

-g:指定用户的基本组ID,组要事先存在

-G:指定用户的附加组ID,组要事先存在

-d:指定默认家目录,默认在home下创建跟用户名同名的目录,存放位置的父目录要事先存在

;-D:为用户指定新的默认值,默认值存放位置 /etc/default/useradd

-s:指定用户的默认shell,默认为/bin/bash,应指定使用/etc/shells文件出现的shell

-c:指定用户的描述信息

-m:创建用户强制创建家目录

-m:创建用户时不创建家目录

-o:允许创建一个用户非独立的UID,可以与其他UID相同

-r:创建系统账号,默认不创建家目录,id:1-499

4、使用实例

1、创建用户hadoop

命令:useradd hadoop[[email protected] ~]# useradd hadoop

[[email protected] ~]# tail -1 /etc/passwd
hadoop:x:504:506::/home/hadoop:/bin/bash
[[email protected] ~]#

提示:查看用户是否创建成功,查看/etc/passwd文件即可

2、创建系统用户 mysql

命令:useradd -r mysql[[email protected] ~]# !ta

tail -1 /etc/passwd
mysql:x:497:497::/home/mysql:/bin/bash
[[email protected] ~]#

3、创建用户并使用指定的UID

命令:useradd -u number[[email protected] ~]# useradd -u 530 fedora

[[email protected] ~]# !ta
tail -1 /etc/passwd
fedora:x:530:530::/home/fedora:/bin/bash
[[email protected] ~]#

提示:创建用户时如果没有指定用户的基本组会创建同用户名称相同的基本组

4、创建用户user1,附加组为docker,和fedora

命令:useradd -G docker,fedorauser1[[email protected] ~]# userdel -r user1

[[email protected] ~]# useradd -G docker,fedora user1
[[email protected] ~]# id user1
uid=532(user1) gid=532(user1)groups=532(user1),501(docker),530(fedora)
[[email protected] ~]#

5、创建用户时指定默认家目录

命令:useradd -d USERNAME[[email protected] ~]# ls /users/ -d

/users/
[[email protected] ~]# useradd -d /users/user2 users2
[[email protected] ~]# ls /users/
user2
[[email protected] ~]# tail -1 /etc/passwd
users2:x:531:531::/users/user2:/bin/bash

[[email protected] ~]#

6、创建用户时,不创建家目录

命令:useradd -M USERNAME[[email protected] ~]# useradd -M user3

[[email protected] ~]# ll /home/
total 32
drwx------. 2 docker    docker    4096 Jan  3 14:44 docker
drwx------. 2 fedora    fedora    4096 Jan  3 15:46 fedora
drwx------. 2 hadoop    hadoop    4096 Jan  3 15:37 hadoop
drwx------. 2 root      root     16384 Dec 26 08:57 lost+found
drwx------. 2 openstack openstack  4096 Jan 3 14:44 openstack
[[email protected] ~]# !ta
tail -1 /etc/passwd
user3:x:532:532::/home/user3:/bin/bash
[[email protected] ~]#

提示:/etc/passwd文件中的目录路径是存在的,但是没有在home目录下创建家目录

7、创建用户时,并指定默认shell

命令:useradd -s SHELL USERNAME[[email protected] ~]# cat /etc/shells

/bin/sh
/bin/bash
/sbin/nologin   //不可登陆shell,服务用户一般不登陆系统,用此shell即可
/bin/dash
/bin/tcsh
/bin/csh
[[email protected] ~]# useradd -s /bin/tcsh user4
[[email protected] ~]# !ta
tail -1 /etc/passwd
user4:x:533:533::/home/user4:/bin/tcsh
[[email protected] ~]#
/etc/passwd文件简介user4:x:533:533::/home/user4:/bin/tcsh

用户名:x(密码占位符):UID:基本组(GID)ID:备注信息(comment):HOME(家目录):默认shell

/etc/shadow文件简介user1:!!:17169:0:99999:7:::

Username:加密的密码(!!表示没有设置密码):最近一次密码修改时间:最短使用期限:最长使用期限:警告区间:非活动区间:账号的过期期限:预留段

id:查看用户的相关信息

id [options][USERNAME]

USERNAME不指定则是当前用户

-a:查看用户的所有信息

-u:查看用户的UID

-g:查看用户的基本组GID

-G:查看用户的附加组ID

-n:查看用户的信息与-ugG连用,打印出的不是数字是名字