如何在CentOS上创建用户

时间:2020-01-09 10:39:03  来源:igfitidea点击:

创建一个基本用户

在CentOS中创建新用户的最基本的例子是使用useradd命令。

useradd student1

" useradd"命令本身不会为我们新创建的用户设置密码。尽管可以使用-p标志来设置密码,但强烈建议我们不要使用它。通过命令行设置的密码在用户历史记录中仍然可见。

相反,要为新用户设置密码,请使用" passwd"命令。它更安全,因为它不会在用户的外壳历史记录中留下日志。

passwd student1

上面的useradd命令没有使用任何参数来定制新用户,这意味着应用了默认值。 useradd命令的默认行为是:

  • 创建一个新用户
  • / home / <username>中创建一个主目录
  • 用用户名创建一个用户组
  • 将外壳设置为默认值,即bash
  • 将UID(用户ID)设置为下一个可用ID,对于常规用户,从1000开始递增。

共同论点

以下是可用于进一步自定义新用户的常用参数列表。

标志说明示例
-c
--comment
登录名的简短描述,有时用作用户的全名。-c“John Doe”
-d
--home dir
使用设置了此标志的值创建主目录。-d johndoe
-f
--非活动;密码过期后帐户将被禁用的天数。值“0”将在密码过期后立即禁用帐户。
-f 5
-g
--gid;用户初始登录组的组名或者ID。组名必须存在,组号必须引用已存在的组。
-g ops admins
--gid 1500
-m
--create home;创建用户的主目录(如果不存在)
-M
--no create home;不创建用户的主目录。
-r
—系统;创建系统帐户。

将在/etc/shadow中创建没有老化信息的系统用户,并在`/SYS\u UID\u MIN-SYS\u UID\u MAX范围中选择其数字标识符。

主目录不是用新系统用户创建的
-s
--shell;用户登录shell的名称。默认值在/etc/default/useradd中设置,默认值为bash.
-s/bin/bash
-e
expiredate |设置用户帐户的过期日期。格式为YYYY-MM-DD|-e 2024-10-23`

创建系统用户

创建系统用户以运行系统进程和任务。这些不是普通用户,因此不应用作一个用户。

由于系统用户默认情况下不会过期,因此它为此类帐户保留了一个唯一的标识符。从1000开始,典型的用户将获得一个唯一的标记,而系统用户将获得一个3位的ID。

同样,系统用户也不使用主目录创建。这将使用户无法进行登录会话(例如通过SSH)。防止某人与系统用户闯入系统的最佳实践。

要创建系统用户,请使用-r或者--system标志。

useradd -r mysql-backup

使用自定义主目录创建用户

要设置用户的主目录并覆盖默认值,请使用-m或者--home-dir标志。

下面的示例将创建一个名为" student"的新用户,并将其主目录设置为" / home / students / student1"。

useradd -h /home/students/student1 student1

创建用户并添加多个组

在大多数环境中,文件,目录和可执行文件的特权分配给组,而不是单个用户。为了按关注区域保护资源,应将每个资源分组并分配组特权。

该策略涉及创建多个组,每个组都有自己的特权。为了将新用户添加到多个组,可以使用-G或者--groups标志。

例如,要创建一个名为" sysadmin1"的新用户并将其添加到多个组中,可以执行以下操作。

useradd -G webops,devops,sysops sysadmin1

创建具有到期日期的用户

某些用户只能在指定的时间段内存在。此后,应该在系统上有效地禁用用户。这可以使用-e或者--expiredate标志来完成。

例如,要将过期日期添加到新创建的用户中,可以运行以下" useradd"命令。

useradd --expiredate 2022-05-30

上面的示例将使用户帐户在2022年5月30日失效。

创建用户并设置其外壳

在Linux服务器上运行几个不同的Shell并不少见。虽然CentOS的默认shell是Bash,但是其他流行的shell例如是ZSH和Korn Shell。

要使用特定的shell创建新用户,请使用-s或者--shell标志。

useradd -s /bin/ksh student1

设置密码有效期

useradd命令不支持用户密码的设置限制。而是将passwd命令用于此类任务。

设置用户密码时间限制的三个主要标志如下:

  • -n --minimum —设置最小密码有效期,以天为单位。
  • -x,--maximum`-设置最长密码有效期,以天为单位。
  • -w,--warning`-设置到期前发送警告的天数(以天为单位)。

为了设置这些值并使它们生效,用户帐户必须支持密码生存期。

例如,要将用户的密码设置为在90天内到期(至少2天),我们可以运行以下命令。

sudo passwd -n 2 -x 90 student1

删除用户帐号

删除用户通常需要删除不必要的用户,这些用户随着时间的推移会自然增长。要在CentOS中删除用户,请使用userdel命令。

sudo userdel student1

在CentOS上创建一个Sudo用户

sudo用户是Linux中的超级用户。有多种方法可以完成此任务,但最简单的方法是将用户添加到滚轮组。

在以下示例中,新用户Student1被添加到wheel组,从而为其赋予了sudo权限。

sudo useradd -G wheel -c "Student1 is an admin" student1