Pages

Wednesday, November 16, 2011

[Linux] 新增使用者、群組進sudoers

關於sudoers: 就是可以做 sudo 的傢伙們,以下先簡介一下sudo功用


Linux系統下,有許多機密的操作是需要root權限的,有如Win下的Administrator

所以呢,要取得root權限有兩個方法,

第一個是取得root的密碼,直接登成root,阿root密碼給太多人知道總是不好,

這時就要用sudo了!

這種做法是認定某些人是有此權限的,這些人只要在指令前冠上 sudo ,

接著系統會問你"自己的密碼",以確定你是本人,密碼正確後就會執行指令了


例如:想立即關機

法一:登入root
spencer:~ # su
 [輸入root密碼]
spencer:~ # shutdown -h now


法二: 利用sudo
spencer:~ # sudo shutdown -h now
[輸入自己的密碼]

-----------------------------------------------------------------------------------------------------
然後,用小指甲也知道,如果隨便人都可以用sudo的話,那root如同虛設了

sudoer的設定檔在/etc/sudoers,不過不建議直接暴力法改,這裡介紹指令法

假設我要加入Spencer這個使用者,wheel這個群組進sudoers

(以下皆須以root權限執行)

spencer:~ # visudo
  #他會打開一個暫存檔讓你編輯,確定格式正確以後才會寫進真的sudoers檔去





把這兩行註解掉,不然他問你密碼還是問root密碼,白搭!
#Defaults targetpw   # ask for the password of the target user i.e. root
#ALL    ALL=(ALL) ALL   # WARNING! Only use this together with 'Defaults targetpw'!

加入以下幾行:

 Spencer  ALL=(ALL) ALL
 %wheel ALL=(ALL) ALL


阿如果想偷懶到連自己密碼都不打的話可以這樣
 Spencer  ALL=(ALL) NOPASSWD:  ALL
 %wheel ALL=(ALL) NOPASSWD:  ALL


如果想限制只有某些指令有權限的話可以這樣(/bin/mount及/bin/umount為例)
Spencer ALL=(ALL): /bin/mount,/bin/umount
(在冒號之後有空白喔!
存檔,重新登入


----------------------------------------------------
然後順便寫一下新增群組跟把使用者加入群組,在此只寫指令法

新增群組(group):新增wheel 群組

spencer:~ # groupadd wheel

把使用者Spencer加入wheel群組
spencer:~ # usermod -G wheel Spencer

如果新增Spencer時就要加入wheel群組,也開個個人資料夾
spencer:~ # useradd -G wheel -m Spencer

No comments:

Post a Comment