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

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

image.png

@[toc]

一、目的

本指导手册为了更加方便使用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."

image.png

重要信息

image.png
image.png
image.png

目录
相关文章
|
3天前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
20 3
|
2月前
|
关系型数据库 MySQL Shell
MySQL 备份 Shell 脚本:支持远程同步与阿里云 OSS 备份
一款自动化 MySQL 备份 Shell 脚本,支持本地存储、远程服务器同步(SSH+rsync)、阿里云 OSS 备份,并自动清理过期备份。适用于数据库管理员和开发者,帮助确保数据安全。
|
1月前
|
Linux Shell
在Linux、CentOS7中设置shell脚本开机自启动服务
以上就是在CentOS 7中设置shell脚本开机自启动服务的全部步骤。希望这个指南能帮助你更好地管理你的Linux系统。
100 25
|
7月前
|
Shell
一个用于添加/删除定时任务的shell脚本
一个用于添加/删除定时任务的shell脚本
216 1
|
3月前
|
Shell Linux
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
201 32
|
2月前
|
关系型数据库 Shell 网络安全
定期备份数据库:基于 Shell 脚本的自动化方案
本篇文章分享一个简单的 Shell 脚本,用于定期备份 MySQL 数据库,并自动将备份传输到远程服务器,帮助防止数据丢失。
|
3月前
|
JavaScript Shell C#
多种脚本批量下载 Docker 镜像:Shell、PowerShell、Node.js 和 C#
本项目提供多种脚本(Shell、PowerShell、Node.js 和 C#)用于批量下载 Docker 镜像。配置文件 `docker-images.txt` 列出需要下载的镜像及其标签。各脚本首先检查 Docker 是否安装,接着读取配置文件并逐行处理,跳过空行和注释行,提取镜像名称和标签,调用 `docker pull` 命令下载镜像,并输出下载结果。使用时需创建配置文件并运行相应脚本。C# 版本需安装 .NET 8 runtime。
208 3
|
6月前
|
Shell Linux 测试技术
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
6种方法打造出色的Shell脚本
|
6月前
|
XML JSON 监控
Shell脚本要点和难点以及具体应用和优缺点介绍
Shell脚本在系统管理和自动化任务中扮演着重要角色。尽管存在调试困难、可读性差等问题,但其简洁高效、易于学习和强大的功能使其在许多场景中不可或缺。通过掌握Shell脚本的基本语法、常用命令和函数,并了解其优缺点,开发者可以编写出高效的脚本来完成各种任务,提高工作效率。希望本文能为您在Shell脚本编写和应用中提供有价值的参考和指导。
271 1
|
6月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
240 2
下一篇
阿里云OSS
OSZAR »