当前位置: 首页 > news >正文

用户与组管理:如何在服务器系统中管理用户和权限

你是否想过,当你登录到一个服务器系统时,你是如何被识别和授权的?你是否知道,你可以通过创建和管理用户和组来简化和优化你的系统管理工作?你是否想了解一些常用的用户和组管理命令和技巧?如果你的答案是肯定的,那么这篇博客文章就是为你准备的。在这篇文章中,我将介绍一些用户与组管理的基本概念和实践,以及一些常见的服务器系统类型和特点。我希望这篇文章能够帮助你提高你的用户与组管理技能和效率。

一、服务器系统

服务器系统是指为提供特定服务而设计的计算机系统,例如文件服务器、数据库服务器、邮件服务器等。服务器系统通常需要处理大量的数据和请求,因此需要具有高性能、高可靠性、高安全性和高扩展性的特点。服务器系统也需要支持多用户的并发访问和操作,因此需要有一套完善的用户和权限管理机制。

目前,市场上常见的服务器系统主要有两大类:windows 服务器系统linux 服务器系统。这两类服务器系统各有优劣,具体的选择取决于你的需求和偏好。下面,我将简要介绍一下这两类服务器系统的主要特点和区别。

windows 服务器系统

windows 服务器系统是指基于 windows 操作系统的服务器系统,例如 win2000、win2003、win2008、win2012 等。windows 服务器系统的优点是:

  • 操作界面友好,易于上手和使用
  • 兼容性好,支持多种硬件和软件
  • 功能丰富,提供多种服务和工具
  • 安全性高,提供多层防护和加密

windows 服务器系统的缺点是:

  • 资源占用高,运行速度相对较慢
  • 稳定性较差,容易出现故障和崩溃
  • 开放性低,不易定制和修改
  • 收费高,需要购买正版授权和更新

linux 服务器系统

linux 服务器系统是指基于 linux 操作系统的服务器系统,例如 Redhat、Centos、Ubuntu、Debian 等。linux 服务器系统的优点是:

  • 资源占用低,运行速度相对较快
  • 稳定性高,不易出现故障和崩溃
  • 开放性高,易于定制和修改
  • 收费低,多数版本免费或开源

linux 服务器系统的缺点是:

  • 操作界面不够友好,需要一定的学习和熟练
  • 兼容性较差,不支持部分硬件和软件
  • 功能相对较少,需要自行安装和配置
  • 安全性较低,需要自行防火墙和加密

二、用户管理

用户管理是指在服务器系统中创建和管理用户账户的过程,包括用户的创建、删除、修改、激活、禁用等操作。用户管理的目的是为了保证每个用户都有自己的唯一的身份和权限,以及为了保护系统资源和数据的安全。

用户的标识

在服务器系统中,每个用户都有自己的唯一的标识,用于区分不同的用户和权限。这些标识包括:

  • 用户名:用户的登录名,用于识别用户的身份
  • 密码:用户的登录密码,用于验证用户的合法性
  • UID:用户的数字编号,用于内部管理用户的信息
  • SID:用户的安全标识符,用于控制用户的访问和操作

不同的服务器系统对用户的标识有不同的规则和范围,例如:

  • 在 windows 服务器系统中,系统管理员 administrator 的 UID 是 500,普通用户是 1000 开始的;用户的 SID 是由一串数字和字母组成的字符串,例如 S-1-5-21-1234567890-1234567890-1234567890-1000
  • 在 linux 服务器系统中,系统管理员 root 的 UID 是 0,普通用户是 1000 开始的;用户的 SID 通常与 UID 相同,例如 1000

用户的账号和密码通常存储在服务器系统的特定位置,例如:

  • 在 windows 服务器系统中,用户的账号和密码存储在 C:\windows\system32\config\SAM 文件中
  • 在 linux 服务器系统中,用户的账号和密码存储在 /etc/passwd 和 /etc/shadow 文件中

用户的加密

为了保护用户的密码的安全,服务器系统通常会对用户的密码进行加密,使得即使密码被泄露,也无法被轻易破解。服务器系统使用的加密算法通常是不可逆的,也就是说,加密后的密码无法被还原成原始的密码,只能通过比较加密后的值来验证密码的正确性。这种加密算法也叫做哈希算法(Hash)。

当你登录系统输入密码的一瞬间,系统会将你输入的密码进行哈希运算,然后将运算后的值与存储在系统中的加密后的密码进行比较,如果相同,说明密码正确,否则,说明密码错误。这样,即使有人获取了你的加密后的密码,也无法直接得到你的原始密码,只能通过暴力破解或撞库的方式来尝试猜测你的密码。

暴力破解是指通过穷举所有可能的密码组合来尝试破解密码的方法,这种方法非常耗时和资源,通常需要借助专业的软件和硬件来进行。撞库是指通过利用已知的密码和哈希值的对应关系来尝试破解密码的方法

这种加密算法windows自身都无法解开 叫做不可逆算法 (Hash)哈希算法 

当你登录系统输入密码的一瞬间 将你输入的值打碎进行验证完整性  

如果输入相同 那么加密后的值也一定相同

#暴力破解,撞库
windows 系统上,默认密码最长有效期 42 天(尤其是服务器系统)也可以改

防止别人暴力破解  


内置账户
给人使用的:
administrator 管理员账号
guest 来宾账户
计算机服务组件
system 系统账户,权限至高无上

local services 本地服务账户 普通权限
network services 网络服务账户 普通权限


配置文件  就是家目录 

win7/win2008    c:\用户\

xp/win2003    c:\Documents adn Settings\
windows ”用户“

 

三、用户与组管理的概念

1.1 用户

用户是指在服务器系统中拥有一定权限的实体,可以是人或者程序。每个用户都有一个唯一的标识符,称为 SID(安全标识符)或 UID(用户标识符)。SID 和 UID 是一串数字或字母,用来区分不同的用户。例如,Windows 系统中的管理员账户 administrator 的 UID 是 500,而 Linux 系统中的管理员账户 root 的 UID 是 0。用户的账号和密码是存储在服务器系统的特定位置的,如 Windows 系统中的 C:\windows\system32\config\SAM 文件,或者 Linux 系统中的 /etc/passwd 文件。

1.2 组

组是指一组具有相同或相似权限的用户的集合,可以简化权限的赋予和管理。每个组也有一个唯一的标识符,称为 GID(组标识符)。组可以分为内置组和自定义组。内置组是指服务器系统自带的一些预定义的组,如 Windows 系统中的 administrators(管理员组)、guests(来宾组)、users(普通用户组)等,或者 Linux 系统中的 root(管理员组)、bin(二进制文件组)、daemon(后台程序组)等。内置组的权限已经被系统赋予,不需要用户手动设置。自定义组是指用户根据自己的需求创建的组,可以自由地添加或删除组成员,以及设置组的权限。

1.3 权限

权限是指用户或组对服务器系统资源的访问和操作的能力,如读取、写入、执行、删除等。权限的设置和管理是用户与组管理的核心,也是保证服务器系统安全性和效率的关键。权限的设置和管理可以分为两种方式:一是直接给用户赋予权限,二是通过组来赋予权限。通常来说,后者更为方便和高效,因为可以避免重复和冗余的操作,也可以减少权限的冲突和错误。例如,如果要给 10 个用户赋予同样的权限,可以先创建一个组,然后把这 10 个用户添加到这个组中,再给这个组赋予权限,这样就只需要一次操作,而不是 10 次。

四、用户与组管理的方法

2.1 Windows 服务器系统中的用户与组管理

Windows 服务器系统中,用户与组管理可以通过图形界面或者命令行来进行。图形界面的方法是通过控制面板或者计算机管理等工具来创建、修改、删除、查看用户和组,以及设置权限。命令行的方法是通过 DOS 命令来执行相同的操作。以下是一些常用的 DOS 命令:

  • net user:查看或管理用户账户

  • net user 账户名:查看指定用户账户的信息

  • net user 账户名 字符串:修改指定用户账户的密码

  • net user 账户名 密码 /add:创建新的用户账户

  • net user 账户名 /del:删除用户账户

  • net user 账户名 /active:yes/no:激活或禁用用户账户

  • net localgroup:查看或管理本地组

  • net localgroup 组名:查看指定本地组的信息

  • net localgroup 组名 /add:创建新的本地组

  • net localgroup 组名 用户名 /add:添加用户到本地组

  • net localgroup 组名 用户名 /del:从本地组删除用户

  • net localgroup 组名 /del:删除本地组

2.2 Linux 服务器系统中的用户与组管理

Linux 服务器系统中,用户与组管理通常通过命令行来进行。以下是一些常用的命令:

  • useradd:创建新的用户账户

  • userdel:删除用户账户

  • usermod:修改用户账户的属性

  • passwd:修改用户账户的密码

  • id:查看用户账户的 UID、GID 和所属组

  • who:查看当前登录的用户

  • groupadd:创建新的组

  • groupdel:删除组

  • groupmod:修改组的属性

  • gpasswd:修改组的密码

  • groups:查看用户所属的组

  • chgrp:修改文件或目录的所属组

  • chown:修改文件或目录的所有者

五、用户与组管理的实例

为了更好地理解用户与组管理的概念和方法,我们可以通过一些实例来进行演示和练习。以下是两个实例,分别在 Windows 和 Linux 服务器系统中进行用户与组管理的操作。

3.1 Windows 服务器系统中的用户与组管理实例

假设我们要在 Windows 服务器系统中完成以下任务:

  • 创建一个用户账户,用户名为 Alice,密码为 123456
  • 创建一个用户账户,用户名为 Bob,密码为 654321
  • 创建一个用户账户,用户名为 Charlie,密码为 111111
  • 创建一个组,组名为 Sales,添加 Alice 和 Bob 到这个组中
  • 创建一个组,组名为 IT,添加 Charlie 到这个组中
  • 给 Sales 组赋予对 C:\Sales 目录的读写权限
  • 给 IT 组赋予对 C:\IT 目录的读写执行权限

我们可以通过以下的 DOS 命令来完成这些任务:

  • net user Alice 123456 /add
  • net user Bob 654321 /add
  • net user Charlie 111111 /add
  • net localgroup Sales /add
  • net localgroup Sales Alice /add
  • net localgroup Sales Bob /add
  • net localgroup IT /add
  • net localgroup IT Charlie /add
  • icacls C:\Sales /grant Sales:(OI)(CI)(M)
  • icacls C:\IT /grant IT:(OI)(CI)(F)

3.2 Linux 服务器系统中的用户与组管理实例

假设我们要在 Linux 服务器系统中完成以下任务:

  • 创建一个用户账户,用户名为 Alice,密码为 123456
  • 创建一个用户账户,用户名为 Bob,密码为 654321
  • 创建一个用户账户,用户名为 Charlie,密码为 111111
  • 创建一个组,组名为 Sales,添加 Alice 和 Bob 到这个组中
  • 创建一个组,组名为 IT,添加 Charlie 到这个组中
  • 给 Sales 组赋予对 /Sales 目录的读写权限
  • 给 IT 组赋予对 /IT 目录的读写执行权限

我们可以通过以下的命令来完成这些任务:

  • useradd Alice
  • passwd Alice #输入 123456 两次
  • useradd Bob
  • passwd Bob #输入 654321

以上是在 Linux 服务器系统中进行用户与组管理的命令,你可以在终端中输入这些命令来执行相应的操作。你也可以通过图形界面的工具来完成同样的任务,如 GNOME System Tools 或 KDE User Manager 等。用户与组管理是服务器系统的重要功能,希望你能通过这些实例和练习来掌握它们。如果你有任何问题或建议,欢迎留言或联系我。😊

These are the commands for user and group management in Linux server system, you can enter these commands in the terminal to perform the corresponding operations. You can also use graphical interface tools to complete the same tasks, such as GNOME System Tools or KDE User Manager. User and group management is an important feature of server system, I hope you can master them through these examples and exercises. If you have any questions or suggestions, please feel free to leave a comment or contact me. 😊


 

相关文章:

  • 前端 HTML 和 JavaScript 的基础知识有哪些?
  • Kotlin学习——流程控制,when,循环,range工具 kt里的equals if实现类似三元表达式的效果
  • Linux基本指令(前篇)
  • WGCLOUD 中文繁体版本 下载
  • 【Qt绘制仪表盘】
  • [个人笔记] Windows的IT运维笔记
  • Django QuerySet.order_by SQL注入漏洞(CVE-2021-35042)
  • Unity中颜色空间Gamma与Linear
  • Locust AI 例子
  • EtherCAT主站SOEM -- 8 -- SOEM之 ec_slave 结构体详细分析
  • 一种全新且灵活的 Prompt 对齐优化技术
  • Mysql面经
  • 量化交易:筹码理论的探索-筹码分布计算的实现
  • 2022年12月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • Calling PeopleTools APIs 调用PeopleTools API
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • Bytom交易说明(账户管理模式)
  • iOS 系统授权开发
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • Python连接Oracle
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • 阿里云购买磁盘后挂载
  • 从setTimeout-setInterval看JS线程
  • 对象引论
  • 汉诺塔算法
  • 机器学习 vs. 深度学习
  • 简单实现一个textarea自适应高度
  • 开发基于以太坊智能合约的DApp
  • 使用docker-compose进行多节点部署
  • 我从编程教室毕业
  • MPAndroidChart 教程:Y轴 YAxis
  • ​​​​​​​​​​​​​​Γ函数
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • # Maven错误Error executing Maven
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (差分)胡桃爱原石
  • (初研) Sentence-embedding fine-tune notebook
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (三)docker:Dockerfile构建容器运行jar包
  • (新)网络工程师考点串讲与真题详解
  • (一)Java算法:二分查找
  • (一)u-boot-nand.bin的下载
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (轉)JSON.stringify 语法实例讲解
  • .Net 6.0 处理跨域的方式
  • .NET Core 成都线下面基会拉开序幕
  • .NET Framework杂记
  • .Net Web项目创建比较不错的参考文章
  • .NET 中使用 TaskCompletionSource 作为线程同步互斥或异步操作的事件
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NetCore Flurl.Http 升级到4.0后 https 无法建立SSL连接
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器