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

从‘su -’到‘sudo !!’:openEuler日常运维中提升效率的5个用户切换技巧

从‘su -’到‘sudo !!’openEuler日常运维中提升效率的5个用户切换技巧在openEuler系统的日常运维中频繁的用户权限切换是每个工程师都无法回避的操作。无论是调试服务、修改配置还是部署应用我们总在root与普通用户之间来回切换。传统的su和sudo命令虽然基础但其中隐藏着大量能显著提升工作效率的技巧组合。本文将深入挖掘这些命令的高阶用法帮助你在不增加学习成本的前提下让日常操作更加流畅高效。1. 理解环境变量差异su与su -的本质区别许多工程师在使用su命令时常常忽略了一个关键细节环境变量的继承问题。su username与su - username虽然都能切换用户但背后的机制却大不相同。su username仅切换用户身份保留当前shell环境变量su - username完全模拟目标用户的登录环境包括HOME、PATH等关键变量这种差异在实际工作中可能引发各种诡异问题。例如当你用普通用户执行su root后尝试启动某个服务可能会遇到command not found错误而使用su - root却能正常执行。这是因为前者保留了普通用户的PATH设置无法找到/sbin下的管理命令。# 错误示范 [devuserserver ~]$ su root 密码 [rootserver devuser]# systemctl restart nginx bash: systemctl: command not found # 正确做法 [devuserserver ~]$ su - root 密码 [rootserver ~]# systemctl restart nginx提示在编写自动化脚本时务必使用su -确保环境一致性避免因变量继承导致意外行为。2. sudo !!快速重试上一条特权命令的黄金组合在日常调试过程中我们经常遇到这种情况以普通用户身份执行命令后系统提示权限不足。传统做法是按↑键调出上条命令在命令前手动添加sudo重新输入密码执行实际上sudo !!这个神奇组合可以一键完成上述所有操作。!!是bash的特殊变量代表上一条完整命令。当系统提示权限不足时只需输入[devuserserver ~]$ apt update Reading package lists... Done E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied) [devuserserver ~]$ sudo !! sudo apt update [sudo] password for devuser: Hit:1 https://repo.openeuler.org/openEuler-22.03-LTS/update/aarch64 Packages这个技巧特别适合以下场景调试时反复修改并测试同一条需要特权的命令快速纠正因忘记加sudo而导致的权限错误在复杂的管道命令中避免重新输入长参数3. 精准权限委托sudo -u的灵活应用传统sudo用法往往将所有特权命令都授权给root这既不安全也不符合最小权限原则。sudo -u允许我们精确控制命令的执行身份实现更细粒度的权限管理。假设你的系统有三个用户webadmin负责nginx服务管理dbadmin负责MySQL运维appuser运行应用程序通过合理配置sudoers文件可以实现各司其职# /etc/sudoers 配置示例 webadmin ALL(nginx) /usr/bin/systemctl restart nginx dbadmin ALL(mysql) /usr/bin/mysql* appuser ALL(app) /usr/bin/java这样webadmin用户无需知道root密码就能以nginx身份管理服务[webadminserver ~]$ sudo -u nginx systemctl restart nginx这种模式的优势在于责任分离每个管理员只负责自己的领域审计追踪日志中清晰记录谁执行了什么操作风险控制即使某个账户泄露影响范围也有限4. 免密sudo自动化脚本的安全实现在自动化部署和监控脚本中经常需要以特权身份执行命令但交互式输入密码会中断流程。通过合理配置sudoers可以实现特定命令的免密执行。安全配置免密sudo的推荐做法使用visudo编辑配置文件避免语法错误导致锁死限制免密范围到必要的最小命令集结合NOPASSWD标签实现免密# 安全示例允许devuser无需密码执行特定备份命令 devuser ALL(root) NOPASSWD: /usr/bin/rsync --server * devuser ALL(root) NOPASSWD: /bin/tar czf /backups/*注意绝对不要使用devuser ALL(ALL) NOPASSWD: ALL这种危险配置这相当于给攻击者敞开大门。对于需要定期执行的维护任务可以创建专用脚本并配置sudo权限#!/bin/bash # /usr/local/bin/clean-tmp.sh find /tmp -type f -mtime 7 -delete然后在sudoers中添加devuser ALL(root) NOPASSWD: /usr/local/bin/clean-tmp.sh5. 组合技实战高效用户切换的工作流设计将上述技巧组合使用可以构建出极其高效的工作流程。以下是一个典型的多用户环境操作示例以个人账户登录保持基本工作环境需要管理系统服务时使用sudo -u精准切换调试阶段频繁使用sudo !!快速重试编写脚本时使用su -确保环境一致性自动化任务配置免密sudo# 实战示例部署web应用的工作流 [myuserserver ~]$ git pull origin main [myuserserver ~]$ sudo -u nginx cp -r dist/* /var/www/html/ [myuserserver ~]$ sudo -u nginx systemctl restart nginx Failed to restart nginx.service: Access denied [myuserserver ~]$ sudo !! [sudo] password for myuser: [myuserserver ~]$ su - deploy 密码 [deployserver ~]$ ./automated_test.sh掌握这些技巧后你会发现原本繁琐的用户切换操作变得行云流水。关键在于根据具体场景选择合适的工具组合而不是机械地使用单一命令。

相关文章:

从‘su -’到‘sudo !!’:openEuler日常运维中提升效率的5个用户切换技巧

从‘su -’到‘sudo !!’:openEuler日常运维中提升效率的5个用户切换技巧 在openEuler系统的日常运维中,频繁的用户权限切换是每个工程师都无法回避的操作。无论是调试服务、修改配置还是部署应用,我们总在root与普通用户之间来回切换。传统的…...

企业级AI决策平台架构:Xpert AI的Agent-Workflow混合模式实践

1. 项目概述:企业级AI决策平台的架构与实践最近在梳理团队内部的数据决策流程,发现一个挺普遍的问题:业务部门想用大模型快速分析数据、生成报告,但IT和风控部门又担心模型“胡说八道”或者数据安全不可控。纯靠人工写死的工作流&…...

扫雷-简单版-详细版-C语言版

文章目录扫雷的框架搭建扫雷游戏的内部实现扫雷数组的创建扫雷的初始化函数扫雷的打印函数扫雷的设置雷函数扫雷的排雷函数扫雷的define的内容扫雷的测试方法扫雷的最终实现和全部文件展示总结这里是think的博客 希望可以一起交流知识,一起think 今天我们继续来学习…...

KCN-GenshinServer:5分钟图形化GUI搭建原神私服的终极指南

KCN-GenshinServer:5分钟图形化GUI搭建原神私服的终极指南 【免费下载链接】KCN-GenshinServer 基于GC制作的原神一键GUI多功能服务端。 项目地址: https://gitcode.com/gh_mirrors/kc/KCN-GenshinServer 你是否曾经想过拥有属于自己的原神私服,却…...

软考-数据库系统工程师-编译六道工序与表达式转换通关(下篇)

一、引言编译程序是将高级语言源代码转换为计算机可执行目标代码的核心工具,其工作原理是软考数据系统工程师考试中程序语言基础知识模块的高频考点,同时也是理解数据库 SQL 优化器、查询执行计划生成、存储过程编译等核心技术的底层基础。编译技术的发展…...

哈希表:空间换时间的存储艺术

哈希表与散列技术?散列技术是在记录的存储位置和它的关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key),在查找时,根据这个确定的对应关系找到给定key的映射f(key),如…...

英伟达算力芯片遭多方挑战,Cerebras冲刺IPO能否打破垄断格局?

英伟达算力芯片遭多方挑战全世界都眼馋英伟达的生意。根据英伟达公布的2026财年第四季度(截至2026年1月底)财报,其GAAP毛利率高达75.2%,像印钞机一样,而这般印钞能力主要源于它在AI芯片市场的统治级地位所带来的强大定…...

【第2篇】Cherry Studio 接入全模型指南:5分钟让你的电脑接上最强AI大脑

系列导航:第1篇讲了 API Key 是什么,如果你还没看,先去翻一遍。这一篇全程实操,带你把 Cherry Studio 跑起来。 一、Cherry Studio 是什么? 简单说:Cherry Studio 就是那个帮你统一管理多个 AI 大脑的前台软件。 它长这样:左侧是模型列表,中间是聊天窗口,右侧是设置…...

BilibiliUploader:基于Python的B站投稿自动化技术实现

BilibiliUploader:基于Python的B站投稿自动化技术实现 【免费下载链接】BilibiliUploader 模拟Bilibili windows投稿客户端 项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliUploader BilibiliUploader是一个通过模拟B站PC端投稿客户端行为实现视频自动…...

openEuler 20.03 普通用户su失败?别慌,这两个配置项检查一下就能解决

openEuler权限管理深度解析:当普通用户遭遇su失败时的系统级解决方案 刚接触openEuler系统的运维人员或开发者,在尝试使用普通用户切换到root账户时,往往会遇到"su: 拒绝权限"的提示。这并非系统故障,而是openEuler基于…...

NotebookLM-MCP:基于MCP协议扩展AI笔记工具的外部能力

1. 项目概述:当NotebookLM遇见MCP,AI笔记的“外挂大脑”革命如果你和我一样,深度依赖NotebookLM这类AI笔记工具来整理信息、激发灵感,那你一定也遇到过它的“能力边界”问题。NotebookLM本身很强大,能基于你上传的文档…...

Bebas Neue:为什么这款免费开源字体成为设计师的终极标题解决方案

Bebas Neue:为什么这款免费开源字体成为设计师的终极标题解决方案 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue 在当今数字设计领域,寻找一款既专业又完全免费的标题字体往往是设计师面…...

终极指南:如何在5分钟内为游戏添加免费CRT复古效果

终极指南:如何在5分钟内为游戏添加免费CRT复古效果 【免费下载链接】crt-royale-reshade A port of crt-royale from libretro to ReShade 项目地址: https://gitcode.com/gh_mirrors/cr/crt-royale-reshade 想在现代游戏中体验经典CRT显示器的怀旧魅力吗&am…...

UnityFigmaBridge终极方案:三步实现设计与开发高效协作的完整指南

UnityFigmaBridge终极方案:三步实现设计与开发高效协作的完整指南 【免费下载链接】UnityFigmaBridge Easily bring your Figma Documents, Components, Assets and Prototypes to Unity 项目地址: https://gitcode.com/gh_mirrors/un/UnityFigmaBridge 在游…...

从Java EE到Jakarta EE:Spring Boot 3.x + Java 17升级时,你的依赖真的跟对“老大”了吗?

从Java EE到Jakarta EE:Spring Boot 3.x Java 17升级时依赖管理的深度解析 当技术栈升级的浪潮席卷而来,许多团队在拥抱Spring Boot 3.x和Java 17的同时,却意外陷入了依赖关系的迷宫。Jakarta EE的引入不仅改变了包名,更重塑了整…...

突破百度网盘下载限制:Python解析工具深度解析与实战指南

突破百度网盘下载限制:Python解析工具深度解析与实战指南 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 在当今数字资源共享的时代,百度网盘作为国内主…...

还在用JDK 8?手把手带你把若依3.8.3项目迁移到JDK 17 + SpringBoot 3.1.2(含Maven POM完整配置清单)

从JDK 8到JDK 17:若依3.8.3项目现代化迁移实战指南 当Java生态已全面拥抱模块化与云原生时代,仍停留在JDK 8的技术栈就像用蒸汽机车参加F1比赛。本文将带你完成若依3.8.3项目从JDK 8 SpringBoot 2.5到JDK 17 SpringBoot 3.1的技术跃迁,这份…...

DeepSeek V4 的社区实测如何?从倒数第一到碾压全场的逆袭

DeepSeek V4 的社区实测如何?从倒数第一到碾压全场的逆袭 最近在 Reddit 上看到一个非常有意思的实验:一个 「7 个 AI 代理用 $100 构建创业公司」 的比赛。这不仅是一场有趣的竞赛,更是一次对大模型真实编程能力的极限压力测试。 而 DeepS…...

Python数据科学全家桶:从零部署pandas、numpy、matplotlib与statsmodels

1. 为什么需要Python数据科学全家桶? 刚接触Python数据科学的新手常会遇到这样的困惑:明明跟着教程安装了pandas,运行时却提示numpy缺失;好不容易装好matplotlib,又发现statsmodels无法导入。这些库之间存在复杂的依赖…...

Meshroom终极指南:免费开源3D重建软件从零到精通

Meshroom终极指南:免费开源3D重建软件从零到精通 【免费下载链接】Meshroom Node-based Visual Programming Toolbox 项目地址: https://gitcode.com/gh_mirrors/me/Meshroom Meshroom是一款革命性的开源3D重建软件,它能够将普通的2D照片自动转换…...

3分钟搞定GitHub界面汉化:终极中文插件使用指南

3分钟搞定GitHub界面汉化:终极中文插件使用指南 【免费下载链接】github-chinese GitHub 汉化插件,GitHub 中文化界面。 (GitHub Translation To Chinese) 项目地址: https://gitcode.com/gh_mirrors/gi/github-chinese 还在为GitHub的英文界面而…...

计算机毕业设计Python+PyTorch恶意流量检测系统 信息安全 网络安全(源码+LW+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 技术范围:Sprin…...

鸿蒙动画系统的常见陷阱与性能优化

踩坑记录21:动画系统的常见陷阱与性能优化 阅读时长:10分钟 | 难度等级:中高级 | 适用版本:HarmonyOS NEXT (API 12) 关键词:animateTo、animation、显式动画、性能优化 声明:本文基于真实项目开发经历编写…...

ClearerVoice-Studio:革命性AI语音处理工具包的智能语音清晰化解决方案

ClearerVoice-Studio:革命性AI语音处理工具包的智能语音清晰化解决方案 【免费下载链接】ClearerVoice-Studio An AI-Powered Speech Processing Toolkit and Open Source SOTA Pretrained Models, Supporting Speech Enhancement, Separation, and Target Speaker …...

DATABASE练习题操作及解析

将数据表建好写好如下:题目:1.查询" 01 "课程比" 02 "课程成绩高的学生的信息及课程分数因为需要全部的学生信息,则需要在sc表中得到符合条件的SId后与student表进行join,可以左连接也可以用右连接。1.1查询同…...

如何高效使用BilibiliDown:5个实用场景解决你的B站视频下载难题

如何高效使用BilibiliDown:5个实用场景解决你的B站视频下载难题 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_…...

Windows 11下,手把手搞定SpinalHDL开发环境:从VSCode插件到Verilator波形仿真

Windows 11下SpinalHDL开发环境全攻略:从零搭建到波形仿真实战 作为一名长期使用Verilog/VHDL的传统硬件工程师,当我第一次接触SpinalHDL时,那种"代码即电路"的抽象能力让我震撼。但在Windows平台上搭建开发环境的过程&#xff0c…...

解码AMD处理器底层控制:从硬件黑盒到透明调优的演化之路

解码AMD处理器底层控制:从硬件黑盒到透明调优的演化之路 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://…...

构建一个完善的数据库运维体系

构建一个完善的数据库运维体系一、 标准化与规范体系(运维的基石)资源与配置标准化命名与元数据规范发布与变更规范二、 高可用与容灾体系(稳定的底线)架构分级:核心交易库非核心库只读业务故障自动恢复跨区域容灾三、…...

掌握高效数据分析:揭秘新一代浏览器Parquet查看器实用指南

掌握高效数据分析:揭秘新一代浏览器Parquet查看器实用指南 【免费下载链接】parquet-viewer View parquet files online 项目地址: https://gitcode.com/gh_mirrors/pa/parquet-viewer 在当今数据驱动的时代,Parquet格式已成为大数据处理的标准存…...