? ? ? ?在 Ubuntu 中,sudo?允許授權用戶以?root?級別權限執行任務,即使他們不知道?root?用戶密碼。這對于執行管理任務非常重要,因為它可以避免直接使用?root?用戶,從而減少系統被誤操作的風險,同時在企業生產中由于ubuntu系統都是root的用戶名,為了防止被爆破也是要減少root用戶的ssh連接,轉為提供擁有sudo權限的用戶!!!
概念
????????在Linux操作系統中,有一個特殊的用戶叫做 root,root用戶可以在系統中做任何事情。權限太大,可以對系統進行任意操作。例如:刪除系統文件等危險操作。為了避免誤操作導致系統崩潰或數據丟失,我們一般不使用超級用戶賬號進行日常操作。
? ? ? ? 因而創建一個普通用戶并將他添加到 sudo 用戶組以執行管理任務很重要的原因,因此,該用戶在運行以 sudo 為前綴的命令時,既可以作為普通用戶,也可以作為擁有root權限的管理用戶。
? ? ? ? 其次管理員權限可以很容易地授予用戶,如果不再需要,可以隨時撤銷。(centos系統禁止root用戶ssh登錄)ubuntu系統默認禁用 root 用戶,外來用戶沒法對root用戶發起暴力攻擊。
? ? ? ? 再者,進入sudo 會話后,一定時間內超時,從而失去管理用戶的權限。因此,其他用戶無法執行任何進一步的管理任務。默認情況下,在當前會話中記住 sudo 密碼 15 分鐘。
以下有免費的4090云主機提供ubuntu22.04系統的其他入門實踐操作
地址:星宇科技 | GPU服務器 高性能云主機 云服務器-登錄
相關兌換碼星宇社區---4090算力卡免費體驗、共享開發社區-CSDN博客
驅動操作:ubuntu22.04系統 cuda驅動版本過高,更換驅動的方法 (常規通用)-CSDN博客
接下來跟著我進行實操
一、在 Ubuntu22.04系統中添加新用戶
其他ubuntu版本大同小異,如ubuntu20.04、18.04基本無異
首先創建普通用戶
在普通用戶下
sudo adduser user
#user替換為自己需要的用戶名字!
在root用戶下
adduser user
#user替換為自己要新建的用戶名
兩者效果一直,如下圖
在New password 和 Retype new password 中輸入新建用戶的登錄密碼即可
?Full Name []:?
? ? ? ? Room Number []:?
? ? ? ? Work Phone []:?
? ? ? ? Home Phone []:?
? ? ? ? Other []:?
設置密碼后,需要設置賬戶信息,默認回車即可, 輸入y? 用戶創建就完成了
添加用戶后,默認會在/home
路徑下創建一個與用戶名相同的用戶目錄。
二、確認新建用戶有無sudo權限
????????由于新建的用戶是普通用戶,是沒有sudo權限,我們是一定要記得要授權,否則新建的用戶是不能管理系統中的任何任務
sudo -l -U roots
#roots更換為新建的用戶名
三、授權sudo權限
將新建的用戶添加到sudo組中即可獲取sudo權限
方法一
sudo adduser roots sudo
不要妄想直接從步驟一的后面加上sudo就以為可以授權了,沒有新建用戶,這條命令走不通的
方法二
sudo usermod -aG sudo roots
檢測新建用戶是否加入到sudo中
sudo -l -U roots
????????(ALL:ALL)ALL? ?表示該roots用戶擁有無限權限,可以在系統上運行任何命令,表明roors已被添加到sudo 用戶組中,他可以執行各種管理任務。
打開sudoers文件
sudo cat /etc/sudoers
可以看到下面的幾行
其中
第一個行 ?User privilege specification? ??ALL 是允許的用戶。
第二行?ALL 是主機。相同的sudoers文件分發給許多主機,相同的sudo用戶組可以在所有主機上執行管理命令。
第三行是運行命令時的用戶。
最后一行是允許的命令。
此處注意,在Debian系統中,創建新的sudo用戶前,需要安裝sudo包
在Debian系統中安裝sudo包
apt install sudo
ubuntu桌面版和服務器版都是默認安裝了sudo包
四、驗證sudo權限是否生效
切換用戶
由root用戶切換到普通賬號
sudo su roots
#roots替換為要切換的用戶名
由普通用戶切換到root用戶
:
sudo su root
注意:切換為root用戶時,輸入的是root用戶的密碼,如若還沒有設置root的用戶密碼,先對root用戶進行密碼設置,否則無法登錄root用戶
方法一?
在有sudo權限的用戶下輸入
sudo -i
#進入root用戶
passwd
#修改root密碼
exit
#推出root
方法二
在有sudo權限的用戶下輸入
sudo passwd root
以上完成,下面繼續
切換當前用戶
sudo -i -u roots
#roots換成自己新建的用戶
sudo apt-get update
#用sudo命令更新軟件包
成功更新,說明新建的roots用戶擁有sudo權限
以上完成
五、移除sudo權限
????????移除sudo權限,并非刪除用戶,在ubuntu系統中,sudo組至少有一個用戶擁有sudo權限
在移除對應的用戶的sudo權限時,確保對應的用戶沒有在登錄
方法一
sudo deluser roots sudo
#roots更換為要移除sudo權限的用戶名
????????此命令只會從 sudo 組中刪除用戶 roots,但不會從系統中永久刪除用戶,換句話說,roots用戶從高權限的管理用戶變成了最底層的普通用戶
方法二
也可以通過下面的命令移除sudo權限
sudo gpasswd -d roots sudo
#roots替換對應的用戶名
通過以下命令驗證是否移除成功
sudo -l -U roots
#roots替換移除sudo權限的用戶名
成功
可以通過步驟四,反向驗證sudo權限是否真的被移除了,這里就提供結果,不重復講解如何切換用戶了
失去sudo權限后 如下圖
六、在系統中刪除用戶
? ? ? ? 上面五個步驟只是在sudo組中加入用戶和移除用戶,并未把新建的用戶給刪掉,roots用戶還是可以正常登錄機器,接下來要想真正刪除roots用戶,需要擁有sudo權限的用戶或在root用戶下進行真正的刪除用戶? ?
sudo deluser roots
#roots替換為要刪除的用戶名
刪除時確保沒有roots用戶在登錄,否則會刪除失敗
以下是刪除成功
若要刪除用戶的數據? 移除/home目錄下已刪除的用戶的數據? 這部要優先與上面刪除用戶的那一步
sudo deluser --remove-home roots
#roots替換為要刪除的用戶的數據
不然? 會提示沒有該用戶? 接下來就只能通過rm -rf 移除對應的文件夾資料
sudo rm -rf /home/roots/
其他詳情
在系統中輸入
#man adduser
#man deluser
#man sudo
#查看各個的使用手冊和方法
請各位帥哥美女們多多支持!!小花花小心心? 更多入門知識慢慢補充啦
后期持續關注!