7.2 usermod:修改用户信息

usermod 命令用于修改系统已经存在的用户的账号信息。
 
-c comment         修改用户password文件中用户的说明栏,同useradd的-c功能
-d home_dir        修改用户每次登入时所使用的家目录,同useradd的-d功能
-e expire_date     修改用户终止日期,同useradd的-e功能
-f inactive_days   修改用户过期几日后永久停权,同useradd的-f功能
-g initial_group   修改用户对应的用户组,同useradd的-g功能
-G group,[...]     修改此用户为多个不同组的成员,同useradd的-G功能
-m                 用户目录如果不存在则自动建立
-M                 不建立用户家目录,优先于/etc/login.defs文件设定。一般创建虚拟用户时不建立家目录,部署应用服务时需要创建虚拟用户
-n                 默认情况下,用户的用户组与用户的名称会相同。如果命令添加了-n参数,则不会生成与用户同名的用户组了
-r                 此参数是用来建立系统用户的。系统用户的UID会比定义在系统档上/etc/login.defs的UID_MIN要小。注意此用法中useradd所建立的用户不会建立用户家目录,也不会在乎记录在/etc/login.defs.的定义值。如果想要有用户家目录,则必须额外指定-m参数来建立系统用户。这是Red Hat额外增设的选项
 
-s shell           修改用户登入后使用的Shell名称,同useradd的-s功能
-u uid             修改用户的ID值,同useradd的-u功能
-a                 追加用户到用户组,仅与-G参数连用
-l                 修改用户的账号名称
-L                 锁定用户密码,不让用户改密码
-U                 解除密码锁定
 
 
    usermod的作用是修改用户,而useradd的作用是添加用户,本质上都是对用户进行操作,因此,参数作用大部分都是类似的,只不过命令不同,就是添加和修改的区别。
 

usermod的-C、-u、-G、-s、-d、-m、-e、-f等多个参数组合的例子

需求如下:将范例7-3添加的用户inca的用户注释信息修改为“TmpUser”,UID修改为999,归属修改为用户组root、sa、tech成员,其Shell类型为/sbin/nologin,设置家目录为/home/inca,用户过期时间为2018/07/12,过期后30天停权。

[root@cs6 ~]# usermod -u 999 -c "TmpUser" -G root,sa,tech -s /sbin/nologin -d /home/inca -e "2019/07/12" -f 30 inca
[root@cs6 ~]# grep -w inca /etc/passwd
inca:x:999:806:TmpUser:/home/inca:/sbin/nologin
[root@cs6 ~]# id inca
uid=999(inca) gid=806(inca) groups=806(inca),0(root),801(sa),904(tech)
[root@cs6 ~]# grep -w inca /etc/shadow
inca:!!:18027:0:99999:7:30:18089:
[root@cs6 ~]# chage -l inca
Last password change : May 11, 2019
Password expires : never
Password inactive : never
Account expires : Jul 12, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7

7.3 userdel:删除用户

 
userdel命令用于删除指定的用户及与该用户相关的文件。
 
-f    强制删除用,即使用户当前已登录
-r    删除用户的同时,删除与用户相关的所有文件
 
 
不加参数删除用户zuma
[root@cs6 ~]# userdel zuma
[root@cs6 ~]# ll /home/zuma/ -ld
drwx------. 2 903 903 4096 May 12 02:31 /home/zuma/
[root@cs6 ~]# grep -w zuma /etc/shadow

在实际工作中尽量不要使用userdel删除用户,而是采用在/etc/passwd里注释用户的方法,防止用户误删带来的系统及服务不正常。读者需要谨慎使用-r参数,因为-r参数会将用户家目录下的所有目录和文件都删除,导致数据不可逆地丢失。

7.4 groupadd:创建新的用户组

    groupadd命令用于创建新的用户组。但groupadd命令的用途一般不大,因为useradd命令在创建用户的同时还会创建与用户同名的用户组。
 
-g gid     指定用户组的gid,除非接-o参数,否则ID值唯一且不为负,如果不指定参数,则gid从500开始
-f         新增一个账户,强制覆盖一个已存在的组账号
 
[root@cs6 ~]# groupadd -g 123 test1
[root@cs6 ~]# tail -1 /etc/group
test1:x:123:
[root@cs6 ~]# tail -1 /etc/gshadow
test1:!::

7.5 groupdel:删除用户组

    groupdel命令用于删除指定的用户组,此命令的使用频率极低,了解即可。
 
groupdel不能删除还有用户归属的主用户组。
 
[root@cs6 ~]# groupdel root
groupdel: cannot remove the primary group of user 'root'
[root@cs6 ~]# groupdel test1 

7.2-5 usermod的更多相关文章

  1. Linux – Usermod命令参数解析和实例说明

    usermod 命令修改系统帐户文件来反映通过命令行指定的变化 1. 首先看看usermod都是有哪些参数 [root@hxweb101 ~]$ usermod --help Usage: userm ...

  2. Linux 新建用户、用户组,给用户分配权限(chown、useradd、groupadd、userdel、usermod、passwd、groupdel)

    Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  3. linux-15基础命令之-用户与用户组(useradd,userdel,usermod,passwd,groupadd)

    1.useradd 命令用于创建新的用户,格式为:useradd[选项] 用户名 useradd参数 参数 作用 -d 指定用户的家目录(默认/home/username) -D 展示默认值 -e 帐 ...

  4. su,exit,adduser,deluser,usermod,groups

    exit 退出当前用户 su 切换到指定用户,缺省表示切换到root用户 adduser 创建一个用户的时候其实是创建了一个用户和同名的用户组,它们都会UID,所属的GID,创建时一个用户属于和自己同 ...

  5. usermod

    环境: [root@vm-xiluhua][/]# cat /etc/redhat-release CentOS Linux release (Core) usermod usage:(本人使用的版本 ...

  6. 下面将详细说明useradd与usermod 的参数及用法!

    下面将详细说明useradd与usermod 的参数及用法! 说到这里要另外两句,关于linux下口令相关的文件存放位置说明/usr/bin/passwd 包含 passwd 命令. /etc/pas ...

  7. Usermod 命令详解 ------工作中修改shell时用 usermod -s /bin/csh home

     Usermod 命令详解 2012-09-11 11:01:36 标签:usermod 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.htt ...

  8. useradd/du/df/passwd/usermod命令

    一.useradd命令 useradd命令-M -u -s -g 常用 -c:加上备注文字,备注文字保存在passwd的备注栏中.  -d:指定用户登入时的启始目录. -D:变更预设值.(修改默认配置 ...

  9. Linux command: usermod -- 改变用户状态

    应用举例: 1. usermod -g newuser newuser force use GROUP as new primary group. 一般时候是默认的,也是必须的(不能更改).2. 指定 ...

  10. 《Usermod:user lee is currently logged in 家目录不能改变解决方法》

    前面短时间自己玩samba服务时,上面的所有服务都做好了,家目录死活就是不能访问,删掉自己的smb.conf文件,自己到别的服务上用rsync同步过来的文件,启动服务家目录还是不能访问,排了一下午,终 ...

随机推荐

  1. redis的持久化有哪几种方式?不同的持久化机制都有什么优缺点?(偏难)

    1.RDB和AOF两种持久化机制的介绍 RDB持久化机制,对redis中的数据执行周期性的持久化 AOF机制对每条写入命令作为日志,以append-only的模式写入一个日志文件中,在redis重启的 ...

  2. 让你的Windows/Linux玩上Switch!

    1 前言 某天在Github上面看到了两个Switch的模拟器: yuzu Ryujinx 于是就想动手想尝试一下在Linux上面玩上Switch. 本文首先简单介绍一下两个模拟器,接着是两个模拟器的 ...

  3. Linux 递归修改后缀名

    1 修改命令 需要用到: find awk xargs 递归修改命令如下: find . -name '*.XXX' | awk -F "." '{print $2}' | xar ...

  4. 5. Mybatis UPDATE更新,DELETE删除

    案例: 1. update <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper ...

  5. Java on Visual Studio Code的更新 – 2021年3月

    欢迎来到Java的VS Code更新.在过去的几个月中,我们的工程师一直在专注于一些非常重要的工作.现在,是时候揭开面纱了,开始吧. 类型层次结构(Type hierarchy) VS Code已经支 ...

  6. Spring Cloud Alibaba(4)---Nacos(注册中心)

    Nacos(注册中心) 有关Spring Cloud Alibaba之前写过三篇文章. Spring Cloud Alibaba(1)---入门篇 Spring Cloud Alibaba(2)--- ...

  7. WebGL之绘制三维地球

    通过Three.js也许可以很方便的展示出3D模型,但是你知道它是怎么一步一步从构建网格到贴图到最终渲染出3D模型的吗?现在我们直接使用底层的webgl加上一点点的数学知识就可以实现它. 本节实现的效 ...

  8. Jmeter(四十三) - 从入门到精通高级篇 - Jmeter之IP伪装和欺骗(详解教程)

    1.简介 我们从小接受的教育就是不要撒谎,要做一个诚实的孩子,但是在现实生活中有时候说一个善意的谎言也不是可以的.这里由于服务器各种安全机制的限制和校验,因此我们不得不欺骗一下服务器,今天宏哥就给大家 ...

  9. FastAPI + Vue 前后端分离 接口自动化测试工具 apiAutoTestWeb

    apiAutoTestWeb使用说明 apiAutoTestWeb是为apiAutoTest的可视化版本,其采用前后端分离(FastAPI + Vue2)方式实现 具体使用: Python3 + Fa ...

  10. 【主从复制】MySQL主从复制的原理

    1. 存在几个线程: 主库一个线程,从库两个线程 2.主库生成一个log dump线程,和从库IO线程交互 3.IO线程请求主库binlog,写入到中继日志relay log 4.SQL线程读取中继日 ...