一、命令介绍

useradd     用于创建新的用户

usermod    用于修改用户属性

userdel      用于删除用户

----------------------------------------------------------------------------------------------------------------------------

二、实例

useradd

参数

作用

-d

指定用户的家目录

-e

账户到期时间 格式:YYYY-MM-DD

-u

指定用户默认UID

-g

指定用户初始用户组(必须已经存在)

-G

指定一个或多个扩展用户组

-N

不创建与用户同名的基本用户组

-s

指定用户的默认shell解释器

我们首先创建一个普通用户tstuser.这里说明一下,用户的信息保存在/etc/passwd下,我们可以通过查看/etc/passwd来确定用户是否创建。

useradd   tstuser

我们创建一个普通用户user,指定UID 为2000 指定用户组为root 指定用户默认的shell解释器为/sbin/nologon,这里注意一下/sbin/nologon,他也是终端解释器的一员,一旦用户解释器被设置成/sbin/nologon,则代表用户不能登陆到系统中。

useradd -u 2000 -g root -s /sbin/nologon user

这里我们使用 su 命令切换到刚刚创建的两个用户

su - tstuser

成功切换到tstuser用户。

su  - user

可以看到,无法切换,因为我们的用户解释器被设置为/sbin/nologon 所以用户无法登陆。

--------------------------------------------------------------------------------------------------------------------------------

usermod

参数

作用

-c

填写用户账户备注信息

-d -m

-m与-d连用 可重新指定用户家目录并迁移旧数据

-e

账户到期时间

-g

变更用户所属组

-G

变更扩展用户组

-L

锁定用户禁止其登陆

-U

解锁用户允许登陆

-s

变更默认终端

-u

变更用户UID

这里我们修改tstuser用户的 UID 为3000

usermod  -u 3000 tstuser

我们也可以通过usermod 修改user用户的解释器,使其能够登陆。

usermod -s /bin/bash user

可以看到user已经可以正常登陆

新创建的用户不指定家目录的情况下默认会在/home目录下自动创建一个家目录。

我们要把user用户家目录修改为/home/new 并迁移旧数据。

usermod -m -d /home/new user

可以看到,家目录已经迁移成功

-------------------------------------------------------------------------------------------------------------------------------

userdel

参数

作用

-f

强制删除用户

-r

同时删除家目录

我们使用 userdel 命令删除user用户

userdel user

上图可以看出, user用户已经被删除,但是家目录并没有被删除。

我们再尝试使用-r参数删除tstuser用户及其家目录

userdel -fr tstuser

成功的删除用户及其家目录。

------------------------------------------------------------------------------------------------------------------------------------------

三、总结

Linux是满足多用户同时工作的操作系统,因此账户管理命令对于Linux来说很重要。

我是刚刚接触Linux的小白,文章不当之处,望各位指正。

Linux学习历程——Centos 7 账户管理命令(用户篇)useradd usermod userdel的更多相关文章

  1. Linux学习历程——Centos 7 账户管理命令(用户组篇)groupadd groupmod groupdel

    一.命令介绍 groupadd:创建用户组 groupmod:修改用户组属性 groupdel:删除用户组 ---------------------------------------------- ...

  2. Linux学习历程——Centos 7重置root密码

    一.自述 最近刚刚接触linux,因为我设置密码比较随性,把自己做系统的时候设置的root密码给forget,每当系统崩溃,重新把虚拟机备份还原后,就面临无法登陆的尴尬情况,只得重置root密码,好了 ...

  3. Linux学习之CentOS(二十二)--单用户模式下修改Root用户的密码

    在上一篇随笔里面详细讲解了Linux系统的启动过程 (Linux学习之CentOS(二十一)--Linux系统启动详解),我们知道Linux系统的启动级别一共有6种级别,通过 /etc/inittab ...

  4. Linux用户和组管理命令-用户创建useradd

    用户管理命令 useradd usermod userdel 组帐号维护命令 groupadd groupmod groupdel 用户创建 useradd 命令可以创建新的Linux用户 格式: u ...

  5. Linux学习历程——Centos 7 passwd命令

    一.命令介绍 passwd 命令用于修改用户密码,过期时间,认证信息等. 普通用户只能使用 passwd 命令修改自身的系统密码,而 root 管理员则有权限修改其他所有人的密码.更酷的是,root ...

  6. Linux用户和组管理命令-用户属性修改usermod

    用户属性修改 usermod 命令可以修改用户属性 格式: usermod [OPTION] login 常见选项: -u UID: 新UID -g GID: 新主组 -G GROUP1[,GROUP ...

  7. Linux学习历程——Centos 7 ls命令

    一.命令介绍 ls命令用于显示目录中的信息. ----------------------------------------------------------------------------- ...

  8. Linux学习历程——Centos 7 find 命令

    一.命令介绍 find 命令用于按照指定条件来查找文件. 一些比较常用参数如下表 参数 作用 -name 匹配名称 -perm 匹配权限mode为完全匹配( –mode包含即可) -user 匹配所有 ...

  9. Linux学习历程——Centos 7 grep命令

    一.命令简介 grep 命令用于在文本中执行关键词搜索,并显示匹配的结果. 由于grep命令参数很多,这里只列出一些常用的参数. 参数 作用 -b 将可执行文件当作文本文件来搜索 -c 仅显示找到的行 ...

随机推荐

  1. Linux下使用ntpdate进行时间同步

    转摘自Linux下使用ntpdate进行时间同步https://www.cnblogs.com/zhi-leaf/p/6281549.html1.安装ntpdate,执行以下命令 # yum inst ...

  2. SQL Server中是否可以准确获取最后一次索引重建的时间?

    在SQL Server中,我们能否找到索引的创建时间?最后一次索引重建(Index Rebuild)的时间? 最后一次索引重组(INDEX REORGANIZE)的时间呢?  答案是我们无法准确的找到 ...

  3. Asp.net Core的Swagger接口根据模块、版本分组

    近期一直在学习Asp.net Core,微软的文档太难看,都是英文翻译过来的,很不友好,感谢这个博客,从壹开始前后端分离[ .NET Core2.0 +Vue2.0 ],让我入门了,刚学到这个Swag ...

  4. 01 JVM 从入门到实战 | 什么是 JVM

    什么是 JVM 先来看下百度百科的解释: JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算 ...

  5. 安装window下的redis,redis可视化管理工具(Redis Desktop Manager)安装,基础使用,实例化项目

    以下包括内容: 一.redis下载安装,启动 二.Redis可视化管理工具(Redis Desktop Manager)安装 三.实例化项目 一.redis下载安装,启动 1,redis官方下载地址: ...

  6. 使用Maven的assembly插件实现自定义打包

    一.背景 最近我们项目越来越多了,然后我就在想如何才能把基础服务的打包方式统一起来,并且可以实现按照我们的要求来生成,通过研究,我们通过使用maven的assembly插件完美的实现了该需求,爽爆了有 ...

  7. Redis哨兵机制

    Redis Sentinel物理结构图 角色 IP Port 别名 master 127.0.01 6379 主节点 slave-1 127.0.01 6380 slave-1节点 slave-2 1 ...

  8. Lumen框架—升级改造之路-开篇

    一.前言    首先,我先阐述下,为什么要做这件事.lumen是一款比较轻型的PHP框架,但是,作为项目开发来说,它还是缺少很多东西,比如Response返回值规范的自定义,异常抛出格式的自定义,以及 ...

  9. 第一册:lesson 113.

    原文:Small changes. question:Who has got some small changes? Fares,please! Trafalgar Square,please. I' ...

  10. js中let和var的区别 不懂得加QQ 2270312758

    js中使用let定义变量的时候,是需要使用严格模式的,我看到网上有的博客说:如果在不使用严格模式的情况下,使用let会报错,但是在实验的过程中,我直接定义了let变量而且也没有使用严格模式,并没有报任 ...