Linux 切換到 Root 用戶的方式及差異詳解

在 Linux 系統中,切換到 root 用戶進行管理和操作是常見需求。不同的切換方法會影響環境變量、工作目錄以及加載的配置文件。本文將介紹幾種常用的切換方式及它們的特點。


切換到 Root 用戶的主要方式

1. sudo su

這是通過 sudo 提權后調用 su 切換到 root 用戶的方式。

  • 特點

    • 保留當前用戶的環境變量。
    • 切換到 root 用戶后,工作目錄不變,仍停留在當前目錄。
    • 不加載 root 用戶的環境配置文件(如 /root/.bashrc/root/.profile)。
  • 適用場景

    • 當需要短暫切換到 root 用戶權限,但希望保留當前用戶的環境變量時。

2. sudo - su

這是在 sudo su 基礎上增加短橫線 - 的方式,用于完全模擬登錄到 root 用戶。

  • 特點

    • 清除當前用戶的環境變量,加載 root 用戶的完整環境變量。
    • 切換到 root 用戶的主目錄 /root
    • 加載 root 用戶的登錄 shell 配置文件(如 /root/.bashrc/root/.profile)。
  • 適用場景

    • 需要完全模擬 root 用戶登錄環境時,例如測試 root 環境的配置或執行需加載登錄環境的操作。

3. sudo -i

sudo -i 是直接通過 sudo 提供的登錄 shell 切換方式。

  • 特點

    • 效果與 sudo su - 基本相同。
    • 清除當前用戶的環境變量,加載 root 用戶的登錄環境。
    • 切換到 root 用戶的主目錄 /root
    • 加載 root 用戶的登錄 shell 配置文件。
  • 適用場景

    • sudo su - 相同,但語法更短、更直接。

4. sudo -s

sudo -s 提供的是一種非登錄 shell 的切換方式。

  • 特點

    • 保留當前用戶的環境變量。
    • 切換到 root 用戶權限,但不切換目錄,仍保留當前目錄。
    • 不加載目標用戶(root)的登錄 shell 配置文件。
  • 適用場景

    • 希望切換到 root 權限,但不改變環境變量和工作目錄的快速操作。

差異總結與建議

命令環境變量工作目錄登錄環境加載適用場景
sudo su保留當前用戶環境變量當前目錄不加載暫時切換到 root,保留當前環境。
sudo - su加載 root 環境變量/root加載完全模擬 root 登錄環境。
sudo -i加載 root 環境變量/root加載sudo su - 相同,語法更簡潔。
sudo -s保留當前用戶環境變量當前目錄不加載切換到 root 權限,快速保留當前環境。
su -c "cmd"根據 - 參數加載環境變量當前目錄或 /root根據參數決定單次命令切換到 root,無需進入持續會話。

使用建議:

  • 保留當前環境時:使用 sudo susudo -s,避免影響現有環境變量。
  • 完全模擬 root 環境時:使用 sudo su -sudo -i
  • 單次命令執行:使用 su -c "cmd",切換到 root 僅執行指定命令后返回。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66925.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66925.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66925.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

虹科分享 | 汽車NVH小課堂之聽音辨故障

隨著車主開始關注汽車抖動異響問題,如何根據故障現象快速診斷異響來源,成了汽修人的必修課。 一個比較常用的方法就是靠“聽”——“聽音辨故障”。那今天,虹科Pico也整理了幾個不同類型的異響聲音,一起來聽聽看你能答對幾個吧 汽…

淺談Redis

2007 年,一位程序員和朋友一起創建了一個網站。為了解決這個網站的負載問題,他自己定制了一個數據庫。于2009 年開發,稱之為Redis。這位意大利程序員是薩爾瓦托勒桑菲利波(Salvatore Sanfilippo),他被稱為Redis之父,更…

element tbas增加下拉框

使用Tabs 標簽頁的label插槽,嵌入Dropdown 下拉菜單,實現Tabs 標簽頁增加下拉切換功能 Tabs 標簽頁 tab-click"事件"(這個事件當中到擁有下拉框的tab里時,可以存一下Dropdown 第一個菜單的id,實現點擊到擁有…

SQL-leetcode—1179. 重新格式化部門表

1179. 重新格式化部門表 表 Department: ---------------------- | Column Name | Type | ---------------------- | id | int | | revenue | int | | month | varchar | ---------------------- 在 SQL 中,(id, month) 是表的聯合主鍵。 這個表格有關…

【Address Overfitting】解決過擬合的三種方法

目錄 1. 收集更多數據實踐方法:適用場景:優缺點: 2. 特征選擇方法介紹:實踐示例:適用場景:優缺點: 3. 正則化(Regularization)正則化類型:實踐示例&#xff1…

面向通感一體化的非均勻感知信號設計

文章目錄 1 非均勻信號設計的背景分析1.1 基于OFDM波形的感知信號1.2 非均勻信號設計的必要性和可行性1.2 非均勻信號設計的必要性和可行性 3 通感一體化系統中的非均勻信號設計方法3.1 非均勻信號的設計流程(1)均勻感知信號設計(2&#xff0…

【深度學習】搭建PyTorch神經網絡進行氣溫預測

第一步 數據加載與觀察 ①導包 import numpy as np import pandas as pd import matplotlib.pyplot as plt import torch import torch.optim as optim import warnings warnings.filterwarnings("ignore") %matplotlib inline ②加載數據 features pd.read_csv(…

ESP8266 NodeMCU與WS2812燈帶:實現多種花樣變換

在現代電子創意項目中,LED燈帶的應用已經變得極為廣泛。通過結合ESP8266 NodeMCU的強大處理能力和FastLED庫的高效功能,我們可以輕松實現多達100種燈帶變換效果。本文將詳細介紹如何使用Arduino IDE編程,實現從基礎到高級的燈光效果&#xff…

pycharm踩坑(1)

由于我重裝系統,導致我的pycharm需要進行重裝,因此我覺得需要記錄一下,pycharm的正確使用方法 漢化 漢化很重要,除非你從小就雙語教學,不然你看著那些英文就是會消耗大量的精力 我使用的pycharm版本是pycharm-commun…

#HarmonyOS篇:build-profile.json5里面配置productsoh-package.json5里面dependencies依賴引入

oh-package.json5 用于描述包名、版本、入口文件和依賴項等信息。 {"license": "","devDependencies": {},"author": "","name": "entry","description": "Please describe the basic…

OpenCV2D 特征框架 (11)特征檢測與描述用于檢測二值圖像中連通區域(即“斑點”或“blob”)的類cv::SimpleBlobDetector的使用

操作系統:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 編程語言:C11 算法描述 cv::SimpleBlobDetector 是 OpenCV 中用于檢測二值圖像中連通區域(即“斑點”或“blob”)的類。這些連通區域可以是白色前…

關于deepin上運行Qt開發的程序

國產化替代是將來各單位的主流趨勢,探索自行開發應用程序在國產操作系統上正常運行是將來的主要工作之一。本文淺嘗gui程序在統信社區版——deepin上遇到的小問題。 使用Qt在deepin上做了一個類似gif的幀動畫彈窗,在編譯運行時,程序可以正常…

Unity自學之旅05

Unity自學之旅05 Unity學習之旅⑤📝 AI基礎與敵人行為🥊 AI導航理論知識(基礎)開始實踐 🎃 敵人游戲機制追蹤玩家攻擊玩家子彈碰撞完善游戲失敗條件 🤗 總結歸納 Unity學習之旅⑤ 📝 AI基礎與敵…

我想通過python語言,學習數據結構和算法該如何入手?

學習數據結構和算法是編程中的重要基礎,Python 是一個非常適合入門的語言。以下是學習數據結構和算法的步驟和建議: 1. 掌握 Python 基礎 確保你對 Python 的基本語法、數據類型、控制結構(如循環、條件語句)、函數等有扎實的理…

淺談Unity中Canvas的三種渲染模式

Overview UGUI通過 Canvas 組件渲染和管理UI元素。Canvas 是 UI 元素的容器,它決定了 UI 元素的渲染方式以及它們在屏幕上的顯示效果。Canvas 有三種主要的渲染模式,每種模式有不同的用途和特點。本文將介紹這三種渲染模式 1. Screen Space - Overlay 模…

Unity中在UI上畫線

在UI中畫一條曲線 我封裝了一個組件,可以實現基本的畫線需求. 效果 按住鼠標左鍵隨手一畫. 用起來也很簡單,將組件掛到空物體上就行了,紅色的背景是Panel. 你可以將該組件理解為一個Image,只不過形狀更靈活一些罷了,所以它要放在下面的層級(不然可能會被擋住). 代碼 可以…

2024.1.22 安全周報

政策/標準/指南最新動態 01 工信部印發《關于加強互聯網數據中心客戶數據安全保護的通知》 原文: https://www.secrss.com/articles/74673 互聯網數據中心作為新一代信息基礎設施,承載著千行百業的海量客戶數據,是關系國民經濟命脈的重要戰略資源。…

探索 LLM:從基礎原理到 RAG 實現的深度解析

一.LLM基礎知識 1.1 大語言模型(Large Language Model,LLM) 他是模型,是 AI 能力的核心。他是語言模型,其核心能力在于語言能力。他是大語言模型,與傳統模型相比,它最大的特點就是“大”。 1…

Mac cursor設置jdk、Maven版本

基本配置 – Cursor 使用文檔 首先是系統用戶級別的設置參數,運行cursor,按下ctrlshiftp,輸入Open User Settings(JSON),在彈出的下拉菜單中選中下面這樣的: 在打開的json編輯器中追加下面的內容: {"…

ARM64平臺Flutter環境搭建

ARM64平臺Flutter環境搭建 Flutter簡介問題背景搭建步驟1. 安裝ARM64 Android Studio2. 安裝Oracle的JDK3. 安裝 Dart和 Flutter 開發插件4. 安裝 Android SDK5. 安裝 Flutter SDK6. 同意 Android 條款7. 運行 Flutter 示例項目8. 修正 aapt2 報錯9. 修正 CMake 報錯10. 修正 N…