0

0

Linux如何创建新用户并设置初始密码

P粉602998670

P粉602998670

发布时间:2025-09-09 09:59:01

|

432人浏览过

|

来源于php中文网

原创

创建新用户并设初始密码需用useradd加passwd命令,如sudo useradd -m -s /bin/bash devuser创建用户,sudo passwd devuser设置密码;通过sudo usermod -aG sudo devuser赋予sudo权限;密码策略应包含长度、复杂度、定期更换及首次登录强制修改;UID和GID是系统识别用户和组的唯一标识,用于文件权限管理和跨系统一致性。

linux如何创建新用户并设置初始密码

在Linux系统里,创建一个新用户并给他设置一个初始密码,这事儿说起来简单,其实就是两个核心命令:

useradd
负责创建用户,
passwd
用来设置密码。这两个组合起来,就能让新用户顺利登录了。

解决方案

要创建一个新用户并设置其初始密码,我们通常需要使用管理员权限(

sudo
root
)。最直接的流程是:

  1. 创建用户:使用

    useradd
    命令。为了让新用户有一个家目录和默认的shell,我通常会加上
    -m
    -s /bin/bash
    选项。

    sudo useradd -m -s /bin/bash 新用户名

    比如,我想创建一个叫

    devuser
    的用户:

    sudo useradd -m -s /bin/bash devuser

    这里

    -m
    会自动创建
    /home/devuser
    这个家目录,
    -s /bin/bash
    则指定了登录后默认使用的shell是Bash。不加这些,用户也能创建,但体验会差一些,可能需要手动配置家目录和shell。

  2. 设置初始密码:创建完用户后,立即使用

    passwd
    命令为该用户设置密码。

    sudo passwd 新用户名

    接着系统会提示你输入两次密码。

    sudo passwd devuser
    New password:
    Retype new password:
    passwd: password updated successfully

    这样,

    devuser
    这个新用户就创建好了,并且拥有了一个可以登录的密码。

Linux如何创建新用户并设置初始密码

新用户创建后如何赋予sudo权限?

创建一个普通用户通常是第一步,但很多时候,我们希望这个新用户也能执行一些管理员任务,而不是每次都切换到

root
。这就涉及到给用户赋予
sudo
权限了。这事儿我个人觉得挺重要的,毕竟日常操作里,
sudo
用得比直接
su -
root
要频繁且安全得多。

在大多数基于Debian的系统(如Ubuntu)上,

sudo
权限是通过将用户加入到
sudo
用户组来实现的。而在一些基于Red Hat的系统(如CentOS、Fedora)上,这个组可能叫做
wheel

赋予

sudo
权限的命令是
usermod

sudo usermod -aG sudo 新用户名

这里的

-a
表示“追加”(append),
-G
表示指定组。所以
-aG sudo
就是把用户追加到
sudo
组里。

举个例子,给刚才的

devuser
赋予
sudo
权限:

sudo usermod -aG sudo devuser

执行完这条命令后,

devuser
需要注销当前会话并重新登录,或者直接启动一个新的终端会话,才能使
sudo
权限生效。之后,
devuser
就可以通过在命令前加上
sudo
来执行需要管理员权限的操作了。

当然,还有更底层、更精细的

sudo
配置方法,就是直接编辑
/etc/sudoers
文件,但这通常通过
visudo
命令来完成,以防止语法错误导致系统无法使用
sudo
。我一般不建议新手直接手动编辑这个文件,因为一旦出错,修复起来会比较麻烦。
usermod
命令简单直接,适合绝大多数场景。

Trade System 电子商务系统
Trade System 电子商务系统

功能介绍: 首页展示:折扣商品、商品推荐、新品推荐、热卖排行 购 物 车:顾客选货-入车-提单,大大简化交易流程 意见反馈:顾客可以在线提建议或合作联系 后台管理:注册用户、商品管理、订单管理、网站设置、商品分类 其他功能:优化代码执行效率、韩式设计风格 初始管理员/密码:admin/admin

下载
Linux如何创建新用户并设置初始密码

用户密码策略有哪些最佳实践?

密码安全,这真的是老生常谈,但又不得不提。我见过太多因为密码太弱导致的安全问题了,简直是防不胜防。所以,为用户设置密码时,除了能用之外,更重要的是要“安全”。

以下是我在实践中总结的一些密码策略最佳实践:

  • 强度优先:强制要求用户设置足够复杂的密码。这包括:
    • 长度:至少12个字符,最好是16个或更多。越长越难猜。
    • 字符类型:包含大小写字母、数字和特殊符号(如
      !@#$%^&*
      )。
    • 避免常用词和个人信息:生日、名字、电话号码、字典词汇,这些都是黑客最爱尝试的。
  • 定期更换:虽然有些观点认为定期更换密码反而会让用户选择更弱的密码,但对于关键系统,我还是倾向于设置一个合理的密码过期策略,比如每90天强制更换一次。这可以通过
    chage
    命令来管理。
    sudo chage -M 90 devuser

    这条命令会设置

    devuser
    的密码在90天后过期。

  • 唯一性:教育用户不要在多个系统或服务中使用相同的密码。一个地方泄露,可能导致“一锅端”。
  • 禁用弱密码:在系统层面,可以通过PAM模块(如
    pam_cracklib
    pam_pwquality
    )来强制执行密码复杂度规则,防止用户设置过于简单的密码。这通常需要在
    /etc/pam.d/common-password
    或类似文件中进行配置。比如,可以设置密码最小长度、所需不同字符类型的数量等。
  • 初始密码策略:新用户创建后,可以设置一个临时密码,并强制用户在首次登录时修改。这可以通过
    passwd -e 新用户名
    来实现,它会立即标记用户的密码为过期状态。
    sudo passwd -e devuser

    这样,

    devuser
    在第一次登录时,系统会强制他修改密码。这能有效避免初始密码被长期使用。

这些策略虽然可能给用户带来一点点“不便”,但从系统安全的角度看,这些“不便”是完全值得的。毕竟,安全从来都不是免费的午餐。

Linux如何创建新用户并设置初始密码

Linux中的用户ID(UID)和组ID(GID)有什么作用?

在Linux系统里,用户和组不仅仅是名字那么简单,它们背后都有一个独特的数字标识符,也就是用户ID(UID)和组ID(GID)。这俩玩意儿,说白了,就是系统用来识别谁是谁、谁能干什么的“身份证号”。

我个人觉得理解UID和GID是理解Linux权限管理的关键,否则很多时候你看到文件权限是

rwx
,但具体到哪个用户或组,就容易混淆。

  • 用户ID(UID)

    • 每个用户在Linux系统中都有一个唯一的UID。这个ID是系统内部识别用户的真正依据,而不是用户名。用户名只是给人看的。
    • UID通常从0开始。
      root
      用户的UID永远是0,这是特权用户的象征。
    • 系统用户(如
      daemon
      ,
      bin
      ,
      nobody
      等)通常有较低的UID(1-999,具体范围取决于发行版),它们是系统服务运行所必需的,一般不能用于登录。
    • 普通用户通常从1000或500开始(取决于发行版)。当我们用
      useradd
      创建一个新用户时,系统会自动分配一个当前可用的、未被占用的UID。
    • UID主要用于文件和目录的权限管理。当你创建一个文件时,它的所有者就是你的UID。
  • 组ID(GID)

    • 类似UID,每个组也有一个唯一的GID。
    • 当一个用户被创建时,通常会同时创建一个与用户名同名的新组,并将该用户作为该组的唯一成员,这个组就是用户的“主组”(primary group)。这个组的GID就是用户的“主GID”。
    • 用户也可以是其他组的成员,这些组称为“附加组”(supplementary groups)。
    • GID同样在文件和目录权限管理中扮演重要角色。文件或目录除了有所有者(UID)外,还有所属组(GID)。

它们的作用体现在哪里?

最核心的作用就是权限管理。 当你查看一个文件的权限时,比如

ls -l

-rw-r--r-- 1 devuser devuser 0 Nov 2 10:00 test.txt

这里的第一个

devuser
就是文件所有者(对应UID),第二个
devuser
就是文件所属组(对应GID)。系统根据这些ID来判断哪个用户或哪个组有权限读、写、执行这个文件。

另一个作用是跨系统一致性。如果你在不同的Linux系统间复制文件或同步用户,只要UID和GID保持一致,文件的所有权和权限通常也能保持正确,即使用户名在不同系统上可能不完全相同。当然,这在实际操作中需要注意,否则可能会导致权限混乱。

这些ID信息都存储在

/etc/passwd
/etc/group
这两个核心文件中。
/etc/passwd
记录了用户的UID、主GID、家目录和shell等信息;
/etc/group
则记录了各个组的GID以及哪些用户是该组的成员。了解这些,能让你在排查权限问题时更有方向感。

相关专题

更多
mysql标识符无效错误怎么解决
mysql标识符无效错误怎么解决

mysql标识符无效错误的解决办法:1、检查标识符是否被其他表或数据库使用;2、检查标识符是否包含特殊字符;3、使用引号包裹标识符;4、使用反引号包裹标识符;5、检查MySQL的配置文件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

182

2023.12.04

Python标识符有哪些
Python标识符有哪些

Python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

279

2024.02.23

java标识符合集
java标识符合集

本专题整合了java标识符相关内容,想了解更多详细内容,请阅读下面的文章。

254

2025.06.11

c++标识符介绍
c++标识符介绍

本专题整合了c++标识符相关内容,阅读专题下面的文章了解更多详细内容。

121

2025.08.07

append用法
append用法

append是一个常用的命令行工具,用于将一个文件的内容追加到另一个文件的末尾。想了解更多append用法相关内容,可以阅读本专题下面的文章。

343

2023.10.25

python中append的用法
python中append的用法

在Python中,append()是列表对象的一个方法,用于向列表末尾添加一个元素。想了解更多append的更多内容,可以阅读本专题下面的文章。

1073

2023.11.14

python中append的含义
python中append的含义

本专题整合了python中append的相关内容,阅读专题下面的文章了解更多详细内容。

175

2025.09.12

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

36

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号