1. 程式人生 > >Linu20180415三周第三次課(4月4日)

Linu20180415三周第三次課(4月4日)

sudo的用法

3.7 su命令
3.8 sudo命令
3.9 限制root遠程登錄


su就是切換用戶的命令

su - username 切記要使用 - 。 我經常使用的時候是不加上-的,這樣的話切換的不徹底,尚在之前用戶的家目錄下

可以采用 whoami來查看當前用戶

-c 選項可以用來不登入用戶,但是使用該用戶來執行命令

su - -c "touch /tmp/3.33333" hello如下圖所示


技術分享圖片


是否還記得 useradd -M user 是建立用戶但是不生成家目錄?

這樣雖然可以切換到這個用戶但是因為沒有家目錄和必須的配置文件,所以無法操作。

解決辦法:

  1. 首先要為這個用戶創建家目錄 mkdir /home/username

  2. 然後把這個目錄的所屬和屬組改好 chmod -R username:username /home/username

  3. 此時還沒有配置文件怎麽辦?需要到系統模板目錄中拷貝 /etc/skel

  4. cp /etc/skel/.bash* /home/username

  5. 和第二步一樣需要改所屬和屬組 chmod -R username:username /home/username



sudo命令是讓普通用戶臨時擁有root權限去執行命令


visudo可以打開sudo的配置文件而且可以檢測錯誤。不建議使用vi打開/etc/sudoers這個文件

技術分享圖片

技術分享圖片

表示以aming用戶以root的身份去執行後面的三個命令,但是上面這個是錯誤的寫法,因為命令要用逗號分開,而且是絕對路徑

技術分享圖片


簡單的說,要在sudo配置文件中加入可以操作的用戶名稱和操作命令,然後用戶使用sudo就可以使用了,當然也可以根據文檔的標準把用戶組放進去

然後sudo的時候還是需要輸入密碼的,如果不想輸出密碼可以加一個 NOPASSWD

技術分享圖片

技術分享圖片


技術分享圖片


技術分享圖片



限制遠程root訪問



如何限制root遠程登陸?

進入ssh的配置文件

技術分享圖片

查找Root

技術分享圖片

將允許root改成no並取消註釋

然後重啟服務 systemctl restart sshd.service

這樣就限制了root登陸了


因為root的重要性,限制遠程登陸root比較好理解,這樣的話運維人員可以通過把運維賬戶的su權限寫入visudo中,然後sudo su - 切換到root下。

當然這樣的話還是進入了root,所以如果從安全性上來說,只有極少數運維人員可以有這種visudo的su操作權限。

技術分享圖片

技術分享圖片

技術分享圖片

Linu20180415三周第三次課(4月4日)