Ubuntu Linux¨t²Î¤UªºSudo²n°t¸m¹ê¨Ò
µo§G®É¶¡¡G2007.09.27 06:33 ¨Ó·½¡GÁÉ}ºô §@ªÌ¡Gkit
¥H¤U¬O°t¸m¹Lµ{:
Sudo ¬O¤@Ó¤¹³\¨t²ÎºÞ²zû±ÂÅvÅý´¶³q¥Î¤á°õ¦æ³¡¤À©Î¥þ³¡root©R¥Oªº¤u¨ã¡C³o¼Ë¥i¥H´î¤Örootµn³°´£°ª¨t²Î¦w¥þ©Ê¡C
Sudo¯SÂI¡G
1.¥i¥H¨î¯S©wªº¥Î¤á¦b¯S©wªº¥D¾÷¤W¹B¦æ«ü©wªº©R¥O
2.¦³«D±`¸Ô²Óªº¤é»x¬ö¿ý
3.sudo¨Ï¥Î®É¶¡ÂW¤å¥ó¨Ó°õ¦æÃþ¦ü"À˲¼"¨t²Î¡C·í¥Î¤á¨Ï¥Îsudo¨Ã¥B¿é¤J±K½X«á¡A¥Î¤áÀq»{Àò±o¤F¤@±i¦s¬¡´Á¬°5¤ÀÄÁªº²¼(³oÓ¼ÆÈ¥i¥H¦b½sĶªº®ÉÔ§ó§ï)¡A¶W¹L5¤ÀÄÁ¤£¥Îªº¸Ü´N»Ýn«·s¿é¤J±K½X¤~¯à¨Ï¥Î
sudo¦w¸Ë¹Lµ{¡G¤@¯ë¨t²Î³£Àq»{¦³¦w¸Ë
°t¸m¤å¥ó/etc/sudoers¡G
¥H¤U²²¤¤¶²Ð¸Ó¤å¥óªº°t¸m¶µ(root¨Ï¥Îvisudo½s¿è¸Ó¤å¥ó)
²Ä¤@³¡¤À¡G# Host alias specification(¥D¾÷§O¦W©w¸q¡A¥Î©ó©w¸q¦h»O¦í¾÷)
®æ¦¡¡GHost_Alias SERVER = 192.168.0.1/255.255.255.0
Host_Alias SERVER1 = 172.17.1.1
²Ä¤G³¡¤À¡G# User alias specification(¥Î¤á§O¦W©w¸q¡A¥Î©ó©w¸q¦h²Õ¥Î¤á)
®æ¦¡¡GUser_Alias ADMIN = test,jack,tom
User_Alias TEST = user1
²Ä¤T³¡¤À¡G# Cmnd alias specification (©R¥O§O¦W©w¸q¡A©w¸q¥Î¤á°õ¦æ©R¥O¦Cªí)
®æ¦¡¡GCmnd_Alias CAT = /bin/cat /etc/sudoers
Cmnd_Alias Ls = /bin/ls /root
²Ä¥|³¡¤À¡G# Override built in defaults(¼W¥[¤é»x¬ö¿ý¥\¯à)
Defaults@SERVER log_host, logfile=/var/log/sudo.log
#¬°host aliseùتº¥D¾÷¼W¥[¤@Óªþ¥[¤é»x¡A¦pªG³oÓ¤é»x»Ýn«O¦s¦h¦~¡A«h¥i¨Ï¥Îlog_year¡A³o¼Ë¦b¤é»x¬ö¿ýªº®ÉÔ±N¬ö¿ý¸Ô²Óªº¦~¥÷
¸ÑÄÀ°t¸m¹ê¨Ò¡G
[test@redflag test]$ sudo cat /etc/sudoers
# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#
# Host alias specification
Host_Alias SERVER = 172.17.196.10 #°t¸m¥D¾÷172.17.196.10§O¦WSERVER;Host_Alias«e¤£¯à¦³ªÅ®æ
# User alias specification
User_Alias ADMIN = test,jack #°t¸m¥Î¤á²ÕADMIN¡A©ÒÄݥΤátest,jack
# Cmnd alias specification
Cmnd_Alias CT = /bin/cat /etc/sudoers,/bin/cat /etc/shadow
Cmnd_Alias CA = /bin/ls /root
#°t¸m©R¥O§O¦WCT¡A¥i¥H°õ¦æcat etc/sudoers,cat /etc/shadow ©R¥O¡ACA¥i°õ¦æ la /root©R¥O
# Defaults specification
# User privilege specification
root ALL=(ALL) ALL
test SERVER=CT,CA #°t¸mtest¥Î¤á¥i¥H¦bSERVER°õ¦æcat /etc/sudoers,/cat /etc/shadow¡Als
/root ©R¥O
# test ALL=(ALL) NOPASSWD: ALL(°t¸mtest¥i¥H°õ¦æ©Ò¦³ªºroot©R¥O¡A¥B¨Ï¥Îsudo®É¤£»Ýn¿é¤J±K½X)
# Override built in defaults
Defaults@SERVER log_host, logfile=/var/log/sudo.log
#°t¸m¤é»x¬ö¿ý¨ì¥D¾÷SERVERªº/var/log/sudo.log¤å¥ó
# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL
# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL
# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now
¤é»x¤å¥ó¡G
ºI¨ú/var/log/sudo.logªº¤@¬q¬ö¿ý¦p¤U¡G
Mar 3 15:13:14 : test : HOST=redflag : command not allowed ; TTY=pts/0 ;
PWD=/home/test ; USER=root ; COMMAND=/bin/ls /root
Mar 3 15:13:18 : test : HOST=redflag : command not allowed ; TTY=pts/0 ;
PWD=/home/test ; USER=root ; COMMAND=/bin/su -
Mar 3 15:13:56 : test : HOST=redflag : TTY=pts/0 ; PWD=/home/test ; USER=root ;
COMMAND=/bin/cat /etc/sudoers
Mar 3 15:14:10 : test : HOST=redflag : TTY=pts/0 ; PWD=/home/test ; USER=root ;
COMMAND=/bin/ls /root
Mar 3 16:27

: test : HOST=redflag : TTY=pts/0 ; PWD=/home/test ; USER=root ;
COMMAND=/bin/cat /etc/sudoers
Mar 3 16:29:47 : test : HOST=redflag : command not allowed ; TTY=pts/0 ;
PWD=/home/test ; USER=root ; COMMAND=/bin/cat /var/log/sudo.log
°t¸m¤¤¸I¨ìªº°ÝÃD¡G
1¡B¥D¾÷¦W°t¸m¿ù»~¾ÉPsudo¤£¯à°õ¦æ©M¤é»x¬ö¿ý¡C
¿ù»~´£¥Ü¡GSorry, user test is not allowed to execute '/bin/cat /etc/sudoers' as root on
localhost.localdomain.
¸Ñ¨M¡G±N¨ä¤¤ªºlocalhost§ï¬°¯u¹ê¥D¾÷¦W¦r©ÎIP§Y¥i
test localhost=/sbin/cat /etc/sudoers
Defaults@localhost log_host /var/log/sudo.log
2¡B©R¥O§O¦W¦Cªí¤¤©R¥O¿ù»~¾ÉPsudo¤£¯à°õ¦æ
¿ù»~´£¥Ü¡G[jackyu@localhost jackyu]$ sudo cat /etc/sudoers
Sorry, user jackyu is not allowed to execute '/bin/cat /etc/sudoers' as root on
localhost.localdomain.
¸Ñ¨M¡G¥Ñ©ó¦bCmnd aliasùØ©w¸qªº®ÉÔ©R¥O®Ñ¼g¦³»~(Cmnd_Alias CAT = /bin/cat -n /etc/sudoers).
°õ¦æ¡Gsudo cat -n /etc/sudoers
[ª`]¡G¤£ºÞ¦bCmnd aliasùØÁÙ¬O¦b# User privilege specification¤¤«ü©w©R¥O¡A¨Ï¥Îsudo¹B¦æ®É¥²¶·¤@ºN¤@¼Ë¡A§_«h±N¥X¿ù¡C¤ñ¦p¦bCmnd aliasùØ«ü©w¬Y¥Î¤á¾¯à¹B¦æ /bin/cat /etc/sudoers,¦pªG¸Ó¥Î¤áµn¿ý«á¹B¦æ sudo /cat -n /etc/sudoers±N·|¥X¿ù¡I