Linux基本功系列之usermod命令实战

news/2023/5/28 7:26:12

文章目录

    • 01. 命令概述
    • 02. 命令格式
    • 03. 常用选项
    • 04. 参考示例
    • 05. 附录

01. 命令概述

使用useradd添加的用户,如果不小心添加错了用户信息该如何修改呢?

这时候就会用到usermod 命令

usermod命令用于修改用户账号 。usermod可用来修改用户账号的各项设定,修改系统账号文件来反映通过命令行指定的变化。

这里一定要分清 useradd 命令和 usermod 命令的区别,前者用于添加用户,当然,添加用户时可以对用户信息进行定制;后者针对与已存在的用户,使用该命令可以修改它们的信息。

02. 命令格式

用法:usermod [参数] 用户名

usermod的参数和useradd的参数大同小异,这里我们可以使用 usermod --help来查看常用的命令参数选项:

03. 常用选项

[root@mufenggrow ~]# usermod --help
用法:usermod [选项] 登录选项:-c, --comment 注释            GECOS 字段的新值-d, --home HOME_DIR           用户的新主目录-e, --expiredate EXPIRE_DATE  设定帐户过期的日期为 EXPIRE_DATE-f, --inactive INACTIVE       过期 INACTIVE 天数后,设定密码为失效状态-g, --gid GROUP               强制使用 GROUP 为新主组-G, --groups GROUPS           新的附加组列表 GROUPS-a, --append GROUP            将用户追加至上边 -G 中提到的附加组中,并不从其它组中删除此用户-h, --help                    显示此帮助信息并推出-l, --login LOGIN             新的登录名称-L, --lock                    锁定用户帐号-m, --move-home               将家目录内容移至新位置 (仅于 -d 一起使用)-o, --non-unique              允许使用重复的(非唯一的) UID-p, --password PASSWORD       将加密过的密码 (PASSWORD) 设为新密码-R, --root CHROOT_DIR         chroot 到的目录-s, --shell SHELL             该用户帐号的新登录 shell-u, --uid UID                 用户帐号的新 UID-U, --unlock                  解锁用户帐号-Z, --selinux-user  SEUSER       用户账户的新 SELinux 用户映射

从上面的执行代码中可以看到,有很多参数与usermod相同,比如 -g 参数,指的是更换新的熟组。

04. 参考示例

4.1 修改用户的UID

## 创建测试用户
[root@mufenggrow ~]# useradd oracle
[root@mufenggrow ~]# id oracle
uid=1002(oracle) gid=1002(oracle)=1002(oracle)
## 修改用户的UID
[root@mufenggrow ~]# usermod -u 1111 oracle
[root@mufenggrow ~]# id oracle
uid=1111(oracle) gid=1002(oracle)=1002(oracle)
[root@mufenggrow ~]# 

4.2 修改shell

## 查看oracle用户原来的shell
[root@mufenggrow ~]# grep oracle /etc/passwd
oracle:x:1111:1002::/home/oracle:/bin/bash
## 修改shell
[root@mufenggrow ~]# usermod -s /sbin/nologin oracle
[root@mufenggrow ~]# !grep
grep oracle /etc/passwd
oracle:x:1111:1002::/home/oracle:/sbin/nologin

4.3 更改用户主目录

## 先登录到用户家目录创建一个文件便于测试
[root@mufenggrow ~]# cd /home/oracle/
[root@mufenggrow oracle]# touch a.txt
## 可以看到刚刚创建的文件
[root@mufenggrow oracle]# ll
总用量 0
-rw-r--r--. 1 root root 0 118 20:03 a.txt
## 使用-d参数移动家目录
[root@mufenggrow oracle]# usermod  -m -d /tmp/mufeng oracle
[root@mufenggrow oracle]# cd /tmp/mufeng
## 可以看到家目录已经移动过来了
[root@mufenggrow mufeng]# ls
a.txt

这里的 -m选项会自动创建新目录并且移到内容到新目录里面

4.4 添加说明信息

## 查看没有添加之前的信息
[root@mufenggrow mufeng]# grep oracle /etc/passwd
oracle:x:1111:1002::/tmp/mufeng:/sbin/nologin
## 使用-c参数添加
[root@mufenggrow mufeng]# usermod -c "i am mufeng" oracle
## 查看添加之后的信息
[root@mufenggrow mufeng]# grep oracle /etc/passwd
oracle:x:1111:1002:i am mufeng:/tmp/mufeng:/sbin/nologin

4.5 修改用户名为zhangsan

[root@mufenggrow mufeng]# usermod -l zhangsan oracle
[root@mufenggrow mufeng]# id zhangsan
uid=1111(zhangsan) gid=1002(oracle)=1002(oracle)
# 可以看到原来的用户没有了
[root@mufenggrow mufeng]# id oracle
id: oracle: no such user

此处需要注意,把oracle 改为zhangsan

语法为:

usermod -l 新用户 要修改的用户名

4.6 锁定用户mufeng

[root@mufenggrow mufeng]# usermod -L mufeng

4.7 解锁用户mufeng

[root@mufenggrow mufeng]# usermod -U mufeng

4.8 添加新的附加组

[root@mufenggrow mufeng]# usermod -U root mufeng

4.9 指定帐号过期日期

[root@mufenggrow mufeng]# usermod -e 2023/11/11 mufeng## 查看过期时间
[root@mufenggrow mufeng]# chage -l mufeng
最近一次密码修改时间					:1月 18, 2023
密码过期时间					:从不
密码失效时间					:从不
帐户过期时间						:11月 11, 2023
两次改变密码之间相距的最小天数		:0
两次改变密码之间相距的最大天数		:99999
在密码过期之前警告的天数	:7

4.10 指定用户帐号密码过期多少天后,禁用该帐号

## 先查看lisi用户的账号信息
[root@mufenggrow mufeng]# sed -n '$p' /etc/shadow
lisi:!!:19375:0:99999:7:::
## 使用 -f餐宿进行修改
[root@mufenggrow mufeng]# usermod -f 30 lisi
[root@mufenggrow mufeng]# !sed
sed -n '$p' /etc/shadow
lisi:!!:19375:0:99999:7:30::

可以看到实效的时间已经变成了30天

05. 附录

linux系统基本功命令实战汇总参考链接:linux基本功之命令篇系列博文汇总

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-4562440.html

如若内容造成侵权/违法违规/事实不符,请联系郑州代理记账网进行投诉反馈,一经查实,立即删除!

相关文章

Teddy van Jerry 的导航页

我的 GitHub 账号 Teddy-van-Jerry。 学习经历 初中时对 C 略有接触,大概感知,并未能够系统化地学习。 2020暑假里开始用大段时间学习C。截止至2020.8.28 19:30 已学习 C三个星期(CSDN 码龄18天),已发布原创博客19篇。…

MATLAB基本语法详解

MATLAB基本语法详解 下面内容 :变量、M-Files、决策、循环容易掌握 命令、数据类型、运算符不需要记住,用了再查 变量 每个MatLab变量可以是数组或者矩阵 最简单的方法指定变量 x 3 % 定义并初始化(赋值)变量xMATLAB上执…

Windows 10推送的锁屏壁纸保存方法

工作中使用的系统为Windows 10,锁屏时显示的壁纸很漂亮,并且每天都会更新,有几张特别喜欢,于是就想这些壁纸到底保存在哪里呢?经过一番摸索,终于搞明白了,简单记录一下。 壁纸保存在下面路径&am…

Windows 安装 Android Studio

1、下载Android Studio https://r1—sn-2x3edn7s.gvt1.com/edgedl/android/studio/install/2022.1.1.19/android-studio-2022.1.1.19-windows.exe?cms_redirectyes&mhBy&mip175.146.144.124&mm28&mnsn-2x3edn7s&msnvh&mt1673878346&mvm&mvi1…

linux CentOs版本对照表

https://access.redhat.com/articles/3078 我现在有个1810的版本 对应的就是centos7.6

linux 开机自启用非root启动

linux 开机自启用非root启动 例如djq是用户 su - djq -c “mkdir -p /home/djq/222” 就会用djq用户执行mkdir -p /home/djq/222命令

Vue 兼容IE最终方法。实测有效

vue 采用了最新的ES6语法,而IE不支持ES6,所以使用vue需要解决兼容性问题。 首先我们先引入一个browser.min.js 下载地址:https://cdn.bootcdn.net/ajax/libs/jquery-browser/0.1.0/jquery.browser.min.js 2.script标签的type的值设为text/b…

jenkins下载插件慢解决方案

找到安装目录的default.json,我这里是windows 通过notepad打开default.json 替换 updates.jenkins-ci.org/download 为 mirrors.tuna.tsinghua.edu.cn/jenkins 然后把www.google.com修改成百度 然后重启一下jenkins会发现快了不少

linux部署reids

先去redis官网下载好源码包 https://redis.io/ 进入服务器 mkdir /usr/local/redis 默认创建这个文件夹把源码包上传到服务器并且解压 tar -zxvf redis-6.2.2.tar.gzmake编译 注意这里编译需要用到gcc等依赖 yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-…

Redis部署哨兵模式

1.为什么需要哨兵架构 如果没有哨兵架构,那么当主节点挂了的时候,需要运维人员手动将某个从节点设置为主节点,还需要修改IP等其他操作。 2.redis哨兵架构搭建 前提是先部署好redis单机或者主从 部署单机版教程地址 conf文件内容 #主要关…

windows没有足够信息,不能验证该证书 解决记录

我们在打开https的网站的时候,有时候会提示这个, 这个的原因是因为没有加载到证书的原因,当然也可以跳过,点击页面的高级,可以跳过验证直接进入, 这次我们记录的是如何把这个证书加载到 点击浏览器的不安…

maven下载jar包速度慢解决(亲测可用)

在conf下面的settings.xml 替换下面的 <?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"…

Spring boot项目设置静态资源(spring.resources.static-locations)

默认Springboot将从如下位置按如下优先级(从高到低)加载jar包对应前端静态资源&#xff1a; 1.jar包同级static目录 2.jar包同级public目录 3.jar包同级resource目录 4.jar包/META-INF/resources 在调试模式下&#xff0c;Springboot将从class目录中按如下优先级(从高到低)加…

Redis主从复制-一主多从

搭建一主二从的Redis服务器 环境搭建 在同一台虚拟机上配置一主二从Redis服务器&#xff0c;由于单台机器&#xff0c;同一个端口只允许一个进程占用&#xff0c; 所以需要修改其他两台Redis的端口。在/usr/local/myredis文件夹下&#xff0c;新创建三个redis的配置文件&#…

微信小程序获取用户手机号总结

微信小程序获取用户手机号总结&#xff08;java 解密&#xff09;前言1.授权获取密文①.首页设为授权页②在登录页获取授权③底部导航栏“我的”2.获取密钥3.解密前言 公司最近开发一个程序&#xff0c;需求是要通过用户手机号去数据库获得CUSTOMERID&#xff0c;根据CUSTOMERI…

Apache APISIX 助力便利充电创领者小电,实现云原生方案

业务背景 小电作为国内共享充电宝服务平台&#xff0c;目前还处于初创阶段。从运维体系、测试环境等方面来讲&#xff0c;当下产品的业务主要面临了以下几个问题&#xff1a; VM 传统模式部署&#xff0c;利用率低且不易扩展 开发测试资源抢占 多套独立的测试环境&#xff0…

视频教程-C语言-从汇编角度理解C语言的本质-C/C++

C语言-从汇编角度理解C语言的本质 擅长JavaWeb开发&#xff0c;游戏逆向外挂与反外挂&#xff0c;游戏保护对抗 孙冉 49.00 立即订阅 扫码下载「CSDN程序员学院APP」&#xff0c;1000技术好课免费看 APP订阅课程&#xff0c;领取优惠&#xff0c;最少立减5元 ↓↓↓ 订阅后&…

用一个图书库实例搞懂二分搜索树的底层原理

文章目录一、背景二、概念1、定义2、 动画示例三、图书库实例3.1、项目需求3.2、代码结构3.3、图书类3.4、二分搜索树的底层实现3.5、图书库的构建四、深入理解一、背景 二叉树是一种常用的数据结构&#xff0c;更是实现众多算法的一把利器。本文将通过建立一个图书库的实例对…

1024 大促书单丨神券在手,快乐我有

// 把闸拉了&#xff0c;今天谁也别想加班&#xff01; //又是一年1024&#xff0c;又是一年程序员节这嘴上说着“今天不加班”肉体却被牢牢封印在电脑前的日子何时是个头擦掉泪水&#xff0c;生活还要继续博文菌联合当当网为奋战了一整年的猿媛们奉上一份安慰大礼包◆ 当当…

书单 | 月度畅销好书,助你技能满格,摆脱低效,走向财富人生

转眼间&#xff0c;2021年已经过去了三分之一&#xff01; 年初的Flag进展如何了呢&#xff1f;是否又更博学了呢&#xff1f; 在5月份的第一天&#xff0c;博文菌挑选出了博文视点京东月度榜单前10名的图书&#xff0c;大家正好可以利用五一假期学起来呀&#xff01; 01 ▊《…