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. ElementPlusViteStarterPnpm版本

    1 起因 由于最近Vite升级了2.x版本,项目中需要改动的东西有点多,本来想基于官方给出的starter重做,但是又看到了一个叫pnpm的仓库,构建速度会比原生npm/yarn快两倍以上: 因此模仿 ...

  2. aws eks上部署 ingress-nginx 加NLB

    转载自https://kubernetes.github.io/ingress-nginx/deploy/#aws In AWS we use a Network load balancer (NLB ...

  3. Weekly Contest 137

    1046. Last Stone Weight We have a collection of rocks, each rock has a positive integer weight. Each ...

  4. Linux 基本防火墙设置和开放端口命令

    关闭防火墙 CentOS 7.RedHat 7 之前的 Linux 发行版防火墙开启和关闭( iptables ): 即时生效,重启失效 #开启 service iptables start #关闭 ...

  5. 不可不知的CSS小技巧

    一.表单部分 1.禁止textarea文本域的缩放 resize:none; 2.去除初始化textarea下拉条 overflow:auto; 3.如何让表单中的选项按钮,点击文字也能选中? < ...

  6. git基于master创建本地新分支

    应用场景:开发过程中经常用到从master分支copy一个本地分支作为开发分支 步骤: 1.切换到被copy的分支(master),并且从远端拉取最新版本 $git checkout master $ ...

  7. R3抹掉加载的DLL

    R3抹掉加载的DLL 原理类似于获取Kernel32.dll加载地址,知道这个东西也是在看获取Kernel32.dll地址的时候在网上搜索学习资料,无意中看到的这个东西.这个挺有用,结合着HiJack ...

  8. web php wrong nginx config

    web php wrong nginx config 目录 web php wrong nginx config 题目描述 解题过程 信息收集 robots.txt hint.php Hack.php ...

  9. python 读写 HDFS

    pandas dataframe写入hdfs csv文件的两种方式: 1. from hdfs.client import Client cleint.write(hdfs_url, df.to_cs ...

  10. mysqldump中skip-tz-utc参数介绍

    前言: 在前面文章中,有提到过 mysqldump 备份文件中记录的时间戳数据都是以 UTC 时区为基础的,在筛选恢复单库或单表时要注意时区差别.后来再次查看文档,发现 tz-utc.skip-tz- ...