Linux中su和sudo的用法整理

2022-02-14 03:23:46 字數 1209 閱讀 3460

一、為什麼會有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命令。

linux中su和sudo區別

su切換使用者,切換成root使用者,要輸入root使用者的密碼 su 使用者名稱 sudo 涉及到 etc sudoers檔案 內容如下 user privilege specification root all all all all members of the admin group may...

linux中su和sudo的區別

root使用者 su和sudo都用於執行具有root許可權的命令。root使用者基本上等同於windows上的管理員使用者 root使用者具有最大許可權,可以對系統執行任何操作。linux上的普通使用者以較低的許可權執行 例如,他們無法安裝軟體或寫入系統目錄。要執行需要這些許可權的操作,您必須使用s...

Linux 中 su 和 sudo 的區別

當在某一使用者 非root 時,要執行su 使用者名稱 但是,執行su需要root許可權,可以先執行 sudo su 這樣使用者就切換到了root使用者,然後輸入命令 su 使用者名稱 就可以切換到此使用者下了。注意 在執行sudo時,當前使用者需要在sudoers file中,既是 在 etc s...