1. 程式人生 > >用戶切換命令:su 與 sudo

用戶切換命令:su 與 sudo

watermark start 一個 參數 沒有 systemctl color 技術 nop

SU

su 切換用戶
su - 用戶名 是徹底 切換用戶
-c 以當用戶身份執行“這條命令
技術分享圖片

技術分享圖片

/etc/skel 模板文件
"!$ " 上條命令的最後參數
技術分享圖片

技術分享圖片

SUDO

sudo 可以讓普通用戶臨時指定root用戶的身份執行
visudo 命令實際上打開的是-> /etc/sudoers 配置文件
root ALL = ( ALL ) ALL
用戶 被管理主機的地址= 可用的身份 授權命令 (絕對路徑)
huige ALL = ( ALL ) /usr/sbin/shutdown -h now

NOPASSWD 不使用密碼
vi編輯器 :set nu 查看行數
技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

%wheel 用戶組設置
技術分享圖片

總結su與sudo

sudo : 暫時切換到超級用戶模式以執行超級用戶權限,提示輸入密碼時該密碼為當前用戶的密碼,而不是超級賬戶的密碼。不過有時間限制,Ubuntu默認為一次時長15分鐘。

su : 切換到某某用戶模式,提示輸入密碼時該密碼為切換後賬戶的密碼,用法為“su 賬戶名稱”。如果後面不加賬戶時系統默認為root賬戶,密碼也為超級賬戶的密碼。沒有時間限制。

sudo -i: 為了頻繁的執行某些只有超級用戶才能執行的權限,而不用每次輸入密碼,可以使用該命令。提示輸入密碼時該密碼為當前賬戶的密碼。沒有時間限制。執行該命令後提示符變為“#”而不是“$”。想退回普通賬戶時可以執行“exit”或“logout” 。

其實,還有幾個類似的用法:
sudo /bin/bash : 這個命令也會切換到root的bash下,但不能完全擁有root的所有環境變量,比如PATH,可以擁有root用戶的權限。這個命令和 sudo -s 是等同的。
sudo -s : 如上
sudo su : 這個命令,也是登錄到了root,但是並沒有切換root的環境變量,比如PATH。
sudo su - : 這個命令,純粹的切換到root環境下,可以這樣理解,先是切換到了root身份,然後又以root身份執行了 su - ,這個時候跟使用root登錄沒有什麽區別。這個結果貌似跟sudo -i 的效果是一樣的,但是也有不同,sudo 只是臨時擁有了root的權限,而su則是使用root賬號登錄了linux系統。

sudo su - 約等於 sudo -i
sudo -s 完全等於 sudo /bin/bash 約等於 sudo su
sudo 終究被一個"臨時權限的帽子"扣住,不能等價於純粹的登錄到系統裏。

禁止遠程登錄root用戶

!禁止遠程登錄root用戶
visudo

User_Alias huige1 = huige, user1, user2
技術分享圖片

huige1 ALL=(ALL) NOPASSWD: /usr/bin/su
技術分享圖片

技術分享圖片

vim /etc/ssh/sshd_config
技術分享圖片

vi 編輯器 “/root ” 搜索
技術分享圖片

#PermitRootLogin yes
修改為
PermitRootLogin no
技術分享圖片

systemctl restart sshd.service 重啟服務

禁止遠程登錄root
技術分享圖片

用戶切換命令:su 與 sudo