使用”sudo”的4個實用小技巧

寫在前面

在系統運維過程中,爲了安全起見,我們一般都不會直接使用root賬號來登錄管理服務器,但是在日安裝軟件、刪除軟件、更新系統等操作都需要取得root權限才能執行相應操作。
"sudo"就是這樣一種命令:可以用來以其他已經授權的身份來執行命令,預設的身份爲root。在/etc/sudoers中設置了可執行sudo指令的用戶。若其未經授權的用戶企圖使用sudo,則會發出警告的郵件給管理員。用戶使用sudo時,如果沒有設置免密就必須先輸入密碼,之後有5分鐘的默認有效期限,超過期限則必須再次重新輸入密碼。

實用小技巧

1) !! 和 ! -1

用法:想要允許授權的普通用戶作爲root用戶來執行一個命令,但是剛剛執行命令的時候卻忘記在命令前加上"sudo"了,該怎麼辦?
不要擔心,我們可以使用"sudo !!" 結合命令歷史來執行你剛剛想要執行的命令。
參數"!!“和”! -1"作用一樣,都是允許授權的普通用戶作爲root用戶來執行我們剛纔輸入的命令。當然,以此類推,我們可以使用"sudo ! -2"來執行倒數第二個命令哦!

2) -u <用戶名>

注意: -u<用戶>以指定的用戶作爲新的身份。若不加上此參數,則預設以root作爲新的身份;
用法:我們可以使用"sudo -u username -i" 來指定一個用戶登陸shell。
提示,username換成你想要使用的其他用戶名即可,在此過程中需要輸入username的授權密碼。

在這裏插入圖片描述

3) sudo輸出重定向

在這裏插入圖片描述

[yuki@myhost ~]$ cd /home/script/
[yuki@myhost script]$ ll
總用量 1
-rw-r--r--. 1 root root    0 5月  21 13:45 test.sh

[yuki@myhost script]$ cat test.sh 
[yuki@myhost script]$ echo "我是新添加的內容"  >  /home/script/test.sh 
-bash: /home/script/test.sh: 權限不夠

[yuki@myhost script]$ echo "我是新添加的內容"  | sudo tee  /home/script/test.sh  
我是新添加的內容
[yuki@myhost script]$ ll
總用量 2
-rw-r--r--. 1 root root   25 5月  21 13:50 test.sh
[yuki@myhost script]$ cat test.sh 
我是新添加的內容

[yuki@myhost script]$ echo "我是第二次新添加的內容"  | sudo tee -a  /home/script/test.sh   
我是第二次新添加的內容
[yuki@myhost script]$ cat test.sh 
我是新添加的內容
我是第二次新添加的內容

[yuki@myhost script]$ echo "我是第先清除再添加的內容..."  | sudo tee   /home/script/test.sh 
我是第先清除再添加的內容...
[yuki@myhost script]$ cat test.sh 
我是第先清除再添加的內容...

4) :w !sudo tee %

:w !sudo tee % 可用在vi/vim編輯器中。
我們經常會遇到當前登錄用戶沒有某個文件的w(write)權限,編輯文件後保存時先輸入這個然後就不用擔心沒有修改的權限了。

在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章