1. linux命令之切換用戶-su(全程:switch user)
1.1 簡述
操作系統中,并不能讓一個用戶可以為所欲為,這樣會使得系統的安全性無法得到保障,因此有了操作權限的劃分,在Linux系統中用戶共劃分為兩類:管理員用戶(root) 以及 普通用戶;
su 命令可讓一個普通用戶切換為超級用戶或其他用戶,并可臨時擁有所切換用戶的權限。
1.2 su命令
[san@San ~]$ su root Password: [root@San san]#
注意:su命令在進行用戶切換的時候需要輸入目標用戶的密碼才能切換成功。
2. Linux命令之為普通用戶提權執行root命令
2.1 簡述
sudo 是系統管理員允許讓普通用戶執行一些或者全部的root命令的一個工具(執行身份一般當然要短暫成為root嘍)。
2.2 sudo命令
[san@San ~]$ date Fri Apr 10 15:50:07 CST 2020 [san@San ~]$ date -s "2020-04-10 15:50:57" date: cannot set date: Operation not permitted Fri Apr 10 15:50:57 CST 2020 [san@San ~]$ sudo date -s "2020-04-10 15:52:43" [sudo] password for san: Fri Apr 10 15:52:43 CST 2020 [san@San ~]$ date
從示例中可以看到,設置系統時間在普通用戶下則會報錯,操作不被允許。然而使用sudo命令臨時對用戶操作進行提權則可以直接使用普通用戶進行系統時間的設置。
并且sudo不是對shell的一個代替,它是面向每個命令的,對于每個命令都可以使用sudo進行提權操作。使用sudo 提權操作不僅減少了root用戶的登錄和管理時間,同樣也提高了安全性。
注意:sudo命令的使用需要對/etc/sudoers配置文件進行修改。
2.3 /etc/sudoers配置文件的修改
任何用戶都可以隨時使用sudo指令來對自己的操作進行提權嗎?不是這樣的,若是這樣的話,則root管理員用戶形同虛設,只有管理員將指定用戶添加入/etc/sudoers中,這個用戶才可以進行提權操作,因為它是系統管理員集中的管理用戶的使用權限和使用的主機的配置文件。
[san@San ~]$ su root Password: [root@San san]# visudo #vi /etc/sudoers 也可以,但是我們暫時不用,原因見后面 ## 在配置文件中約第100行的位置可以找到需要配置信息, 輸入 :100 回車可以直接跳轉至第100行 ## 將需要提權的用戶信息添加到root用戶信息的下方,格式雷同root即可,這里的san是我自己的用戶~ ## 通過輸入 :wq 回車后保存配置并退出 ## Allow root to run any commands anywhere root ALL=(ALL) ALL san ALL=(ALL)
注意:/etc/sudoers文件因為文件權限原因無法直接使用編輯器進行修改,就算修改成功也不會進行語法檢查,因此推薦使用visudo 命令進行配置。
[root@San san]# ls -l /etc/sudoers
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END