如何使用 useradd 命令?

Crq
Crq
管理员
1953
文章
0
粉丝
Linux教程评论8字数 884阅读2分56秒阅读模式
摘要useradd 命令可以让超级用户(比如root)在 Linux 系统中创建新的用户账户。下面我们来详细看下如何使用 useradd 命令。

如何使用 useradd 命令?
AJNAPY Data Background digital illustration

我们在​​《如何在 Ubuntu和 Debian 上创建 sudo 用户》​​​一文中提到过 useradd 命令,useradd 命令可以让超级用户(比如root)在 Linux 系统中创建新的用户账户。

它是一个低级实用程序,默认情况下只是简单的创建用户,但是提供了几个选项来创建具有各种配置的用户。

以下是useradd命令的语法:

useradd [options] username

在这里需要注意,必须是 root 用户或者具有 sudo 权限的用户才能使用次命令
下面我们来详细看下如何使用 useradd 命令。

使用 useradd 命令在 Linux 中添加新用户

不带任何选项的情况下使用 useradd 命令,如下所示:

useradd new_username

上述命令会创建一个用户账户,但是:

  • 不会创建用户的主目录;
  • 密码必须单独设置;
  • 用户的默认 shell 是 sh。

如此,可以使用 passwd 命令为此新用户账户设置密码:

passwd new_username
使用 useradd 命令添加用户同时创建主目录

useradd 命令的 -m 选项可以将系统框架目录(system skeleton directory,位于 /etc/skel)中的所有文件复制到新创建的主目录中。

这样就意味着,我们可以使用 -m 选项来创建一个具有主目录的用户:

useradd -m new_username

此外,还可以使用 -d 选项将现有的一个目录指定为新创建用户的主目录:

useradd -d Path_to_Existing_Directory new_username
添加新用户时指定 shell

useradd 命令创建的新用户,其默认 shell 是 sh。在现代系统中,尤其当 bash 或者 zsh 诞生以后,已经很少人在使用 sh 了。

我们可以在创建用户后更改其默认 shell,但也可以在创建用户账户的同时使用 -s 选项来指定一个默认的 shell。

比如,如果我们想要将 bash 作为新用户的默认 shell,可以执行如下操作:

useradd -s /bin/bash new_username
添加新用户时指定一个不同名称的组

通常,创建新用户时,会创建与该用户同名的组,新用户被添加为此组的成员。

使用选项 -g,可以将新用户添加到已存在的组中,作为其默认组:

useradd -g Existing_Group_Name_or_ID new_username

比如我们在为开发人员创建账户,可能希望将所有开发人员添加到 "dev" 组中。

此外,还可以使用选项 -G(大写的G),额外将用户添加到其他现有组中:

useradd -G group_1 group_2 new_username

比如,如果我们需要​​创建一个 sudo 用户​​​,那么在创建该用户的时候还需要将其添加到 sudo 组中,这是其中一个应用场景。

添加具有特定用户ID(UID)的新用户

在使用 useradd 命令创建新用户的时候,可以使用其 -u 选项为新用户指定一个用户ID(UID):

useradd -u uid new_username
其他

上面我们介绍了 useradd 命令的一些使用方法,我们可以将它的多个选项组合在一起,使用预定义的配置在 Linux 中创建新用户,比如:

useradd -d /home/abhishek -s /bin/bash -g my_group

如前文所属,在默认情况下,useradd 命令功能比较单一,只是简单的创建用户,所以有很多人更喜欢使用 adduser 命令。关于adduser 和 useradd 命令的区别,我们会在以后单独介绍。

weinxin
我的微信
微信号已复制
我的微信
这是我的微信扫一扫
 
Crq
  • 本文由 Crq 发表于2025年3月23日 03:42:29
  • 转载请注明:https://www.cncrq.com/13561.html
LXD 2.0 系列(二):安装与配置 Linux教程

LXD 2.0 系列(二):安装与配置

简单来说,LXD是一个守护进程,为LXC容器的管理提供一组REST API。主要目标是提供一种类虚拟机的用户体验,是一种第三方的容器管理工具。下面呢,我们来介绍LXD 2.0 的安...
【技术快报】8.23-8.28 Linux教程

【技术快报】8.23-8.28

本期《linux就该这么学》的技术周报中,将为您推出Linux内核空间、Docker1.12、致亲爱的Linux初学者、Git秘籍、Windows 的 AD 域寄生于 Linux ...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证