37、系统管理全攻略

系统管理全攻略

1. sudo 配置与使用

sudo 是系统管理中常用的工具,它允许普通用户以 root 权限执行命令,避免了直接登录 root 用户带来的安全风险。

  • 编辑 sudoers 文件 :若要对 sudoers 文件进行更改或添加条目,需使用特殊的 sudo 编辑命令 visudo。此命令会调用 vi 编辑器来编辑 /etc/sudoers 文件。与标准编辑器不同,visudo 会锁定 /etc/sudoers 文件,并检查条目的语法。只有语法正确时,才能保存更改。
    操作步骤如下:
    1. 先使用 su 命令以 root 用户身份登录。
    2. 输入 visudo 命令。
su
visudo
  • sudoers 条目语法 :sudoers 条目的语法为 user host=command 。其中,host 指网络中的主机,可使用 ALL 表示所有主机;command 可以是命令列表,部分或全部命令可通过选项限定,如是否需要密码。同样,也可用 ALL 表示所有命令。
    示例:
robert  ALL = ALL

此示例赋予用户 robert 在所有主机上对所有命令的完全 root 级访问权限。
- 以其他用户身份运行命令 :还可让用户在给定主机上以其他用户身份运行命令。这些替代用户需放在命令前的括号内。
示例:

robert mypic = (fineart) ALL

该示例允许 robert 以 fineart 用户身份访问 mypic 主机。
- 默认设置 :默认情况下,sudo 会拒绝所有用户(包括 root)的访问。因此,默认的 /etc/sudoers 文件为 root 用户设置了对所有命令的完全访问权限。

root   ALL=(ALL)   ALL
  • 指定用户组 :若要指定用户组,需在组名前加 % 符号,如 %mygroup 。这样可赋予一组用户相同的访问权限。
    示例:
robert ALL=/usr/bin/system-config-users

此示例赋予 robert 在所有主机上访问 system-config-users 工具的权限。
- 查看可运行命令 :用户若想查看自己可运行的命令,可使用带有 -l 选项的 sudo 命令。

sudo -l
  • 使用 sudo 执行命令 :用户配置完成后,可使用 sudo 运行管理命令。只需在命令前加上 sudo 命令,系统会为用户颁发一个有时效性的访问令牌。
    示例:
sudo date

sudo 命令在需要以 root 用户权限执行普通任务时非常有用,它能让用户在不登录 root 用户的情况下,对系统进行广泛的 root 用户级操作。例如,使用 gedit 图形文本编辑器编辑系统配置文件:

sudo gedit /etc/fstab

还可将文件管理器作为 sudo 操作运行,使其从任何普通账户获得完全管理权限:

sudo files

su 相比,sudo 的优势在于它允许用户以 root 用户身份使用某些桌面应用程序,而 su 仅支持命令行操作。

2. PolicyKit - polkit - 1 控制访问

PolicyKit 由 Freedesktop.org 项目设计,它允许普通用户和应用程序访问受管理控制的应用程序和设备。目前,它支持多个关键管理操作,包括网络管理器、Udisks、PackageKit、防火墙、Samba 和系统监视器等。

  • PolicyKit 的优势 :与其他操作(如组权限)相比,PolicyKit 旨在为用户提供一个简单且集中的接口,以授予对受管理控制的设备和工具的访问权限。它能实现更精细的访问控制,避免了用户为访问特定管理工具而必须获得整个系统的完全 root 级控制的情况。可通过访问 http://hal.freedesktop.org/docs/polkit/ 了解更多信息。
  • 配置文件位置 :PolicyKit 的配置和支持已预先设置好,新版本的 PolicyKit(polkit - 1)用于 PolicyKit 操作。这些操作的配置文件位于 /usr/share/polkit - 1 目录下。目前,尚无用于配置这些设置的桌面工具,桌面工具 polkit - gnome 仅在应用程序或设备需要时提供 GNOME 认证对话框。
  • 更改 PolicyKit 选项 :若要更改某些操作(如挂载内部硬盘)的授权设置,可手动编辑 /usr/share/polkit - 1/actions 目录下的配置文件,但此操作存在风险。进行更改前,需了解要更改的操作和要设置的权限。 polkit 的手册页会列出可能的授权。默认授权包括:
    • allow_any :任何人都可访问。
    • allow_inactive :控制台可访问。
    • allow_active :仅活动控制台(用户已登录)可访问。
      这些授权可设置为以下特定值:
      | 授权值 | 说明 |
      | ---- | ---- |
      | auth_admin | 仅管理用户可访问,始终需要授权。 |
      | auth_admin_keep | 仅管理用户可访问,授权在短时间内保持有效。 |
      | auth_self | 需要用户授权。 |
      | auth_self_keep | 需要用户授权,授权在短时间内保持有效。 |
      | yes | 始终允许访问。 |
      | no | 始终拒绝访问。 |
      操作步骤如下:
      1. 确定要修改的 PolicyKit 操作和要编辑的文件。操作会在使用应用程序时弹出的 PolicyKit 对话框中列出(展开“Details”箭头),文件是操作的前几个部分加上 policy 后缀。
      示例:挂载内部硬盘的操作是 org.freedesktop.udisks2.filesystem - mount - system - internal ,其对应的文件是 org.freedesktop.udisks2.policy ,完整路径为 /usr/share/polkit - 1/actions/org.freedesktop.udisks2.policy
      2. 默认情况下,PolicyKit 配置为用户在挂载内部硬盘分区前需使用 root 密码进行授权。若要允许用户无需授权请求即可挂载分区,需修改 /usr/share/polkit - 1 目录下的 org.freedesktop.udisks2.policy 文件,将 filesystem - mount - system 操作的 allow_active 默认值从 auth_admin_keep 改为 yes
      操作步骤如下:
      1. 以 root 用户身份登录。
      2. 使用 nano sudo gedit 编辑文件。
su
nano /usr/share/polkit - 1/actions/org.freedesktop.udisks2.policy

sudo gedit /usr/share/polkit - 1/actions/org.freedesktop.udisks2.policy
  1. 找到标签为 <action id ="org.feedesktop.udisks2.filesystem - mount - system"> 的操作 ID,通常为第二个操作 ID。在该操作部分的末尾,会找到 <allow_active>auth_admin</allow_active> 条目,将 auth_admin_keep 替换为 yes
<allow_active>yes</allow_active>
  1. 保存文件,用户以后挂载内部分区时将无需输入密码。
3. system - config - authentication 工具

为确认用户身份的有效性,网络可能会提供多种认证服务。可使用 system - config - authentication 工具(“Other | Authentication”)在系统上启用这些服务。该工具包含三个选项卡:
- Identity & Authentication 选项卡 :使用“User Account Database”下拉菜单指定服务,如 NIS 和 LDAP,这些服务可维护网络中系统和用户的配置信息。若网络维护 LDAP、NIS 和 Windbind 认证服务器,可在此处启用对它们的支持,并指定其服务器和域。根据所选数据库的不同,“Identity and Authentication”对话框中的条目会相应变化。LDAP 和 FreeIPA 数据库会显示一个文本框,可用于输入 LDAP 服务器的地址。从“User Account Database”菜单中选择服务后,“Identity and Authentication”选项卡会展开,列出认证配置选项。可从“Authentication Method”下拉菜单中选择 Kerberos 或密码认证方法。默认使用 Kerberos,会显示用于指定 Kerberos KDC 和管理服务器地址的条目。
- Advanced Options 选项卡 :可在此设置认证选项,如密码哈希算法。可从弹出菜单中选择密码加密编解码器,默认使用 SHA512。其他选项可实现更精细的访问控制,如在用户首次登录时才创建用户主目录,或检查 /etc/security/access.conf 文件以确定允许或拒绝哪些用户访问。还可启用指纹识别器支持。
- Password Options 选项卡 :用于设置所需的密码特征,如长度、数字、大写字母、相同字符和字符类。

System Security Services 守护进程(SSSD)为依赖远程认证(如 LDAP 服务器)的用户提供离线访问功能。SSSD 会缓存认证方法,使用户能够离线登录。在 SSSD 出现之前,用户必须维护一个对应的本地账户,以便在离线时进行访问。SSSD 默认已安装,可使用 sssd 守护进程启动它。其配置集成在 system - config - authentication 工具中,配置文件位于 /etc/sssd 目录下。

4. 桌面登录到 root 用户

默认情况下,GNOME 显示管理器(GDM,即登录窗口)会禁止访问 root 用户。这是一项安全措施,建议保持此设置。若确实需要从登录窗口访问 root 用户桌面,可按以下步骤配置系统:
1. 以 root 用户身份编辑 /etc/pam.d/gdm 文件,这是 GDM 的 PAM 配置文件。
2. 在第二行的 auth required pam_succeed_if.so user != root quiet 前加上 # 符号进行注释。若以后要禁用 root 用户访问,只需移除注释符号。

# auth required pam_succeed_if.so user != root quiet
5. 设置日期和时间

可通过以下几种方式设置系统的日期和时间:
- 使用 System Settings Date & Time :在系统设置中找到“Date & Time”选项进行设置。
- 使用 shell date 命令 :在 root 用户命令行上使用 date 命令设置系统日期和时间。作为 date 命令的参数,需列出(无分隔符)月、日、时间和年。
示例:将日期设置为 2010 年 4 月 4 日下午 2:59。

date 0404145913
  • 使用 system - config - date 工具 :该工具会显示两个选项卡:一个用于设置日期和时间,另一个用于设置时区。
    操作步骤如下:
    1. 在“Applications | Other”过滤器中找到 system - config - date 工具并打开。
    2. 使用日历选择年、月、日,然后使用“Time”框设置小时、分钟和秒。
    3. 在“Time Zone”选项卡中,会显示一个带有位置的地图,选择离自己最近的位置设置时区。
      若勾选“ Synchronize Date and Time Over the Network”,将启用网络时间协议(NTP)服务。此时,“Date and Time”选项卡会从日历变为网络时间协议(NTP)服务器列表。使用 NTP 可让远程服务器设置日期和时间,而非使用本地设置,能实现系统时钟的最精确同步。NTP 常用于管理网络系统的时间和日期,减轻了管理员手动同步时钟的负担。可从 http://www.ntp.org 网站下载当前文档和 NTP 软件。在“Network Time Protocol”选项卡中,可选择要使用的服务器。NTP 服务器通过池运行,会随机选择可用服务器以提高效率。已为用户安装了一组供 Fedora 使用的池,以 0.fedora.pool.ntp.org 开头。若访问某个池较慢,可更换为其他池。池服务器支持全球访问,特定地理位置的池可在 NTP 公共服务项目网站(“Time Servers”链接) http://ntp.isc.org 上找到。选择更近的服务器可能会更快。“Advanced Options”允许加快初始同步,并可使用本地时间源(如计算机的无线电控制时间设备)。

以下是设置日期和时间的操作流程 mermaid 图:

graph LR
    A[设置日期和时间] --> B{选择设置方式}
    B --> C[System Settings Date & Time]
    B --> D[shell date 命令]
    B --> E[system - config - date 工具]
    D --> F[输入日期参数]
    E --> G[选择日期和时间]
    E --> H[选择时区]
    E --> I{是否同步网络时间}
    I --> J[启用 NTP 服务]
    I --> K[不启用 NTP 服务]
6. 用户账户管理
  • 使用 User Accounts 工具(GNOME 3 System Settings) :可通过系统设置中的“User Accounts”工具配置和创建用户账户。该工具不提供对用户组的控制,且用户配置功能有限。若需要进行组控制和更多配置选项,可使用 GNOME Users and Groups 应用程序( system - config - users 软件包)。“User Accounts”对话框显示两个窗格:左侧可滚动窗格列出用户,显示其图标和登录名;右侧窗格显示所选用户的信息。左侧窗格下方有“+”和“-”按钮,分别用于添加和删除用户。使用该工具时,PolicyKit 会控制对用户管理任务的访问。首次点击任务按钮(如“+”或“-”)时,会弹出“Authenticate”对话框,提示输入用户密码。若尝试更改用户密码、账户类型、图标或名称,也会提示进行身份验证。添加新账户时,会弹出一个对话框,可设置账户类型(标准或管理员)、用户全名和用户名。可输入用户名,也可从推荐列表中选择。点击“Add”创建用户。新账户会显示在右侧窗格中,显示名称、图标、账户类型、语言、密码和自动登录选项。账户在指定密码前处于非活动状态。点击密码条目会弹出一个对话框,可输入新密码。“New Password”文本框右侧有一个密码生成按钮,点击可生成密码。点击“Show Password”复选框可查看密码。选择密码后,账户即启用。还可通过点击相应条目更改账户类型、语言、密码和图标,操作时会提示进行授权。若要更改用户图标,点击图标图像会弹出一个对话框,显示可用的图像。还可使用网络摄像头拍照(“take a photo”条目),或从“Pictures”文件夹中选择图片(“browse for more pictures”)。目前,该工具不支持组配置。
  • 使用 Users and Groups Manager(system - config - users) :可通过“User and Groups”(“Other | Users and Groups”)访问 system - config - users 工具来添加和管理用户。该工具的窗口显示用于列出用户和组的选项卡。按钮栏列出了可执行的各种任务,包括创建新用户或组、编辑现有用户或组(“Edit”),或删除所选用户或组。首次打开“Users and Groups”时,会提示进行身份验证,之后即可根据需要进行更改。
    • 创建新用户 :点击“Add User”会打开一个窗口,可输入用户名、密码和登录 shell,还可选择是否为该用户创建主目录和新组。
    • 编辑用户属性 :创建用户后,可编辑其属性并添加或更改功能。选择用户条目并点击“Properties”,会显示一个带有“User Data”、“Account Info”、“Password Info”和“Groups”选项卡的窗口。

以下是用户账户管理的操作流程 mermaid 图:

graph LR
    A[用户账户管理] --> B{选择管理工具}
    B --> C[User Accounts 工具]
    B --> D[Users and Groups Manager]
    C --> E[添加/删除用户]
    C --> F[更改用户信息]
    D --> G[创建新用户]
    D --> H[编辑用户属性]
    E --> I[输入用户信息]
    F --> J[输入新信息并授权]
    G --> K[输入用户名等信息]
    H --> L[选择属性选项卡进行编辑]

通过以上介绍,我们详细了解了系统管理中的多个重要方面,包括 sudo 的配置与使用、PolicyKit 的访问控制、认证工具的设置、日期和时间的调整以及用户账户的管理。这些知识和操作步骤能帮助我们更好地管理和维护系统,确保系统的安全和稳定运行。

系统管理全攻略(续)

7. 系统管理操作总结与对比

为了更清晰地了解各个系统管理工具和操作的特点,我们对前面介绍的内容进行总结和对比,如下表所示:
| 工具/操作 | 主要功能 | 操作方式 | 适用场景 |
| ---- | ---- | ---- | ---- |
| sudo | 让普通用户以 root 权限执行命令 | 在命令前加 sudo ,配置 /etc/sudoers 文件 | 需要临时获取 root 权限执行任务,避免直接登录 root 用户 |
| PolicyKit - polkit - 1 | 控制普通用户和应用程序对受管理控制的应用程序和设备的访问 | 编辑 /usr/share/polkit - 1/actions 目录下的配置文件 | 实现对特定管理工具的精细访问控制 |
| system - config - authentication | 启用网络中的认证服务 | 通过“Identity & Authentication”“Advanced Options”“Password Options”三个选项卡配置 | 确认用户身份有效性,支持多种认证服务 |
| system - config - date | 设置系统日期和时间 | 有日期时间和时区两个选项卡,可选择是否同步网络时间 | 安装系统后时间设置错误或更换时区时使用 |
| User Accounts 工具 | 配置和创建用户账户 | 在系统设置中操作,有添加、删除和更改用户信息功能 | 简单的用户账户管理,对组管理需求不高 |
| Users and Groups Manager | 添加和管理用户及组 | 通过“User and Groups”访问,有创建、编辑和删除用户及组功能 | 需要进行组控制和更多用户配置选项的场景 |

8. 系统管理的注意事项

在进行系统管理操作时,有一些重要的注意事项需要牢记:
- 权限管理
- 使用 sudo 时,要谨慎配置 /etc/sudoers 文件,避免赋予用户过高的权限,防止安全漏洞。
- 在修改 PolicyKit 配置文件时,要清楚操作的后果,错误的配置可能导致系统安全问题或功能异常。
- 认证服务
- 使用 system - config - authentication 工具配置认证服务时,要确保输入的服务器地址和域信息准确无误,否则可能导致认证失败。
- 对于 SSSD 服务,要定期检查缓存的认证信息,避免因缓存过期或损坏导致离线登录问题。
- 日期和时间设置
- 使用 NTP 服务同步时间时,要选择稳定可靠的 NTP 服务器,避免因服务器问题导致时间不准确。
- 在手动设置日期和时间时,要注意格式和顺序,避免输入错误。
- 用户账户管理
- 在创建和管理用户账户时,要设置强密码,提高账户安全性。
- 对于不同类型的用户,要合理分配权限,避免用户拥有不必要的权限。

9. 系统管理的常见问题及解决方法

在系统管理过程中,可能会遇到一些常见问题,以下是一些问题及对应的解决方法:
| 问题描述 | 可能原因 | 解决方法 |
| ---- | ---- | ---- |
| sudo 命令执行失败 | /etc/sudoers 文件配置错误、用户权限不足 | 使用 visudo 命令检查和修改 /etc/sudoers 文件,确保用户有执行相应命令的权限 |
| PolicyKit 配置更改后无效 | 配置文件编辑错误、权限不足 | 检查配置文件语法是否正确,确保以 root 权限编辑和保存文件 |
| 认证服务无法正常工作 | 服务器地址或域信息错误、服务未启动 | 检查 system - config - authentication 工具中输入的信息,确保服务已正确启动 |
| 日期和时间同步失败 | NTP 服务器不可用、网络问题 | 更换 NTP 服务器,检查网络连接是否正常 |
| 用户账户创建或修改失败 | 权限不足、输入信息错误 | 确保以管理员权限操作,检查输入的用户名、密码等信息是否正确 |

10. 系统管理的未来趋势

随着信息技术的不断发展,系统管理也在不断演进,未来可能会呈现以下趋势:
- 自动化管理 :更多的系统管理任务将实现自动化,减少人工干预,提高管理效率。例如,通过脚本自动配置用户账户、定期备份系统数据等。
- 智能化控制 :引入人工智能和机器学习技术,实现对系统资源的智能分配和优化,提高系统性能和安全性。例如,根据系统负载自动调整资源分配,实时检测和防范安全威胁。
- 云化管理 :越来越多的系统管理任务将迁移到云端,实现跨地域、跨平台的统一管理。例如,通过云平台集中管理多个服务器的用户账户和认证服务。
- 融合化管理 :不同的系统管理工具和服务将更加融合,提供一站式的管理解决方案。例如,将用户账户管理、认证服务和权限控制集成到一个平台中,方便管理员操作。

11. 总结

系统管理是确保系统安全、稳定运行的重要工作。通过本文介绍的 sudo、PolicyKit、 system - config - authentication 等工具和操作,我们可以对系统的权限管理、访问控制、认证服务、日期时间设置和用户账户管理等方面进行有效的管理。同时,我们也了解了系统管理的注意事项、常见问题及解决方法,以及未来的发展趋势。在实际应用中,我们要根据具体需求选择合适的工具和方法,不断学习和掌握新的技术,以适应不断变化的系统管理需求。

希望本文能为大家在系统管理方面提供有价值的参考,帮助大家更好地完成系统管理任务。

以下是系统管理整体流程的 mermaid 图:

graph LR
    A[系统管理] --> B{选择管理方向}
    B --> C[权限管理]
    B --> D[认证服务管理]
    B --> E[日期时间管理]
    B --> F[用户账户管理]
    C --> C1[sudo 配置]
    C --> C2[PolicyKit 配置]
    D --> D1[system - config - authentication 配置]
    E --> E1[system - config - date 设置]
    F --> F1[User Accounts 工具操作]
    F --> F2[Users and Groups Manager 操作]

通过这个流程图,我们可以更直观地看到系统管理各个方面之间的关系和操作流程。在实际操作中,我们可以根据具体需求,按照相应的步骤进行系统管理,确保系统的正常运行和安全。

基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究(Matlab代码实现)内容概要:本文围绕“基于可靠性评估序贯蒙特卡洛模拟法的配电网可靠性评估研究”,介绍了利用Matlab代码实现配电网可靠性的仿真分析方法。重点采用序贯蒙特卡洛模拟法对配电网进行长时间段的状态抽样与统计,通过模拟系统元件的故障与修复过程,评估配电网的关键可靠性指标,如系统停电频率、停电持续时间、负荷点可靠性等。该方法能够有效处理复杂网络结构与设备时序特性,提升评估精度,适用于含分布式电源、电动汽车等新型负荷接入的现代配电网。文中提供了完整的Matlab实现代码与案例分析,便于复现和扩展应用。; 适合人群:具备电力系统基础知识和Matlab编程能力的高校研究生、科研人员及电力行业技术人员,尤其适合从事配电网规划、运行与可靠性分析相关工作的人员; 使用场景及目标:①掌握序贯蒙特卡洛模拟法在电力系统可靠性评估中的基本原理与实现流程;②学习如何通过Matlab构建配电网仿真模型并进行状态转移模拟;③应用于含新能源接入的复杂配电网可靠性定量评估与优化设计; 阅读建议:建议结合文中提供的Matlab代码逐段调试运行,理解状态抽样、故障判断、修复逻辑及指标统计的具体实现方式,同时可扩展至不同网络结构或加入更多不确定性因素进行深化研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值