Linux 用户管理:系统管理员的实用方法

2023-11-18

用户管理是 Linux 系统管理的一个重要方面,因为它允许管理员创建、修改和删除用户帐户、管理权限以及控制对系统资源的访问。本文为系统管理员介绍了一种实用的 Linux 用户管理方法。通过了解用户管理的基础知识,您可以确保更安全且组织良好的 Linux 环境。

Linux 用户管理概述

在 Linux 中,用户管理主要围绕创建、修改和删除用户帐户、管理权限以及控制对系统资源的访问。正确的用户管理可确保用户拥有适当的访问级别来执行其任务,并防止对敏感信息或系统资源进行未经授权的访问。

在 Linux 中创建用户帐户

Linux 中有多个用于创建用户帐户的命令,例如 useradd 和 adduser。 useradd 命令更灵活,可以更好地控制用户帐户属性,而 adduser 则更加用户友好和交互。

要使用 useradd 创建新用户,请使用以下命令:

1
sudo useradd -m -s /bin/bash -G [附加组] [username]

将 [username] 替换为所需的用户名,将 [additional_groups] 替换为您希望用户成为其成员的任何补充组,并以逗号分隔。 -m 选项为新用户创建主目录,-s 选项将默认 shell 设置为 /bin/bash。

在本节中,我们将提供使用 useradd 和 adduser 等各种命令在 Linux 中创建用户帐户的示例。这些示例演示了使用不同设置和选项创建新用户帐户的过程。

  1. 使用 useradd 命令创建用户
  2. 要使用 useradd 创建新用户帐户,请使用以下命令:

    sudo useradd -m -s /bin/bash john 
    

    此命令创建一个名为的新用户‘john’,主目录(-m 选项)和默认 shell 设置为 /bin/bash(-s 选项)。

  3. 使用adduser命令创建用户
  4. adduser 命令比 useradd 更具交互性和用户友好性。要使用 adduser 创建新用户帐户,只需输入:

    sudo adduser john 
    

    该命令将提示您输入并确认新用户的密码,以及其他可选信息,例如全名、电话号码和房间号。

  5. 使用自定义主目录和用户 ID 创建用户
  6. 要创建具有自定义主目录和用户 ID 的用户,请分别使用带有 -d 和 -u 选项的 useradd 命令:

    sudo useradd -m -u 1005 -d /custom/home/directory -s /bin/bash john 
    

    此命令创建一个新用户“john”,用户 ID 为“1005”,自定义主目录位于 /custom/home/directory,默认 shell 设置为 /bin/bash。

  7. 创建用户并将其添加到多个组
  8. 要创建用户并将其添加到多个组,请使用带有 -G 选项的 useradd 命令,后跟逗号分隔的组名称列表:

    sudo useradd -m -s /bin/bash -G sudo,users,developers john 
    

    此命令创建一个新用户“john”,其主目录和默认 shell 设置为 /bin/bash。用户还会添加到“sudo”、“users”和“developers”组中。

在 Linux 中修改用户帐户

创建用户帐户后,您可能需要修改其属性,例如更改其密码、更新其 shell 或将其添加到其他组。您可以使用以下命令来修改用户帐户:

在本节中,我们将提供使用各种命令在 Linux 中修改用户帐户的示例。这些示例涵盖了常见任务,例如更改用户的密码、更新其 shell、修改其主目录以及在组中添加或删除用户。

  1. 更改用户密码
  2. 要更改用户帐户的密码,请使用 passwd 命令,后跟用户名:

    sudo passwd john 
    

    系统将提示您输入用户“john”的新密码。出现提示时再次输入密码以确认新密码。

  3. 更新用户的 shell
  4. 要更新用户的默认 shell,请使用带 -s 选项的 chsh 命令,后跟新 shell 和用户名:

    sudo chsh -s /bin/tcsh john 
    

    此命令将用户“john”的默认 shell 更改为 /bin/tcsh。

  5. 修改用户的主目录
  6. 要更改用户的主目录,请使用带有 -d 选项的 usermod 命令,后跟新的主目录路径和用户名:

    sudo usermod -d /new/home/directory john 
    

    此命令将用户“john”的主目录设置为 /new/home/directory。要将旧主目录的内容移动到新目录,请使用 -m 选项:

    sudo usermod -m -d /new/home/directory john 
    

  7. 将用户添加到组
  8. 要将用户添加到组,请使用带有 -aG 选项的 usermod 命令,后跟组名称和用户名:

    sudo usermod -aG sudo john 
    

    此命令将用户“john”添加到“sudo”组,授予他们管理权限。

  9. 从组中删除用户
  10. 要从组中删除用户,请使用带有 -d 选项的 gpasswd 命令,后跟用户名和组名:

    sudo gpasswd -d john sudo 
    

    此命令将用户“john”从“sudo”组中删除,从而撤销其管理权限。

这些示例涵盖了在 Linux 中修改用户帐户的一些最常见的任务。根据您的要求,您可能需要使用其他选项或命令来有效管理用户帐户。请务必查阅命令的文档(使用 man [command])以获取有关可用选项及其用法的更多信息。

在 Linux 中删除用户帐户

删除用户帐户是用户管理的重要组成部分,尤其是当用户不再需要访问系统时。 userdel 和 deluser 命令可以删除 Linux 中的用户帐户。 userdel 命令提供了对用户帐户删除的更大灵活性和控制,而 deluser 则更加用户友好和交互。

要使用 userdel 命令删除用户帐户,请输入以下命令:

1
sudo userdel -r [username]

将 [用户名] 替换为您要删除的帐户的用户名。 -r 选项删除用户的主目录和文件。

在本节中,我们将提供使用 userdel 和 deluser 等命令在 Linux 中删除用户帐户的示例。这些示例演示了删除用户帐户以及处理其主目录和文件的过程。

  1. 使用 userdel 命令删除用户
  2. 要使用 userdel 命令删除用户帐户,请输入以下命令:

    sudo userdel john 
    

    此命令删除用户帐户“john”,但保留用户的主目录和文件完好无损。

  3. 使用 userdel 命令删除用户及其主目录
  4. 要删除用户帐户及其主目录,请使用 -r 选项:

    sudo userdel -r john 
    

    此命令删除用户帐户“john”及其主目录及其内容。

  5. 使用 deluser 命令删除用户
  6. deluser 命令比 userdel 更具交互性和用户友好性。要使用 deluser 删除用户帐户,只需输入:

    sudo deluser john 
    

    此命令删除用户帐户“john”,但保留用户的主目录和文件完好无损。

  7. 使用 deluser 命令删除用户及其主目录
  8. 要使用 deluser 删除用户帐户及其主目录,请使用 –remove-home 选项:

    sudo deluser --remove-home john 
    

    此命令删除用户帐户“john”及其主目录及其内容。

  9. 使用 deluser 命令删除用户及其主目录、邮件假脱机和自定义文件
  10. 要删除用户帐户及其主目录、邮件后台和自定义文件,请使用 –remove-all-files 选项:

    sudo deluser --remove-all-files john 
    

    此命令删除用户帐户“john”、其主目录、邮件池以及该用户在系统上拥有的任何其他文件。

管理用户权限和组

用户权限和组成员身份在控制对系统资源的访问方面发挥着至关重要的作用。 Linux 使用用户、组和其他权限的组合来确定用户是否可以访问特定文件或目录。您可以使用 chmod、chown 和 chgrp 命令分别修改文件权限、所有权和组所有权。

要有效管理用户组,请考虑以下最佳实践:

  • 根据工作角色或任务创建组,并将用户分配到这些组。
  • 使用最小权限原则,仅授予用户执行任务所需的最小访问权限。
  • 定期检查组成员身份和权限,并根据需要进行更新。

实施密码策略和安全措施

实施密码策略和安全措施可以帮助保护用户帐户和敏感信息。请考虑以下用户管理安全最佳实践:

  • 强制执行具有最小长度和复杂性要求的强密码。
  • 要求用户定期更改密码。
  • 使用双因素身份验证 (2FA) 添加额外的安全层。
  • 监控用户活动和登录以识别可疑行为。

监控和审核用户活动

监控和审核用户活动是用户管理的重要组成部分。它有助于确保遵守安全策略、识别潜在的安全威胁并解决问题。 Linux 提供了各种用于监视和审核用户活动的工具和实用程序:

  • 使用日志文件(例如 /var/log/auth.log 和 /var/log/secure)来跟踪用户登录、身份验证尝试和其他与安全相关的事件。
  • 实施auditd守护进程来跟踪系统事件和用户操作,以便进行更深入的分析和报告。
  • 使用last和lastlog命令查看用户登录历史记录并识别任何未经授权的访问尝试。

Linux 中高效用户管理的最佳实践

  • 定期检查用户帐户并删除任何不活动或不必要的帐户。
  • 分配用户执行任务所需的最少权限。
  • 建立并实施密码策略,例如最小密码长度和复杂性。
  • 监控用户活动和登录以识别可疑行为和潜在的安全威胁。
  • 记录用户帐户信息,例如用户名、全名、联系方式和组成员身份,以帮助用户管理和审核。

结论

Linux 用户管理对于任何系统管理员来说都是一项关键技能。通过遵循本文中介绍的实用方法和最佳实践,您可以有效地管理 Linux 环境中的用户帐户、权限和访问控制。正确的用户管理有助于维护安全且组织良好的 Linux 系统,确保用户具有适当的访问级别来执行其任务,并防止未经授权访问敏感信息或系统资源。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 用户管理:系统管理员的实用方法 的相关文章

  • MySQL最常用的二种存储引擎MyISAM和InnoDB的介绍

    1 MyISAM 默认表类型 它是基于传统的ISAM类型 ISAM是Indexed Sequential Access Method 有索引的顺序访问方法 的缩写 它是存储记录和文件的标准方法 不是事务安全的 而且不支持外键 如果执行大量的
  • 轻松拿结果-第二部分 同力 -第五章 用制度保障业绩

    第五章 用制度保障业绩 制度的保障 体现的是管理者的监管能力 也是守护胜利果实的有力保障 只有铁的纪律 才能拿到铁的结果 商场如战场 在公司您们就是带兵打仗的将军 有一个销售员踢球时伤到了腿 在他休息的两个月里 业绩却没有落下一点 都是整个
  • html5 悬停边框,Html,css:在悬停时更改行的边框颜色(Html,css: Change a row's border colow on hover)...

    Html css 在悬停时更改行的边框颜色 Html css Change a row s border colow on hover 我正在使用DataTables 我试图在行悬停时将行的顶部和底部边框更改为红色 以下没有改变颜色 tab
  • 消息的顺序消费

    首先 需要保证顺序的消息要发送到同一个messagequeue中 其次 一个messagequeue只能被一个消费者消费 这点是由消息队列的分配机制来保证的 最后 一个消费者内部对一个mq的消费要保证是有序的 我们要做到生产者 messag
  • 强化学习笔记(5)-回合策略梯度算法

    以下为阅读 强化学习 原理与python实现 这本书第七章的学习笔记 在之前学习到的强度学习方法中 都是通过学习最优价值函数来获得最优策略 现在换一个角度来思考 我们可以通过用含参函数来近似最优策略 并在迭代中更新参数值 这就是策略梯度算法
  • C#、C++、Java、Python选择哪个好?

    一个好的程序员不能把自己绑定在一种语言上 不能把自己就定义为JAVA程序员 C 程序员 等等 语言没有高下之分 只有适用的场景 好的程序员 应该有很快学会一种新的语言 并解决实际问题的能力 在我二十年的程序生涯中 有过不止一次 因为项目 一
  • Oracle服务器性能全面调整攻略

    Oracle服务器性能全面调整攻略 Oracle服务器是高度可调的数据库系统 它提供了许多特性 正确地设置和调整可以有效提高系统性能 因此 对系统进行调整是数据库管理员的主要责任 由于应用设计人员很少或根本不会给数据库管理人员提供必要的信息
  • flink学习42:tableAPI的join、union、排序、插入操作

    连接 内连接 外连接 集合操作 union 获取交集 获取差集 in 操作 排序操作 插入操作
  • 交友盲盒完整版——详细源码分享

    现在目前比较火热的一款app交友盲盒是通过uniapp springboot技术来制作的 原理其实很简单 大家一看便知 大家自行下载到手机里面去使用即可 不支持ios手机 演示地址 https share weiyun com l3ovzt
  • 基于python+flask实现视频数据可视化

    项目概要 对视频的标题 播放量 弹幕量以及收藏量 视频分类等数据进行分析 通过flask项目中的python代码进行数据库连接进行前后端交互功能的实现 通过layui框架进行系统前端页面的功能实现 通过knn分类算法以及k均值聚类算法对爬取
  • lterator 迭代器 静态属性Symbol.iterator Symbol(Symbol.iterator)

    lterator迭代器 迭代模式 提供一种方法是可以顺序获得聚合对象中的各个元素 是一种最简单也最常见的设计模式 他可以让用户透过特定的接口巡防集合中的每一个元素而不用了解底层的实现 迭代器简介 依照迭代模式的思想而实现 分为内部迭代器和外
  • java I/O流的一些常用操作

    java i o 的一些操作 文件流 FileInputStream FileOutputStream FileReader FileWriter 这四个类是专门操作文件流的 用法高度相似 区别在于前面两个是操作字节流 后面两个是操作字符流
  • 立创EDA专业版(网页,全在线模式)开源导入立创EDA专业版(PC端,半离线模式)

    我个人从一开始就使用立创EDA专业版的半离线模式 是因为既可以离线画板 又可以在在线的时候使用系统库 但难免完美 就不如将立创EDA专业版 网页 全在线模式 导入立创EDA专业版 PC端 半离线模式 时就很麻烦 下面来说下怎么操作 在立创E
  • Ecshop如何解决Deprecated: preg_replace()报错 (第一章)

    今天安装Ecshop后 运行出现各种问题 其中 Deprecated preg replace 之类的报错最多 下面贴出解决方案 错误原因 preg replace 函数中用到的修饰符 e 在 PHP5 5 x 中已经被弃用了 如果你的PH
  • js正则表达式

    w3school 正则表达式 一 正则表达式的使用 首先 我们一般使用正则表达式用来进行验证邮箱手机号等 进行匹配 1 编写一个正则表达式 var rule 我是一个正则表达式 2 使用正则表达式来进行验证 var isrule rule
  • 解决使用echarts时警告There is a chart instance already initialize on the dom.的两种方法

    第一种 使用dispose 方法清除实例 封装的方法 在每次使用init 方法创建echarts实例前调用即可 判断dom是否存在 这里传入的name是实例 const domIsExistence name gt if name null
  • CSS 中的响应单元

    响应式设计不仅仅是一个流行词 它是网络开发的一个重要方面 确保您的网页在各种设备上无缝地显示和运行至关重要 这种实践的基石之一是在 CSS 中使用响应式单元 在本文中 我们将深入研究响应式单元的有趣世界 并探讨它们如何使 Web 开发人员能
  • jspdf

    使用html2canval将html转为canvas 再使用jspdf实现导出pdf 需设置要导出的每一页为1400 900 要导出pdf的父元素容器不能有隐藏和滚动条 隐藏部分html2canval无法截屏转为canvas functio
  • Java PECS(Producer Extends Consumer Super)原则

    在看 Alibaba 开发手册时遇到 PECS 原则 刚开始阅读时感觉比较绕 也搜索了一些博文参考 个人觉得 Stackoverflow 的这篇文章比较实用 What is PECS Producer Extends Consumer Su
  • 「快学Docker」探索Docker的优势和多样化用途

    快学Docker 探索Docker的优势和多样化用途 Docker的优势 Docker的多样化用途 总结 Docker的优势 环境一致性 传统软件开发和部署中 环境配置常常是一个棘手的问题 不同环境之间可能存在差异 导致问题难以定位和解决

随机推荐

  • spring3.0.3+hibernate3.5.4+JOTM2.2.1实现JTA事务管理

    本文参考资料 http java e800 com cn articles 2007 417 1176746498587392322 1 html 实验方法 本文设置两个entity Topic对应test1数据库 Post对应test2数
  • Flutter 使用JSONToDart 生成bean文件

    1 首先安装插件 进入flile setting plugins 2 然后搜索安装jsontodart 之后重启ide使其生效 3 在你需要使用的地方直接鼠标右键 或者使用快捷键Alt Shift D 4 然后会出现这样一个弹窗 输入你要用
  • 《Attention Is All You Need》论文精读,并解析Transformer模型结构

    建议 结合 Attention Is All You Need 论文观看此文章 目录 一 引言 二 结论 三 模型结构解析 1 多头注意力模型结构 2 Msked Multi Head Attention 3 相对位置编码 4 为什么对点积
  • 理解低压差稳压器(LDO)

    低压差稳压器 LDO 看似简单 但可提供重要功能 例如将负载与不干净的电源隔离开来或者构建低噪声电源来为敏感电路供电 本简短教程介绍了一些常用的LDO 相关术语 以及一些基本概念 如压差 裕量电压 静态电流 接地电流 关断电流 效率 直流输
  • 【PTA】直直直径 暴搜+剪枝

    Keven现在有一棵树 现在Keven想知道在这颗树上任取两点 他们的距离的最大值是多少 Keven不会做这个题目 于是请教聪明的你 如果你帮助他解决这个问题 他将会让你的排名上升 树中两点之间的距离定义为连接两点的路径边权之和 并且每条路
  • 结合实战,浅析GB/T28181(十)——媒体流保活

    1 问题现象 在实际项目对接过程中 我们有时会碰到这样的问题 视频正在播放着 突然停止了 然后ping一下 也能ping通 下级平台或上级平台看起来也在线 看起来不是网络的问题 这到底咋回事呢 一时摸不着头脑 懵逼了 不要急 我们一起来看看
  • 在 Python 中设置和获取默认时区

    使用时区是许多 Python 应用程序的重要组成部分 无论您是构建调度系统 日志记录工具还是任何其他涉及日期和时间的应用程序 设置默认时区都是一项关键功能 在本文中 我们将讨论如何在 Python 中获取或设置默认时区 使用日期时间模块 d
  • 如何在 Ubuntu 上删除/禁用交换文件

    在 Ubuntu 中 与其他 Linux 发行版一样 交换文件是系统内存管理的重要组成部分 它充当虚拟内存层 允许系统在物理内存已满时将硬盘空间用作 RAM 的形式 尽管它很有用 但在某些情况下您可能想要禁用或删除它 例如 如果您的系统有足
  • 如何在 Fedora 31/30 上安装 MySQL 5.7

    MySQL 是一个关系数据库管理系统 本教程将帮助您在 Fedora Linux 系统上安装 MySQL 5 7 您还可以按照这些说明进行操作安装MySQL 8 or php我的管理员在您的 Fedora 系统上 第 1 步 先决条件 登录
  • 在 Linux 中归档文件和目录的 3 个最流行的工具

    Linux 系统中有多种工具可用于创建归档文件 在本文中 您将发现使用多种工具通过命令行创建或提取存档文件 Tool 1 Zip zip 是 Linux 系统中最流行的命令行归档实用程序 创建文件存档 zip output zip var
  • 使用 .htaccess 限制网站访问:综合指南

    网站安全是网站管理员和开发人员的首要任务 保护您的网站免遭未经授权的访问的最有效方法之一是使用 htaccess 文件 这些特定于 Apache Web 服务器的配置文件允许您定义网站的访问规则 在本综合指南中 我们将探索使用 htacce
  • 如何在 CentOS/RHEL 7/6 和 Fedora 上安装 RabbitMQ

    RabbitMQ是最流行的开源消息代理 RabbitMQ 是一个轻量级应用程序 适用于大多数流行的操作系统 RabbitMQ 支持多种消息协议 RabbitMQ可以轻松地部署在分布式和联邦配置中 以满足高规模 高可用性的需求 本教程将帮助您
  • 检查阿姆斯特朗数的 C 程序

    阿姆斯特朗数是一个 n 位数字 等于其各位数字的 n 次方之和 例如 153 是阿姆斯特朗数 因为它有 3 位 1 3 5 3 3 3 等于 153 在本文中 我们将编写一个 C 程序来检查给定的数字是否是阿姆斯特朗数 我们会将问题分解为可
  • 如何使用 sgdisk 将 GPT 分区表复制到另一个磁盘

    什么是GPT分区 GPT GUID 分区表 是物理硬盘上分区表布局的标准 使用全局唯一标识符 GUID GPT 是 EFI 标准的一部分 定义分区表的布局 GPT 对于在大于 2TB 的磁盘上创建文件系统非常有用 对于较小尺寸的磁盘 通常我
  • 如何在 Windows 10 上安装 Node.js

    Node js 是一个开源的 JavaScript 运行时环境 它允许在 Web 浏览器之外运行 JavaScript 本教程将帮助您在 Windows 系统上安装 Node js 在 Windows 上安装节点 以下是在 Windows
  • 检查阿姆斯特朗数的 Java 程序

    在编程世界中 通常会实现许多不同的任务和算法来测试程序员对某些概念的理解 其中一项任务是检查阿姆斯特朗数字 在我们深入实际的编程部分之前 了解阿姆斯特朗数是什么很重要 什么是阿姆斯特朗数 An 阿姆斯特朗数是一个数字 它等于它自己的数字的总
  • 如何在 Linux 中使用 Chage 命令

    Linux 系统管理员经常需要管理用户帐户及其密码 chage 命令是一个强大的工具 有助于管理 Linux 中的用户密码过期和老化信息 在本文中 我们将指导您在 Linux 中使用 chage 命令 其各种选项以及如何有效使用它们的示例
  • 如何在 CentOS 8 上安装 Roundcube Webmail

    Roundcube 是一种用 PHP 编程语言编写的流行 Webmail 界面 您可以通过 Roundcube Web 界面上的 POP IMAP 访问在 Linux 服务器上创建的邮箱 本教程将帮助您在 CentOS 8 上安装 Roun
  • 如何在 Ubuntu 18.04 Bionic 上重置 Gnome 桌面

    本教程帮助您在 Ubuntu 18 04 LTS Linux 系统上将 Gnome 桌面设置重置为其原始状态 登录到您的 Ubuntu 18 04 Bionic Desktop 系统并按照下面给出的说明进行操作 之后重新启动系统以完成这些步
  • Linux 用户管理:系统管理员的实用方法

    用户管理是 Linux 系统管理的一个重要方面 因为它允许管理员创建 修改和删除用户帐户 管理权限以及控制对系统资源的访问 本文为系统管理员介绍了一种实用的 Linux 用户管理方法 通过了解用户管理的基础知识 您可以确保更安全且组织良好的