命令简介

useradd/userdel 创建新用户/删除用户,需要管理员权限操作。

在创建用户时,如果不配置密码,用户的默认密码是不可用的,所以,useradd命令一般与passwd命令配合使用,下节我们将介绍这个命令。

语法格式

  1. useradd 选项 用户名
  2. userdel 选项 用户名

用户的分类

  • 超级用户:root,拥有对系统的最高管理权限,UID默认为0。
  • 虚拟用户:又叫系统用户或伪用户,具有一定特权,与系统或程序服务相关,但没有真正的使用者。一般不会用来登录系统,它主要用于维持某个访问的正常运行,如ftp,apache等。
  • 普通用户:是一种受限制的用户,一般新建的用户都是普通用户。默认只能执行/bin、/usr/bin、/usr/local/bin以及自身主目录里的命令。

注意:UID即每个用户的身份标识,虽然可以修改/etc/passwd(命令设置的UID不允许重复),但尽量保持唯一性,类似于每个人的身份证号码。

选项说明

useradd 选项

  1. -c #加上备注文字,备注文字保存在passwd的备注栏中。
  2. -d #指定用户登入时的主目录,替换系统默认值/home/<用户名>
  3. -D #变更预设值。
  4. -e #指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效。
  5. -f #指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1.
  6. -g #指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users。
  7. -G #指定用户所属的附加群组。
  8. -m #自动建立用户的登入目录。
  9. -M #不要自动建立用户的登入目录。
  10. -n #取消建立以用户名称为名的群组。
  11. -r #建立系统账号。
  12. -s #指定用户登入后所使用的shell。默认值为/bin/bash。
  13. -u #指定用户ID号。该值在系统中必须是唯一的。0~499默认是保留给系统用户账号使用的,所以该值必须大于499。

userdel 选项

  1. -f #强制删除用户账号
  2. -r #删除用户主目录及其中的任何文件
  3. -h #显示命令的帮助信息

应用实例

  1. useradd -s mingongge
  2. #新建系统用户mingongge
  3. useradd mingongge -u 888
  4. #设定ID值时尽量要大于500,以免冲突;一般0到499之间的值留给bin、mail这样的系统账号
  5. useradd -m -d /home/mingongge mingongge
  6. #指定创建用户家目录的路径,/home/mingongge目录会被创建
  7. useradd -s /sbin/nologin mingongge
  8. #创建一个没有家目录且不能登录的用户
  9. useradd -m -G test,sudo mingongge
  10. #创建时把用户加入不同的用户组test,sudo
  11. useradd -u 2020 -m -g root mingongge
  12. #添加用户mingongge其id为2020,并且将其添加到组群root中

使用useradd -D可以查看创建新用户时的默认信息,或直接cat /etc/default/useradd

  1. useradd -D
  2. GROUP=888
  3. HOME=/home
  4. INACTIVE=888
  5. EXPIRE=
  6. SHELL=/bin/bash
  7. SKEL=/etc/skel
  8. CREATE_MAIL_SPOOL=yes

修改创建新用户时的默认信息。

  1. useradd -D -f 999
  2. #查看是否修改成功
  3. useradd -D | grep INACTIVE
  4. INACTIVE=999

删除用户,但不删除其家目录及文件

  1. [root@mingongge ~]# userdel mingongge

删除用户,并将其家目录及文件一并删除

  1. [root@mingongge ~]# userdel -r mingongge

强制删除用户

  1. [root@mingongge ~]# userdel -f mingongge

命令简介

passwd创建或修改用户的密码,passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。

普通用户在更改自己的密码之前,必须先输入当前密码进行验证(超级用户无需此步骤)。

设置密码时需要符合系统对密码复杂性的要求。一般准则,密码应至少包含6个字符,包括以下每个字符中的一个或多个:

  • 小写字母
  • 数字0到9
  • 标点符号

语法格式

  1. passwd [选项] [username]

选项说明

  1. -d #删除密码
  2. -f #强迫用户下次登录时必须修改口令
  3. -w #口令要到期提前警告的天数
  4. -k #更新只能发送在过期之后
  5. -l #锁定账号使用
  6. -S #显示密码信息
  7. -u #启用已被停止的账户
  8. -g #修改群组密码
  9. -S #列出密码相关参数,即shadow文件内的大部分信息
  10. -n #后面接天数,shadow的第4字段,多久不可修改密码
  11. -x #后面接天数,shadow的第5字段,多久内必须要改动密码
  12. -w #后面接天数,shadow的第6字段,密码过期前的警告天数
  13. -i #后面接“日期”,shaodow的第7字段,密码失效日期
  14. --help #显示帮助信息
  15. --version #显示版本信息
  16. --stdin #从标准输入中读入新密码(此时可以看见设置的密码)

应用实例

修改用户密码

  1. [root@mingongge ~]# passwd test #设置test用户的密码
  2. Enter new UNIX password: #输入新密码,输入的密码无回显
  3. Retype new UNIX password: #确认密码
  4. passwd: password updated successfully

显示账号密码信息

  1. [root@mingongge ~]# passwd -S mingongge
  2. mingongge P 12/25/2020 0 99999 7 -1

删除用户密码

  1. [root@mingongge ~]# passwd -d mingongge
  2. passwd: password expiry information changed.

锁定一个用户

  1. [root@localhost ~]$ passwd -l mingongge #锁定用户mingongge不能更改密码
  2. Locking password for user mingongge.
  3. passwd: Success #锁定成功
  4. [root@localhost ~]# su mingongge #切换到mingongge用户;
  5. [mingongge@localhost ~]$ passwd #来更改mingongge密码
  6. Changing password for user mingongge.
  7. Changing password for mingongge
  8. (current) UNIX password: #输入mingongge的当前密码
  9. passwd: Authentication token manipulation error #失败,不能更改密码

清除一个用户的密码

  1. [root@localhost ~]$ passwd -d mingongge #清除mingongge用户密码
  2. Removing password for user mingongge.
  3. passwd: Success #清除成功;
  4. [root@localhost ~]# passwd -S mingongge #查询用户密码状态
  5. Empty password. #空密码,也就是没有密码

注意:清除一个用户的密码之后,就代表着这个用户是没有密码了,也就是空密码可以登录。

Linux常用命令-创建用户修改密码-useradd的更多相关文章

  1. linux常用命令之--用户与用户组管理命令

    linux的用户与用户组管理命令 1.用户和群组 groupadd:用于添加新的组群 其命令格式如下: groupadd [-option] 群组名 常用参数: -g GID:指定创建群组的GID(G ...

  2. Linux学习笔记之五————Linux常用命令之用户、权限管理

    一.引言 用户是Unix/Linux系统工作中重要的一环,用户管理包括用户与组账号的管理. 在Unix/Linux系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资 ...

  3. Linux常用命令之用户权限管理chmod、chown、chgrp、umask命令讲解

    这节课我们重点来学习权限管理命令,说到权限大家可能第一时间能想到的就是读.写.执行 rwx 三种权限,在正式讲解权限命令之前,先简单的介绍一下rwx权限对于文件和目录的不同含义. 权限字符 权限 对文 ...

  4. Linux常用命令5 用户管理命令

    1.用户管理命令:useradd 所在路径:/usr/bin/useradd      执行权限:root 语法:useradd 用户名 功能描述:添加新用户 例如:useradd hzw userd ...

  5. linux环境中通过useradd命令,创建用户的时候指定用户的base-dir

    需求说明: 今天一个同事,问了一个这样的问题,在linux环境中,创建用户的时候,默认的是在/home目录下创建一个与用户名相同的家目录, 如何能够将这个/home更换成一个其他的,比如/opt/ap ...

  6. linux下添加用户到sudo组 并禁止sudo用户修改密码

    linux下添加用户到sudo组 创建用户  useradd hanli 为新用户设置密码  passwd hanli 创建用户组  groupadd  op 将用户添加到用户组  usermod - ...

  7. 【Linux命令】用户身份(useradd,groupadd,usermod,passwd,userdel)

    目录 用户身份 useradd userdel usermod groupadd groupdel passwd chage 用户身份 在linux系统中和windows一样有用户之分.root用户为 ...

  8. Linux基础命令---添加用户useradd

    useradd 创建新的系统用户,useradd指令只能以管理员的身份运行,创建的用户都在“/etc/passwd”文件中.当不加-D参数,useradd指令使用命令列来指定新帐号的设定值and使用系 ...

  9. linux中普通用户修改密码出现(passwd:Authentication token manipulation error)

    如果在linux中,不管是root用户还是普通用户登录后,修改自己的密码,出现---passwd:Authentication token manipulation error---错误的解决办法: ...

随机推荐

  1. 在vue项目中配置webpack

    首先我们来看一下使用Vue-cli2与Vue-cli2之后的版本(这里以Vue-cli4版本为例)创建项目目录结构的不同: Vue-cli2(左图)与Vue-cli4(右图)创建项目的目录 从上图可以 ...

  2. jsp第二周作业

    1.p39 实验2 显示当前时间,并输出上午(0-12)好,下午好(13-17),晚上好(18-23) <%@ page language="java" import=&qu ...

  3. 使用vscode编辑markdown文件(可粘贴截图)

    使用markdown粘贴截图时,操作步骤比较多: 1)截取图片: 2)将图片存在特定位置: 3)记住图片路径,在markdown文件中编写代码: 4)预览效果: 而word之类的文档编辑器,只需要截图 ...

  4. 【安全建设】日志监控的极品工具sysmon

    转载请注明出处:https://www.cnblogs.com/vitalemontea/p/16178048.html 1.前言 最近态势感知爆了某个同事有挖矿事件的告警,打开一看,就是会通过dns ...

  5. 带你了解极具弹性的Spark架构的原理

    摘要:相比MapReduce僵化的Map与Reduce分阶段计算相比,Spark的计算框架更加富有弹性和灵活性,运行性能更佳. 本文分享自华为云社区<Spark架构原理>,作者:JavaE ...

  6. 在MAUI中使用Masa Blazor

    Masa Blazor是什么 在此之前我们已经介绍过什么是Masa Blazor,以及如何使用Masa Balzor,如果还有不了解Masa Blazor的同学可以看我上篇文章[初识Masa Blaz ...

  7. 攻防世界-MISC:wireshark-1

    这是攻防世界高手进阶区的第五题,题目如下: 点击下载附件一,得到一个压缩包,解压后得到一个流量包,用wireshark打开,分组字节流搜索字符串flag password的值即是flag,所以这道题的 ...

  8. 【Java分享客栈】一文搞定CompletableFuture并行处理,成倍缩短查询时间。

    前言   工作中你可能会遇到很多这样的场景,一个接口,要从其他几个service调用查询方法,分别获取到需要的值之后再封装数据返回.   还可能在微服务中遇到类似的情况,某个服务的接口,要使用好几次f ...

  9. 使用 HDFS 协议访问对象存储服务

    背景介绍 原生对象存储服务的索引是扁平化的组织形式,在传统文件语义下的 List 和 Rename 操作性能表现上存在短板.腾讯云对象存储服务 COS 通过元数据加速功能,为上层计算业务提供了等效于 ...

  10. 国产化设备鲲鹏CentOS7上源码安装Python3.7

    具体编译过成与正常的Python源代码在x86平台上的过程无异,此篇随笔仅当用作复制黏贴的备忘录.不得不说在一个老旧系统上安装一个老旧的Python版本,从头编译一个Python还是一个较为稳健的选择 ...