Centos或Linux编写一键式Shell脚本删除用户、组指导手册

news2024/11/15 9:24:31

在这里插入图片描述

文章目录

  • 一、目的
  • 二、操作步骤

一、目的

本指导手册为了更加方便使用Centos或者Linux,并在里面删除用户、用户组。

注意点1:userdel命令删除该用户时,并不能删除该用户的所有信息,只是删除了/etc/passwd、/etc/shadow、/etc/group/、/etc/gshadow四个文件里的该账户和组的信息。默认情况下创建一个用户账号,会创建一个家目录(在/home/目录以用户名命名)和一个用户邮箱(在/var/spool/mail目录以用户名命名)
因此彻底删除用户,还需额外执行命令:

rm -rf /home/用户名/
rm -rf /var/spool/mail/用户名

注意点2:删除组参数介绍

[root@usertest ~]# groupdel -h
Usage: groupdel [options] GROUP

Options:
  -h, --help                    display this help message and exit
  -R, --root CHROOT_DIR         directory to chroot into
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -f, --force                   delete group even if it is the primary group of a user

二、操作步骤

configure_delete_oss.sh

#!/bin/bash

# 设置用户名和密码
username1="oss_cm"
username2="oss_pm"
username3="oss_hw"
groupname1="oss_cm_group"
groupname2="oss_pm_group"
groupname3="oss_hw_group"
echo "Set userName and groupName completed."

# 检查用户是否存在
if id "$username1" >/dev/null 2>&1; then
    # 删除用户
    userdel -r "$username1"
    rm -rf /home/"$username1"/
    rm -rf /var/spool/mail/"$username1"
    echo "user $username1 deleted successfully"
else
    echo "user $username1 inexistence"
fi

if id "$username2" >/dev/null 2>&1; then
    # 删除用户
    userdel -r "$username2"
    rm -rf /home/"$username2"/
    rm -rf /var/spool/mail/"$username2"
    echo "user $username2 deleted successfully"
else
    echo "user $username2 inexistence"
fi

if id "$username3" >/dev/null 2>&1; then
    # 删除用户
    userdel -r "$username3"
    rm -rf /home/"$username3"/
    rm -rf /var/spool/mail/"$username3"
    echo "user $username3 deleted successfully"
else
    echo "user $username3 inexistence"
fi

# 检查组是否存在
if grep -q "^$groupname1:" /etc/group; then
    # 删除组
    groupdel "$groupname1"
    echo "group $groupname1 deleted successfully"
else
    echo "group $groupname1 inexistence"
fi

if grep -q "^$groupname2:" /etc/group; then
    # 删除组
    groupdel "$groupname2"
    echo "group $groupname2 deleted successfully"
else
    echo "group $groupname2 inexistence"
fi

if grep -q "^$groupname3:" /etc/group; then
    # 删除组
    groupdel "$groupname3"
    echo "group $groupname3 deleted successfully"
else
    echo "group $groupname3 inexistence"
fi
echo "OSS configuration completed."

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue3 +TScript 基本开发

首先你要使用 vite 创建项目 npm init vuelatest 并选择带ts的版本 文件的结构 main.ts 文件 import { createApp } from "vue" import { createPinia } from piniaimport App from "./App.vue" const pinia createPinia() const app createApp(App)a…

map、multimap、set、multiset讲解

文章目录 📍前言1. 关联式容器2. 键值对3. 树形结构的关联式容器3.1 set3.1.1 set的介绍3.1.2 set的使用 3.2 map3.2.1 map的介绍3.2.2 map的使用 3.3 muitiset3.3.1 multiset的介绍3.3.2 multiset的使用 3.4 multimap3.4.1 multimap的介绍3.4.2 multimap的使用 3.5…

山西电力市场日前价格预测【2023-07-10】

日前价格预测 预测明日(2023-07-10)山西电力市场全天平均日前电价为374.23元/MWh。其中,最高日前价格为417.10元/MWh,预计出现在19: 45。最低日前电价为323.51元/MWh,预计出现在13: 30。 价差方向预测 1:实…

利用VitePress部署静态网站

前言 之前看到过很多这样的静态网站,基于Markdown格式,风格基本统一,而且这种网站非常常见,例如: 例如,以下的几个网址: Java HashMap 源码分析 | 未读代码BAT大厂面试题与全栈知识体系结合…

实践:devops之K8s环境持续部署

实践:devops之K8s环境持续部署 目录 推荐文章 https://www.yuque.com/xyy-onlyone/aevhhf?# 《玩转Typora》 1、Kubectl 发布流水线 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X2Q6MzL1-1688896509292)(https://bucket-hg.oss-cn-…

【唯一分解】A因子

A-因子_Wannafly挑战赛25 (nowcoder.com) 题意&#xff1a; 思路&#xff1a; Code&#xff1a; #include <bits/stdc.h>#define int long longusing namespace std;const int mxn1e510; const int mxe1e610; const int mod1e97; const int Inf1e18;int N,K; int len0;…

8 Java自增和自减

自增&#xff1a;i或i。 自减&#xff1a;i--或--i。 两种自增和自减的写法是有区别的&#xff0c;以自增为例子。i是先把未自增的i赋值给左边&#xff0c;i再进行自增&#xff0c;而i是先自增&#xff0c;再把自增后的i赋值给左边。自减的道理也是如此。 i的情况如下代码所示&…

webpack5高级配置

webpack多入口 注意&#xff1a;webpack5基本配置只是打包产出一个html文件 &#xff0c;想要产出多个html就需要进行过入口的配置 webpack.common.js 注意&#xff1a;公共文件中的入口需要引入两个js文件 entry: {index:path.join(srcPath, index.js),other:path.join(src…

数据库MySQL基础

1、MySQL概述 相关概念 版本 2、SQL语言 2.0 数据类型 数值型 字符型 日期型 2.1 SQL通用语法 SQL语句可以单行或多行书写&#xff0c;以分号结尾。SQL语句可以使用空格/缩进来增强语句的可读性。MySQL数据库的SQL语句不区分大小写&#xff0c;关键字建议使用大写。注释: …

Unity零基础到进阶 ☀️| 视频播放器 Video Player组件 详解

【Unity3D组件使用指南】视频播放器VideoPlayer组件 详解一、组件介绍二、组件属性面板三、代码操作组件四、组件常用方法示例1.直接在Camera上渲染视频2.在RawImage上播放视频3.在3D物体上播放视频五、组件相关扩展1.做一个简易的视频播放器2.视频画面残留问题总结🎬 博客主…

C#学习之路-数据类型

在 C# 中&#xff0c;变量分为以下几种类型&#xff1a; 值类型&#xff08;Value types&#xff09;引用类型&#xff08;Reference types&#xff09;指针类型&#xff08;Pointer types&#xff09; 值类型&#xff08;Value types&#xff09; 值类型变量可以直接分配给…

flink的并行概念和数据交换策略

flink的并行 flink的并行包括三种并行&#xff1a; 第一种是数据并行&#xff0c;也就是不同的任务处理数据的不同部分&#xff0c;进行数据拆分 第二种是任务并行&#xff0c;也就是不同/相同算子的不同任务并行执行&#xff0c;互不影响 第三种是作业并行&#xff0c;也就是…

IDEA+springboot+mybatis+shiro+bootstrap+Mysql WMS仓库管理系统

IDEAspringbootmybatisshirobootstrapMysql WMS仓库管理系统 一、系统介绍1.环境配置 二、系统展示1. 管理员登录2.修改密码3.系统日志4. 登陆日志5. 库存查询6. 出入库记录7.货物入库8.货物出库9.仓库管理员管理10.供应商信息管理11.客户信息管理12.货物信息管理13. 仓库信息管…

文件上传常用绕过方式

JavaScript前端验证绕过 JavaScript 验证就是所谓的客户端验证&#xff0c;也是最脆弱的一种验证。直接修改数据包或禁用 JavaScript.enable 即可绕过。 例如upload的第一题&#xff0c;在我们点击发送时&#xff0c;还没经过代理就直接弹窗报错&#xff0c;就考虑存在前端验证…

OSI参考模型,TCP/IP标准模型,TCP/IP对等模型三大模型详解

数通小白必看系列 第一章 初识华为数通&#xff08;2&#xff09; 前言 1.什么是OSI参考模型 2.我们为什么要学习OSI参考模型 3.我们怎么学习OSI参考模型 1.我们要了解OSI参考模型分为那几层 2.我们要怎么理解和记忆OSI的7层参考模型 前言告知&#xff1a;我们首先要记住…

将图片写入到excel某一列

将图片写入到excel某一列 参考视频&#xff1a;https://www.bilibili.com/video/BV1L5411e7Zj?p1&share_mediumiphone&share_platios&share_session_idF43BCE3C-CD23-4CF8-B998-C2FE8BD1F0F6&share_sourceWEIXIN&share_tags_i&timestamp1644493555&am…

数据库第二次作业

目录 一、要求 二、操作 建表 插入数据 1、显示所有职工的基本信息 2、查询所有职工所属部门的部门号&#xff0c;不显示重复的部门号 ​编辑 3、求出所有职工的人数​编辑 4、列出最高工和最低工资 ​5、列出职工的平均工资和总工资 6、创建一个只有职工号、姓名和…

【DDoS攻击检测】基于改进的非洲秃鹫优化算法和一种新的DDoS攻击检测传递函数的特征选择方法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【Visual Studio】智能提示功能消失解决办法

问题 VS2013环境智能提示突然用不了&#xff0c;重启计算机也无效&#xff0c;一下有点不习惯。 解决方法 1、打开 VS2013开发人员提示。 2、输入一下命令&#xff0c;重置VS2013。 devenv.exe /resetsettings

虚拟文件系统(VFS)

为支持各种本机文件系统&#xff0c;且在同时允许访问其他操作系统的文件&#xff0c;Linux内核在用户进程&#xff08;或C标准库&#xff09;和文件系统实现之间引入了一个抽象层。该抽象层称之为虚拟文件系统&#xff08;Virtual File System&#xff09;&#xff0c;简称VFS…