如何在CentOS上创建用户
创建一个基本用户
在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