sudo可以定義一個沒有管理者的身份的使用者,擁有管理者的特定權限(由管理者定義你的管理權限)
/etc/sudoers定義在這個檔案裡面的使用者表示此使用者可以以某個指令來使用管理者的身份來執行。它的格式為:
誰 可以在哪個主機上(以誰的身份) 運作什麼指令
gentoo ALL=(root) /usr/sbin/useradd //此時的指令要使用which檢視路徑之後,以路徑的形式才能使用
使用visudo特有的指令來編輯這個檔案、
管理者權限下
which useradd
/usr/sbin/useradd //檢視指令路徑
visudo
gentoo ALL=(root) /usr/sbin/useradd (小括号裡面預設是root使用者可以不寫)
儲存退出
給gentoo使用者添加密碼,在gentoo使用者下使用sudo指令會要求輸入使用者密碼
passwd gentoo
su - gentoo //切換到gentoo使用者下
在gentoo使用者下添加redhat
sudo /usr/sbin/useradd redhat
輸入gentoo的密碼
此時使用tail /etc/passwd 就可以檢視你是否建立成功了。
User Alias定義組别名(USERADMIN組名必須用大寫字母)如:
User Alias USERADMIN = gentoo, centos, suse, %myqrp, USERS
此時定義USERADMIN這個組中有三個成員,這時候對這個組進行控制,就可以間接對這三個使用者進行控制。
%mygrp 表示這個是系統中的組,使用%來調用。這個組中的所有成員都包含在USERADMIN裡面
USERS 表示可以使用另外一個定義過的組。如我在上面定義了一個組。而這裡想包含上面組的所有成員..
是以這裡定義的組中可以包含,使用者,系統組,其它已經定義好的使用者别名
定義主機清單
1.可以使用主機名稱,可以使用ip位址,可以使用網絡位址 和其它主機名
舉例:
Host_Alias LOCALNET=192.168.0.0/24 127.0.0.0/8
...............
sudo -l檢視自己可以通過sudo執行的指令
sudo -u指定以哪個身份來執行指令
sudo -S通過标準輸入接收指令,比如管道,ercho
sudo -b在背景執行sudo指令