# useradd - 创建的新的系统用户

useradd命令 用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd命令建立新用户,如此可方便管理员建立用户帐号。在Red Hat Linux中, adduser命令 则是useradd命令的符号连接,两者实际上是同一个指令。

创建新的系统用户,useradd指令只能以管理员的身份运行,创建的用户都在“/etc/passwd”文件中。当不加-D参数,useradd指令使用命令列来指定新帐号的设定值and使用系统上的预设值.新使用者帐号将产生一些系统档案,使用者目录建立,拷备起始档案等,这些均可以利用命令列选项指定。此版本为RedHat Linux提供,可帮每个新加入的使用者建立个别的group,毋须添加-n选项。

# 适用范围

RedHat
RHEL
Ubuntu
CentOS
Debian
Deepin
SUSE
openSUSE
Fedora
Linux Mint
Alpine Linux
Arch Linux

# 语法

useradd  [-D]  [选项]  [参数]

useradd  [-c comment]  [-d home_dir]  [-e expire_date]  [-f inactive_time]  [-g initial_group]  [-G group[,...]]  [-m [-k skeleton_dir] | -M]  [-s shell]  [-u uid [ -o]]  [-n]  [-r]  login

useradd  -D  [-g default_group]  [-b default_home]  [-f default_inactive]  [-e default_expire_date]  [-s default_shell]

# 选项

--help                           # 显示帮助文档
--version                        # 显示命令版本信息

# 使用-D选项

-b dir

指定用户的基目录,默认是home

-e date

使用者账号有效日期

-f days

指定密码过期后多少天关闭账号

-g group

指定账户的组,这个组必须存在

-s shell

指定账户使用的shell

# 不使用-D选项

 

-c comment

备注信息

-d home

账户每次登陆使用的目录

-e date

账号终止日期,MM/DD/YY

-f days

账号过期后多久停用

-g group

指定账户的组,这个组必须存在

-G group

指定用户的附加组

-m

使用者目录如果不存在,自动创建

-n

取消自动创建于账号同名的组

-p password

设置账户的密码

-r

创建系统账号

-s

指定账户登录后使用的shell

-u uid

指定用户ID

# 相关文件

  • /etc/passwd使用者帐号资讯。
  • /etc/shadow使用者帐号资讯加密。
  • /etc/group群组资讯。
  • /etc/default/useradd定义资讯。
  • /etc/login.defs系统广义设定。
  • /etc/skel内含定义档的目录。

# 举例

新建用户加入组:

useradd –g sales jack –G company,employees    //-g:加入主要组、-G:加入次要组

建立一个新用户账户,并设置ID:

useradd caojh -u 544

需要说明的是,设定ID值时尽量要大于500,以免冲突。因为Linux安装后会建立一些特殊用户,一般0到499之间的值留给bin、mail这样的系统账号。

创建用户

[sogrey@bogon ~]$ sudo useradd -p 123456 userTmp #创建用户userTmp,密码123456
[sudo] sogrey 的密码:
[sogrey@bogon ~]$ tail -n 2 /etc/passwd #查看是否创建成功
vboxadd:x:989:1::/var/run/vboxadd:/bin/false
userTmp:x:1001:1001::/home/userTmp:/bin/bash
[sogrey@bogon ~]$ ls /home/ #查看在home下创建家目录
lost+found  sogrey  userTmp
[sogrey@bogon ~]$ 

设定用户的家目录、uid、备注

[sogrey@bogon ~]$ sudo useradd -d /home/other -u 600 -c "test user" user02 #创建用户
[sogrey@bogon ~]$ tail -n 2 /etc/passwd #查看用户信息
userTmp:x:1001:1001::/home/userTmp:/bin/bash
user02:x:600:1002:test user:/home/other:/bin/bash
[sogrey@bogon ~]$ ls /home/ #家目录other
lost+found  other  sogrey  userTmp
[sogrey@bogon ~]$