sudo[/align]
使用 su 切?身份真的是很??啦~不?, su ?有一?很?重的??, 那就是.....我?必?要知道想要?成的那?人的登入密?~ ?例??,如果我想要?成 root ,那?就必?要知道 root 的密?才行, 如果我想要?成 dmtsai ?工作,那?除非我是 root ,否?就必?要知道 dmtsai ??使用者的密?才行~而?所皆知的,如果多人管理一部主?的?, 大家都知道 root 的密?,那......挺危?的,不是??!
???候, sudo 就派的上用??~那? sudo 是怎?工作的呢?
[list]
[*]?使用者?行 sudo ?,系??主?的去?找 /etc/sudoers ?案,判??使用者是否有?行 sudo 的?限;
[*]若使用者具有可?行 sudo 的?限後,便?使用者『?入使用者自己的密?』???;
[*]若密??入成功,便?始?行 sudo 後?接的指令;
[*]不?, root ?行 sudo ?,不需要?入密?;
[*]若欲切?的身份??行者身份相同,那也不需要?入密?。
[/list] 要注意的是,使用者『?入的是自己的密?,而不是欲切?成?他的那?身份的密?!』 ?例??,假? dmtsai 具有?行 sudo 的?限,那??他以 sudo ?行 root 的工作?, 他需要?入的是 dmtsai 自己的密?,而不是 root 的密?!嘿嘿!很棒吧! ^_^ 如此一?,大家可以使用自己的密??行 root 的工作,而不必知道 root 的密?,安全多了。 此外,使用者能??行的指令是可以被限制的! 所以,我?可以?定 dmtsai ?能?行 shutdown 的工作,或者是其他一些??的指令, 嘿嘿!是否很棒啊!
不?,由上面的?明?中,您也??解,是否具有 sudo 的?行?限是很重要的, 而 sudo 的?行?限? /etc/sudoers ?的?案有?。在??的情?下,只有 root 才能?使用 sudo 呢!至於?? /etc/sudoers ?需要 visudo ??指令。好了, 底下我?就?看一看 sudo 的?法先。
[table=95%][tr][td] 例?:我想要建立一?可以?忙系?管理??更使用者密?的群?,名?? ADMPW ( 注意,在 sudoers ?,???名的名?一定要是大?字元才行!)但是??群?不能修改 root 的密?喔! 且他??行 sudo ?,不需要密???。
答:
[list]我以 root 的身份使用 visudo ,?入???面後,去?定成底下的模?:User_Alias ADMPW = vbird, dmtsai, vbird1, vbird3
ADMPW ALL = NOPASSWD: !/usr/bin/passwd, /usr/bin/passwd [A-Za-z]*, \
!/usr/bin/passwd root
上面的意思是?,我的系?上面有四???,分?是 vbird, vbird1, vbird3 ? dmtsai ?四???加入 sudo ?的 ADMPW 群?中,?四???可以使用 sudo ?行『 /usr/bin/passwd * 』 密?的更改?作,但是不能 (在指令前面加入 ! 代表不可) 使用 /usr/bin/passwd 或 /usr/bin/passwd root ,如此一?,就?? ADMPW 可以更改使用者的密?,但是不能?更 root 的密??! ^_^
[/list] [/td][/tr][/table]
在 /etc/sudoers ??加入?名有很多的好?,?例??,以上面的例子??, 假?未?我有其他的使用者要加入?密?管理的群??,直接???加入 ADMPW 那?群?中就好了,很??的使用吧! ^_^。再看看下一?:
[table=95%][tr][td] 例?:我的系?中有 DNS 服?,他的??指令在 /etc/init.d/named ,如果我想要建立一? DNSMASTER 的群??管理他??如何是好?
答:
[list]我以 root 的身份使用 visudo ,?入???面後,去?定成底下的模?:User_Alias DNSMASTER = vbird, dmtsai
Cmnd_Alias DNSCMD = /etc/init.d/named, /usr/bin/vim /var/named/*
DNSMASTER ALL = DNSCMD
看的懂??嘿嘿!因? DNS 的?定?大多在 /var/named ?面,所以,我也允?相???用 vi 去?理 DNS 的?定?啦!很???吧! ^_^
[/list][/td][/tr][/table]
好了,我?知道 sudo 可以搭配 su ??行一堆系?的工作?吧! 因? sudo ?能?行一次指令,很麻?,如果我能?? sudo ? su 搭配在一起,不就很棒了?? ???候,我可以利用上面已?建立好的 ADMPW 群??新增?一行:
[list]ADMPW ALL = /bin/su
[/list] 如此一?,在 ADMPW ?的使用者,就可以利用『 sudo su - 』?切?身份成? root ?~ 真是棒得不得了啊! ^_^

