操作系统的介绍

什么是操作系统

操作系统(Operating System, OS)是计算机系统中最核心的软件,扮演着硬件管理者和用户服务提供者的双重角色。它为用户和应用程序提供统一的接口,同时管理计算机的硬件资源,如处理器、内存、存储设备和外设。以下是关键内容的清晰梳理:

硬件资源管理

  • CPU调度:决定哪些程序优先使用处理器,实现多任务处理。
  • 内存分配:为运行中的程序分配和回收内存,避免内存占用冲突。
  • 输入/输出控制:管理键盘、鼠标、打印机等设备的数据传输。
  • 文件系统:组织硬盘中的数据(如Windows的NTFS、Linux的EXT4)。

用户接口:

  • 图形界面(GUI):如Windows的桌面、macOS的Finder,用户通过点击操作。
  • 命令行界面(CLI):如Linux的Bash或Windows的PowerShell,通过输入指令控制。

抽象层作用:

  • 通过系统调用(System Calls)向应用程序提供硬件服务,开发者无需直接操作硬件细节。
  • 例如,程序只需调用“保存文件”,无需关心数据在硬盘上的物理存储位置。

安全和权限管理:

  • 阻止未授权访问,如用户权限分级(管理员/普通用户)。
  • 防止程序崩溃导致整个系统瘫痪(进程隔离机制)。

操作系统分类

类型 代表系统 适用场景
桌面操作系统 Windows, macOS 个人电脑、办公
移动操作系统 Android, iOS 智能手机、平板
服务器操作系统 Linux, Windows Server 数据中心、云服务
嵌入式操作系统 FreeRTOS, VxWorks 物联网设备、智能家电、工业控制

主流操作系统主要包括以下几类:

Windows
简介:Windows是微软公司研发的操作系统,自1985年推出以来,已成为全球应用广泛的操作系统。
Windows采用了图形用户界面,提升了系统的易用性,并具有良好的硬件适应性,支持多种硬件平台。
Linux
简介:Linux是一种自由和开放源代码的类Unix操作系统,由林纳斯·托瓦兹于1991年首次发布。Linux操作系统是
UNIX操作系统的一种克隆系统,它诞生于UNIX计算机实验室中。
macOS
简介:macOS是由苹果公司开发的专有操作系统,运行在Macintosh系列电脑上。macOS是基于XNU混合内核的图
形化操作系统,属于类Unix的商业操作系统。

初识Windows

Windows用户与组

一、用户账户类型

1.本地用户账户
  • 适用范围:仅当前设备有效
  • 创建入口:
    • 图形界面:控制面板 → 用户账户 → 管理其他账户
    • 命令工具:lusrmgr.msc(本地用户和组管理器)
  • 核心操作:
    1
    2
    3
    4
    # 创建用户(管理员权限运行)
    net user John Passw0rd! /add
    # 将用户加入管理员组
    net localgroup Administrators John /add
2. Microsoft账户(网络账户)
  • 特征:与Microsoft服务(如OneDrive、应用商店)同步
  • 绑定/解绑:设置 → 账户 → 你的信息
3. 域用户账户(仅域环境中存在)
  • 管理工具:Active Directory用户和计算机 (dsa.msc)
  • 域组策略:可强制密码复杂度、登录时间限制等

二、内置用户组及其权限

组名称 权限范围 常用成员举例
Administrators 完全控制系统(危险!) 默认管理员账户
Users 普通操作(运行程序、个人文件) 所有新建的普通用户
Guests 临时访问权限(默认禁用) Guest账户(禁用状态)
Remote Desktop Users 允许远程桌面连接 需手动添加指定用户
Power Users 部分管理员权限(较少使用) 旧版兼容保留组

三、用户管理实战技巧

1. 创建和配置用户
  • 图形界面:
    • Win + R → 输入control userpasswords2 → 通过向导操作
    • 勾选用户密码永不过期(适用于服务账户)
  • PowerShell高级操作:
    1
    2
    3
    # 创建用户并设置密码不过期(需管理员权限)
    New-LocalUser -Name "ServiceAccount" -Password (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force)
    Set-LocalUser -Name "ServiceAccount" -PasswordNeverExpires $true
2. 用户安全措施
  • 账户锁定策略:
    • 设置路径:本地安全策略(secpol.msc) → 账户策略 → 账户锁定策略
    • 建议:三次错误密码后锁定,30分钟自动解锁
  • UAC(用户账户控制)设置:
    • 调整级别:控制面板 → 用户账户 → 更改用户账户控制设置

四、组管理核心操作

1. 创建自定义组
1
2
3
4
# 创建组
New-LocalGroup -Name "FinanceDept"
# 添加用户到组(支持批量添加)
Add-LocalGroupMember -Group "FinanceDept" -Member "User1", "User2"

Windows文件权限

Windows文件权限基于访问控制列表(ACL)管理,用于控制用户或组对文件/文件夹的访问级别。以下是结构化解析与操作步骤:

一、权限的核心概念

1. 权限类型
  • 权限类型
    权限项 作用
    完全控制 所有操作(修改、删除、更改权限、获取所有权)
    修改 读写、删除文件,但不可更改权限
    读取和执行 运行程序、浏览文件夹内容
    读取 查看文件内容
    写入 创建或修改文件,但不包含删除权限
2. 权限继承
  • 默认行为:子文件夹和文件继承父文件夹权限。
  • 禁用继承:点击资源管理器中的 “禁用继承” 按钮,可选择:
    • 转换为显式权限:保留当前规则但断开继承链路。
    • 删除所有继承的权限:清空后手动添加新规则。

二、通过资源管理器设置文件权限

步骤示例:共享文件夹并限制访问

  1. 右键文件夹 → 属性 → 安全 → 高级:

    • 更改所有者(需管理员权限):
      1
      2
      takeown /f "C:\Data" /r /d y  # 获取所有权
      icacls "C:\Data" /grant Administrators:(F) /t # 授予管理员完全控制
  2. 添加用户/组:

    • 点击 编辑 → 添加,输入组名(如Finance)→ 选择权限(如“读取”)。
  3. 禁止继承(可选):

    • 高级 → 禁用继承 → 选择 “从此对象中删除所有已继承的权限”。

三、命令行管理工具:icacls

  • 常用命令模板
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 授予用户读取权限(/grant 用户:权限)
    icacls "D:\Reports" /grant Alice:(R)

    # 递归授予组修改权限(/t 遍历子目录)
    icacls "D:\Projects" /grant Developers:(M) /t

    # 移除某个用户的权限(/remove)
    icacls "C:\Secure" /remove Bob

    # 重置权限并继承父目录规则(/reset)
    icacls "E:\Backup" /reset /t
    • 查看当前权限
      1
      icacls "C:\Confidential"  # 显示ACL详情

Windows 命令行工具

一、命令提示符(CMD)基础

1. 文件与目录操作
  • 列出文件: dir
    (常用参数:/s递归显示子目录,/a显示隐藏文件)

    1
    dir C:\ /s /a       # 递归列出C盘所有文件(含隐藏文件)
  • 切换目录: cd

    1
    2
    cd D:\Data         # 切换至D盘Data目录
    cd .. # 返回上级目录
  • 创建/删除目录: mkdirrmdir

    1
    2
    mkdir Backup       # 创建Backup文件夹
    rmdir Backup /s /q # 强制删除Backup及其内容(/q静默模式)
  • 复制/移动文件: copymove

    1
    2
    copy report.txt D:\Archive\      # 复制文件到目标目录
    move *.log D:\Logs/ # 移动所有日志文件
2. 系统管理命令
  • 用户管理: net user

    命令 功能描述
    net user 列出所有本地账户
    net user 用户名 查看指定用户的详细信息
    net user 用户名 密码 /add 创建用户并设置初始密码
    net user 用户名 新密码 修改用户密码
    net user 用户名 /delete 删除用户
    net user 用户名 /active:yes 或 /active:no 启用/禁用账户(禁用后用户无法登录)
  • 示例:

    1
    2
    3
    net user John P@ssw0rd /add             # 创建用户 John,密码 P@ssw0rd
    net user John /active:no # 禁用账户
    net user John /delete # 删除用户

2. net localgroup:本地用户组管理

  • 本地用户组管理

    命令 功能描述
    net localgroup 列出所有本地组
    net localgroup 组名 用户名 /add 将用户添加到指定组
    net localgroup 组名 用户名 /delete 从组中移除用户
    net localgroup Administrators John /add 添加用户到管理员组(提权)
  • 示例:

    1
    2
    net localgroup Users John /add          # 将 John 加入 Users 组
    net localgroup Administrators John /add # 赋予管理员权限

3. 其他实用命令

  • query user
    查看当前登录的远程用户(适用于服务器环境):
    1
    query user
  • logoff
    登出指定用户(需会话 ID)
    1
    logoff 1    # 断开会话 ID 为 1 的用户
  • 服务控制: sc
    1
    2
    sc queryex type= service        # 列出所有服务
    sc stop "Windows Update" # 停止Windows Update服务
  • 进程管理:tasklisttaskkill
    1
    2
    tasklist /svc                   # 显示带服务的进程列表
    taskkill /IM notepad.exe /F # 强制结束记事本进程

二、PowerShell:现代化命令行工具

1. 基础操作
  • 别名支持: 多数CMD命令可直接使用(如 dir=Get-ChildItem
  • 面向对象输出: 支持筛选、格式化与管道操作
    1
    Get-Process | Where-Object { $_.CPU -gt 100 } | Format-Table Name, CPU -AutoSize
  • 文件操作
    1
    2
    New-Item -Path "C:\Logs" -ItemType Directory  # 创建目录
    Remove-Item -Path "*.tmp" -Recurse -Force # 强制删除临时文件
2. 高级功能
  • 远程管理:
    1
    2
    Enter-PSSession -ComputerName Server01        # 远程连接
    Get-Service -ComputerName Server01 | Restart-Service # 远程重启服务
  • 脚本执行:
    1
    2
    Set-ExecutionPolicy RemoteSigned  # 允许本地脚本运行
    ./deploy.ps1 # 执行脚本
  • 模块管理:
    1
    2
    Install-Module -Name PSWindowsUpdate    # 安装模块
    Get-WindowsUpdate -Install -AutoReboot # 自动更新系统
  • 基础用户管理
    命令 功能描述
    New-LocalUser -Name “John” -Password (ConvertTo-SecureString “P@ssw0rd” -AsPlainText -Force) 创建用户并设置密码
    Remove-LocalUser -Name “John” 删除用户
    Set-LocalUser -Name “John” -Password (ConvertTo-SecureString “新密码” -AsPlainText -Force) 修改用户密码
    Enable-LocalUser -Name “John” 或 Disable-LocalUser -Name “John” 启用/禁用用户
  • 组管理
    命令 功能描述
    Add-LocalGroupMember -Group “Administrators” -Member “John” 将用户加入管理员组
    Remove-LocalGroupMember -Group “Administrators” -Member “John” 从组中移除用户
  • 查询用户信息
    命令 功能描述
    Get-LocalUser 列出所有本地用户
    Get-LocalUser -Name “John” 查看指定用户详细信息
    Get-LocalGroupMember -Group “Administrators” 查看管理员组成员
  • 示例:
    1
    2
    3
    4
    5
    6
    7
    8
    # 创建用户并立即启用
    New-LocalUser -Name "John" -Password (ConvertTo-SecureString "P@ssw0rd" -AsPlainText -Force) -AccountNeverExpires -UserMayNotChangePassword

    # 添加用户到管理员组
    Add-LocalGroupMember -Group "Administrators" -Member "John"

    # 禁用账户
    Disable-LocalUser -Name "John"
  • 常用命令
    命令 功能描述
    systeminfo 查看系统信息
    whoami 查看当前用户
    ipconfig 显示网络信息
    ping 查看网络连接是否正常
    dir 列出当前目录下所有文件
    cd 进入指定目录
    shutdown -s -t 10 -s:关机 -t 10 :10秒后关机 安排计算机在10秒后关机

三、windows进程

1. tasklist:查看进程列表
  • 语法:
    1
    tasklist [/s 计算机名] [/u 用户名] [/p 密码] [/m "模块名"] [/svc] [/fi "筛选条件"]  
  • 常用参数:
    • /svc:显示进程关联的服务
    • /fi “STATUS eq RUNNING”:筛选运行中的进程
    • /m:显示进程加载的 DLL 模块
  • 示例:
    1
    2
    3
    tasklist                     # 显示所有进程  
    tasklist /fi "IMAGENAME eq chrome.exe" # 查找 Chrome 进程
    tasklist /svc | findstr "svchost" # 显示 svchost 进程关联的服务

2. taskkill:终止进程

  • 语法:
    1
    taskkill [/s 计算机名] [/u 用户名] [/p 密码] [/im 进程名] [/pid 进程ID] [/f] [/t]  
  • 常用参数:
    • /im:按进程名终止(支持通配符 *)
    • /pid:按进程 ID 终止
    • /f:强制终止(不等待确认)
    • /t:终止进程及其子进程(树形终止)
  • 示例:
    1
    2
    taskkill /im notepad.exe     # 结束所有记事本进程  
    taskkill /pid 1234 /f /t # 强制终止 PID 为 1234 的进程及其子进程

3. 总结

-
|场景 |推荐命令/工具|
|:—|:—|
|快速查看进程 |tasklist / Get-Process|
|强制终止进程 |taskkill /f / Stop-Process -Force|
|高级资源分析 |资源监视器 (resmon) / Process Explorer|
|批量进程操作 |PowerShell 管道与筛选|
|安全排查 |WMIC 命令行检查 / VirusTotal 扫描|

四、windwos系统服务

1. sc:服务控制工具
  • 核心功能:管理服务属性、启动类型、依赖关系。
    命令 功能描述
    sc query 列出所有服务的基本信息(状态、PID、显示名称)
    sc queryex type= service state= all 显示详细服务信息(包括进程ID和标志位)
    sc query 服务名 查看指定服务的详细信息
    sc start 服务名 启动服务
    sc stop 服务名 停止服务(需要管理员权限)
    sc config 服务名 start= demand 设置服务启动类型(选项:auto/demand/disabled)
    sc delete 服务名 删除服务(需先停止服务)
  • 示例:
    1
    2
    3
    sc query state= inactive              # 查看所有已停止的服务  
    sc config Spooler start= disabled # 禁用打印后台服务
    sc stop Spooler && sc delete Spooler # 停止并删除打印服务(谨慎操作!)
2. net 命令的快捷操作
  • 命令 功能描述
    net start 列出所有正在运行的服务
    net start 服务名 启动服务(需服务名称)
    net stop 服务名 停止服务
3. 总结
  • 场景 推荐命令/工具
    快速启动/停止服务 net start/net stop (GUI:services.msc)
    复杂服务配置 sc config / PowerShell Set-Service
    服务依赖分析 PowerShell `Get-Service
    批量导出服务列表 PowerShell Export-Csv
    服务故障诊断 事件查看器(eventvwr) + sc query

五、Windows 防火墙管理

1. 防火墙基础控制
  • 命令 功能描述
    netsh advfirewall show allprofiles 查看所有配置文件的防火墙状态(域/专用/公用)
    netsh advfirewall set allprofiles state on 启用所有配置文件防火墙
    netsh advfirewall set allprofiles state off 禁用所有配置文件防火墙(慎用!)
    netsh advfirewall set domainprofile state on 单独启用域网络防火墙
2. 规则管理(入站/出站)
  • 语法:
    1
    2
    3
    netsh advfirewall firewall add rule     # 添加规则  
    netsh advfirewall firewall delete rule # 删除规则
    netsh advfirewall firewall show rule # 查看规则
  • 示例:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # 允许 TCP 8080 端口的入站流量(名称需唯一)  
    netsh advfirewall firewall add rule name="Open HTTP Port" dir=in action=allow protocol=TCP localport=8080

    # 允许某程序的所有出站连接
    netsh advfirewall firewall add rule name="Allow App" dir=out action=allow program="C:\App\test.exe"

    # 禁止特定 IP 段的入站访问
    netsh advfirewall firewall add rule name="Block IP" dir=in action=block remoteip=192.168.1.0/24

    # 删除规则
    netsh advfirewall firewall delete rule name="Open HTTP Port"
3. 防火墙规则类型与场景
  • 规则类型 典型用途
    程序规则 允许/禁止特定程序访问网络(如游戏或云盘同步)
    端口规则 开放 Web 服务(80/443)、数据库(3306)端口
    IP 地址规则 限制内部服务器仅允许特定 IP 访问
    预定义规则 使用系统内置规则(如“文件和打印机共享”)
4. 总结
  • 场景 推荐命令/操作
    快速开放端口 netsh advfirewall 或 PowerShell New-NetFirewallRule
    查看被阻止的连接 resmon 网络标签页或分析 pfirewall.log
    批量备份/恢复规则 netsh advfirewall export/import
    程序联网控制 GUI 控制面板防火墙(wf.msc)

六、远程桌面管理

1. 启用远程桌面
(1). 通过图形界面(GUI)
  • 打开设置:
    • Win + R → 输入 sysdm.cpl → 选择“远程”标签页
    • 勾选 “允许远程连接到此计算机”(建议选择“仅允许使用网络级别身份验证的远程桌面连接”以提高安全性)。
(2). 通过命令行/脚本
  • 使用 PowerShell 启用 RDP:
    1
    2
    Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 0  
    Enable-NetFirewallRule -DisplayGroup "Remote Desktop" # 启用防火墙规则
  • 禁用远程桌面:
    1
    2
    Set-ItemProperty -Path "HKLM:\System\CurrentControlSet\Control\Terminal Server" -Name "fDenyTSConnections" -Value 1  
    Disable-NetFirewallRule -DisplayGroup "Remote Desktop"
2. 修改 RDP 默认端口(3389)
(1). 更改注册表
  • 修改端口号:

    • Win + Rregedit → 导航到:
    • HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
    • PortNumber 的十进制值修改为新端口(如 3390)。
  • 重启服务:

    1
    net stop termservice && net start termservice  
(2). 配置防火墙开放新端口
  • 使用 PowerShell:
    1
    New-NetFirewallRule -DisplayName "RDP-CustomPort" -Direction Inbound -Protocol TCP -LocalPort 3390 -Action Allow  
  • 验证端口监听:
    1
    netstat -ano | findstr ":3390"  
3. 防火墙与网络安全配置
(1). 确保防火墙允许 RDP
  • 检查防火墙规则:
    1
    Get-NetFirewallRule -DisplayGroup "Remote Desktop" | Select-Object Name, Enabled  
  • 手动放行端口(默认 3389):
    1
    netsh advfirewall firewall add rule name="RDP" dir=in protocol=TCP localport=3389 action=allow  
(2). 增强安全性
  • 强制网络级别身份验证 (NLA):
    • 注册表路径:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp
    • 设置 UserAuthentication 值为 1(需重启服务)。
  • 限制访问 IP 范围(例如仅允许内网 IP):
    1
    netsh advfirewall firewall add rule name="RDP-Restricted" dir=in action=allow protocol=TCP localport=3389 remoteip=192.168.1.0/24  
  • 启用 VPN 或 SSH 隧道:不在公网直接暴露 RDP 端口,通过加密隧道访问。
总结
  • 场景 推荐操作/工具
    启用/禁用 RDP sysdm.cpl 或 PowerShell Set-ItemProperty
    更改端口 注册表 HKEY_LOCAL_MACHINE...\RDP-Tcp
    防火墙放行端口 netsh advfirewall 或 PowerShell New-NetFirewallRule
    连接失败排查 telnet、netstat 及事件查看器
    强制使用 NLA 注册表 UserAuthentication 值设为 1
    多用户支持 安装远程桌面服务(需服务器版)