Linux中su和sudo的用法整理

4418040-7f6e5e3287f410d9


一、為什么會有su和sudo命令?

主要是因為在實際工作當中需要在Linux不同用戶之間進行切換。root用戶權限最高很多時候需要root用戶才能執行一些關鍵命令。所以需要臨時切換為root用戶。工作完成后,考慮到系統的安全性避免誤操作需要切換為普通用戶。su和sudo就是為了解決該問題內置的Linux命令。

二、su的用法

su命令其實就是切換用戶的意思。

示例:

su? #默認切換到root用戶,執行后然后輸入root密碼就可以切換root用戶,最后執行exit命令可以切換到原先的用戶。

su-? #切換為root用戶并且可以把當前目錄切換為root的用戶家目錄/root。

說明:在root用戶下可以切換為系統擁有的任意用戶并且不需要輸入其用戶密碼。

su命令的缺點:執行該命令是需要知道root用戶的密碼的。因為root用戶擁有系統的最高權限,很容易誤操作造成系統掛掉。一般情況下root密碼盡可能要進行保密。

三、sudo用法

sudo可以跳過root用戶登錄而去執行一些特定命令。比如:sudo passwd user1。當然前提是當前登錄用戶擁有執行該命令的權限。可以通過配置/etc/sudoers 文件來實現。

可以通過vi/vim命令修改文件。最好的做法是通過visudo來修改。這個命令可以編輯保存的同時檢查語法的正確性。這樣可以避免由于誤操作造成文件無法使用sudo命令。

文件內容(部分):

root? ? ALL=(ALL)? ? ? ?ALL

user1? ?ALL=(ALL)? ? ? ?ALL??

#新增上一行的內容,并修改用戶名為user1? 這條命令的含義user1用戶可以執行任何的sudo命令。執行的同時需要輸入user1用戶的密碼。

user1? ? ALL=(ALL)? ? ?NOPASSWD:ALL?

#和上一句命令功能相同,不同之處是不需要用戶密碼。這樣其實和root權限一樣了。不建議這樣做。

user1? ? ALL=(ALL)? ? ? NOPASSWD:/sbin/shutdown,/usr/bin/reboot

# 對于常用的命令可以指定要執行的命令不需要輸入密碼。這條命令是user1用戶可以執行重啟服務的功能。不需要輸入密碼。

本質上理解sudo不是真的切換了用戶。而是通過當前登錄用戶的身份和權限去執行Linux命令。

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

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

相關文章

codeforces 650B - Image Preview

題意:給你n個照片,從第一個照片開始看,如果一張照片是w,那么要花費b時間去反轉他,否則不用反轉,看一張從來沒看過的照片要1時間, 從一張滑動到另一張要a時間。如果一張照片看過,則不…

asp js單步調試_如何使用Chrome的控制臺高效的調試Javascript代碼?

引言在我們的日常開發中我們常常會遇到JavaScript的調試問題,而我們解決問題的傳統解決方案就是使用大量的console.log或者console對象的其他方法,這會給我們帶來很多不便,特別是遇到復雜問題的時候,可能會出現大量的console.log&…

安卓App的啟動過程、安卓布局分類及布局和頁面的關系

Android App 啟動流程: 當你想要啟動一個app時,首先得點擊該app桌面圖標。那點擊圖標時到底發生了什么呢?先看個理論知識 .Launcher: launcher其實就是一個app,從功能上說,是對手機上其他app的一個管理和啟動,從代碼…

Linux文件默認權限和umask筆記

關于Linux文件默認權限的問題,可以實際先嘗試一下如下命令:root用戶登錄[rootlocalhost test]# touch file1[rootlocalhost test]# ls-l file1-rw-r--r-- 1 root root 0 May 5 08:28 file1 #輸出結果 對應的數字權限 644[rootlocalhost test]# touch fi…

Android相對布局(RelativeLayout)常用屬性、練習使用按鍵、文本框等控件、線性布局(LinearLayout)屬性

RelativeLayout中子控件常用屬性: 子控件默認是從父控件的左上角開始排列的 相對于父控件 android:layout_alignParentTop"true" 和父控件的頂部對齊android:layout_alignParentBottom"true" 和父控件的底部對齊android:layout_alignPar…

Seata AT模式

基本思路 先決條件 支持本地ACID事務的關系數據庫。通過JDBC訪問數據庫的Java應用程序。 整體機制 從兩個階段提交協議的演變: 階段1:在同一本地事務中提交業務數據和回滾日志,然后釋放本地鎖和連接資源。階段2: 對于提交情況…

自媒體各大平臺收益對比_哪些自媒體平臺沒有新手期,適合小白擼收益?

2-26把我設置為星標,不錯過每一次的干貨~各大自媒體平臺的新手期總是讓小白們望而卻步,特別是百家號審核非常嚴格,如果沒思路、沒人指導,過新手有難度。不過,還是有很多平臺對新手寶寶很友好,沒…

Linux關于文件的權限筆記

1、調整文件的權限命令:chmodLinux的每個文件都定義了文件的擁有者:u(user)、擁有組:g(group)、其他人:o(others)權限,對應的權限用rwx的組合來定義。使用chmod命令&…

presentViewController和pushViewController

iPhone開發中從一個視圖跳到另一個視圖有三種方法:1、self.view addSubView:view 、self.window addSubView,需要注意的是,這個方法只是把頁面加在當前頁面。此時在用self.navigationControler.pushViewController和 pushViewController 是不行的。要想使…

啟動rrt什么意思_python學習第144課--創建虛擬機、設置虛擬機參數以及啟動虛擬機...

【每天幾分鐘,從零入門python編程的世界!】上節我們介紹了下載虛擬機以及centOS的相關事項,現在我們創建虛擬機。●創建虛擬機安裝好virtualbox之后,我們點擊Oracle VM VirtualBox打開管理器,界面如下圖:你…

Android按鍵響應的幾種方式、安卓頁面的跳轉、頁面跳轉傳參、頁面自動跳轉、Activity(頁面)的生命周期

按鍵響應的第一種方式: 在XML文件里面設置按鍵的onClick綁定函數。就像下面的代碼,給Button設置onClick屬性,在按鍵被按下的時候,會調用java文件里面的onClickbtton1這個函數,因為現已將它和這個按鈕進行了綁定。利用…

pycharm體驗

查看python版本 退出 exit()

Linux文本檢索命令grep筆記

grep是在linux系統中基于行文本非常實用檢索工具,通過該命令可以將匹配到的結果信息輸出到終端控制臺。語法格式:grep [-ivnc] 需要匹配的內容 文件名常用參數說明:-i 檢索的時候不區分大小寫-c 檢索到的匹配行數-n 檢索到的匹配行顯式具體的…

-生成樹的相關問題

瓶頸生成樹 無向圖G的一顆瓶頸生成樹(bottleneck spanning tree)。T是這樣的一顆生成樹,它最大的邊權值在G的所有生成樹中是最小的。瓶頸生成樹的值為T中最大權值邊的權。 即生成樹中最長邊最短的樹。 無向圖的最小生成樹一定是瓶頸生成樹,但瓶頸生成樹不…

成立出版社的條件_創始人親述:法國鴻飛文化出版社的誕生故事和做書心得

鴻飛文化出版社2007年在法國創立,專門出版由中國作家和法國插畫師共同創作的圖畫書。創始人葉俊良引用蘇東坡的詩句“人生到處知何似,應似飛鴻踏雪泥。泥上偶然留指爪,鴻飛那復計東西。”為出版社取名,希望通過這些“印跡”為讀者…

python單行注釋和多行注釋

# 后面加一個空格,下面就不會有波浪線了 點擊小燈泡下的第一行,可以調整注釋格式 多行注釋

Linux文件查詢筆記

1、數據庫查找命令:locateLinux也可以通過locate命令查找文件,locate命令主要是依據一個數據庫文件來執行文件的查找,默認情況下Linux每天會默認檢索系統中的所有文件,然后把檢索的文件信息記錄到數據庫文件中。因為運行locate命令…

柱坐標系下的ns方程_麥克斯韋方程組小結

一、▽ 算子、點積、叉積l▽ 算子叫“del”算子&#xff0c;即<< span"">?/?x,?/?y,?/?z>,可以理解為一個符號向量&#xff0c;向量里的元素是偏微分運算符號&#xff0c;沒有任何具體意義&#xff0c;只是一個表示方法。ln維向量的內積定義如下&a…

Java高級補充(Socket服務端、客戶端)、Handler類、安卓Socket傳數據、WebView

Socket服務端簡單地API&#xff1a; 主要用到以下幾個API&#xff1a;ServerSocket用來設置端口號、accept用來和服務端連接、getInputStream用來獲取輸入流、read用來讀取輸入流里面的數據&#xff0c;存放在提前開辟好的緩沖區里面。 import java.io.IOException; import j…