一、命令介绍

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. 如何在新工程中添加两个不同版本的的echarts库

    emmmmm.....标题我就觉得起的很变态.闲话不多说,先说出现的背景吧--. 因为业务上的需求,跟一个硬件对接,要做大屏展示大厅客流热力图分布(背景图是客户那边给的).然后这个机子传过来的数据就可 ...

  2. Android开发—— Tablayout的使用

    Tablayout的使用 属性 属性名 说明 app:tabMod 设置Tab模式 app:tabTextColor 设置文本颜色 app:tabSelectedTextColor 设置选中文本颜色 ...

  3. python3 完全理解赋值,浅copy,深copy 通过地址详细理解~

    额...老规矩,先来一天NLP再说,也没几条了. 十,在任何一个系统里,最灵活的部分是最能影响大局的部分 灵活便是有一个以上的选择,选择便是能力,因此最灵活的人便是最有能力的人. 灵活来自减少只相信自 ...

  4. eclipse代码提示设置过常用字符还是不起作用的解决方法

    问题:重装eclipse之后发现没有了代码提示,一般情况下在设置中添加自动提示的字符之后就可以了,设置如下 如上图,初始的时候是只有一个点号,并没有字符,输入26个字母的大小写后点击Apply and ...

  5. Spring的PropertyPlaceholderConfigurer强制使用默认值的坑

    1.问题 dubbo client配置: <dubbo:reference id="channelCustomerClient" interface="com.gt ...

  6. cxf 整合 spring 时 java.lang.VerifyError异常

    异常信息主要有两个,Falling off the end of the code 和 illegal instruction found at offset 1: java.lang.VerifyE ...

  7. 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之十一 || AOP自定义筛选,Redis入门 11.1

    代码已上传Github+Gitee,文末有地址 书说上文<从壹开始前后端分离[ .NET Core2.0 Api + Vue 2.0 + AOP + 分布式]框架之十 || AOP面向切面编程浅 ...

  8. ASP.NET Core中使用GraphQL - 第八章 在GraphQL中处理一对多关系

    ASP.NET Core中使用GraphQL - 目录 ASP.NET Core中使用GraphQL - 第一章 Hello World ASP.NET Core中使用GraphQL - 第二章 中间 ...

  9. springboot~@Query到DTO对象

    我们有时在进行开发过程中,使用jpa的@Query注解去选择多张表然后返回一个DTO对象,这个时候我们需要特殊处理一下,因为默认情况下,你的jpa代码是不认DTO对象的. 参考文章:https://s ...

  10. 前端笔记之服务器&Ajax(下)数据请求&解决跨域&三级联动&session&堆栈

    一.请求后端的JSON数据 JSON是前后端通信的交互格式,JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式. JSON是互联网各个后台与 ...