SudoÊÇUnix/Linuxƽ̨ÉϵÄÒ»¸ö·Ç³£ÓÐÓõŤ¾ß£¬ËüÔÊÐíϵͳ¹ÜÀíÔ±·ÖÅ䏸ÆÕͨÓû§Ò»Ð©ºÏÀíµÄ¡°È¨Àû¡±£¬ÈÃËûÃÇÖ´ÐÐһЩֻÓг¬¼¶Óû§»òÆäËûÌØÐíÓû§²ÅÄÜÍê³ÉµÄÈÎÎñ£¬±ÈÈ磺ÔËÐÐһЩÏñmount£¬halt£¬suÖ®ÀàµÄÃüÁ»òÕß±à¼Ò»Ð©ÏµÍ³ÅäÖÃÎļþ£¬Ïñ/etc/mtab£¬ /etc/samba/smb.confµÈ¡£ÕâÑùÒÔÀ´£¬¾Í²»½ö¼õÉÙÁËrootÓû§µÄµÇ½´ÎÊýºÍ¹ÜÀíʱ¼ä£¬Ò²Ìá¸ßÁËϵͳ°²È«ÐÔ¡£
Ò». sudoµÄÌØµã
sudo°çÑݵĽÇɫע¶¨ÁËËüÒªÔÚ°²È«·½Ãæ¸ñÍâ½÷É÷£¬·ñÔò¾Í»áµ¼Ö·Ƿ¨Óû§¾ðÈ¡rootȨÏÞ¡£Í¬Ê±£¬Ëü»¹Òª¼æ¹ËÒ×ÓÃÐÔ£¬ÈÃϵͳ¹ÜÀíÔ±Äܹ»¸üÓÐЧ£¬¸ü·½±ãµØÊ¹ÓÃËü¡£sudoÉè¼ÆÕßµÄ×ÚÖ¼ÊÇ£º¸øÓû§¾¡¿ÉÄÜÉÙµÄȨÏÞµ«ÈÔÔÊÐíÍê³ÉËûÃǵŤ×÷¡£ËùÒÔ£¬sudoÓÐÒÔÏÂÌØµã£º
# 1. sudoÄܹ»ÏÞÖÆÖ¸¶¨Óû§ÔÚÖ¸¶¨Ö÷»úÉÏÔËÐÐijЩÃüÁî¡£
# 2. sudo¿ÉÒÔÌṩÈÕÖ¾£¬ÖÒʵµØ¼Ç¼ÿ¸öÓû§Ê¹ÓÃsudo×öÁËЩʲô£¬²¢ÇÒÄܽ«ÈÕÖ¾´«µ½ÖÐÐÄÖ÷»ú»òÕßÈÕÖ¾·þÎñÆ÷¡£
# 3. sudoΪϵͳ¹ÜÀíÔ±ÌṩÅäÖÃÎļþ£¬ÔÊÐíϵͳ¹ÜÀíÔ±¼¯ÖеعÜÀíÓû§µÄʹÓÃȨÏÞºÍʹÓõÄÖ÷»ú¡£ËüĬÈϵĴæ·ÅλÖÃÊÇ/etc/sudoers¡£
# 4.sudoʹÓÃʱ¼ä´ÁÎļþÀ´Íê³ÉÀàËÆ¡°¼ìƱ¡±µÄϵͳ¡£µ±Óû§Ö´ÐÐsudo²¢ÇÒÊäÈëÃÜÂëºó£¬Óû§»ñµÃÁËÒ»ÕÅĬÈÏ´æ»îÆÚΪ5·ÖÖӵġ°È볡ȯ¡±£¨Ä¬ÈÏÖµ¿ÉÒÔÔÚ±àÒëµÄʱºò¸Ä±ä£©¡£³¬Ê±ÒÔºó£¬Óû§±ØÐëÖØÐÂÊäÈëÃÜÂë¡£
¶þ. sudoÃüÁî
sudo³ÌÐò±¾Éí¾ÍÊÇÒ»¸öÉèÖÃÁËSUIDλµÄ¶þ½øÖÆÎļþ¡£ÎÒÃÇ¿ÉÒÔ¼ì²éÒ»ÏÂËüµÄȨÏÞ£º
$ls -l /usr/bin/sudo
¡ªs¨Cx¨Cx 2 root root 106832 02-12 17:41 /usr/bin/sudo
ËüµÄËùÓÐÕßÊÇroot£¬ËùÒÔÿ¸öÓû§¶¼¿ÉÒÔÏñrootÄÇÑùÖ´ÐиóÌÐò¡£ÉèÖÃÁËSUIDµÄ³ÌÐòÔÚÔËÐÐʱ¿ÉÒÔ¸øÊ¹ÓÃÕßÒÔËùÓÐÕßµÄEUID¡£ÕâÒ²ÊÇΪʲôÉèÖÃÁËSUIDµÄ³ÌÐò±ØÐëСÐıàд¡£µ«ÊÇÉèÖÃÒ»¸öÃüÁîÎļþµÄSUIDºÍÓÃsudoÀ´ÔËÐÐËüÊDz»Í¬µÄ¸ÅÄËüÃÇÆð×Ų»Í¬µÄ×÷Óá£
sudoµÄÅäÖö¼¼Ç¼ÔÚ/etc/sudoersÎļþÖУ¬ÎÒÃÇÏÂÃæ½«»áÏêϸ˵Ã÷¡£ÅäÖÃÎļþÖ¸Ã÷ÄÄЩÓû§¿ÉÒÔÖ´ÐÐÄÄЩÃüÁҪʹÓÃsudo£¬Óû§±ØÐëÌṩһ¸öÖ¸¶¨Óû§ÃûºÍÃÜÂë¡£×¢Ò⣺sudoÐèÒªµÄ²»ÊÇÄ¿±êÓû§µÄÃÜÂ룬¶øÊÇÖ´ÐÐsudoµÄÓû§µÄÃÜÂë¡£Èç¹û²»ÔÚsudoersÖеÄÓû§Í¨¹ýsudoÖ´ÐÐÃüÁsudo»áÏò¹ÜÀíÔ±±¨¸æÕâһʼþ¡£Óû§¿ÉÒÔͨ¹ýsudo -vÀ´²é¿´×Ô¼ºÊÇ·ñÊÇÔÚsudoers Ö®ÖС£Èç¹ûÊÇ£¬Ëü»¹¿ÉÒÔ¸üÐÂÄãµÄ¡°È볡ȯ¡±ÉϵÄʱ¼ä£»Èç¹û²»ÊÇ£¬Ëü»áÌáʾÄ㣬µ«²»»á֪ͨ¹ÜÀíÔ±¡£
sudoÃüÁî¸ñʽÈçÏ£º
sudo -K -L -V -h -k -l -vsudo [-HPSb] [-a auth_type] [-c
class-] [-p prompt] [-u username#uid] {-e file [...] -i -s command}
ÏÂÃæÎÒÃÇÔÙÀ´¿´Ò»ÏÂsudoÆäËü³£ÓõÄһЩ²ÎÊý£º
Ñ¡Ïî º¬Òå ×÷ÓÃ
sudo -h Help ÁгöʹÓ÷½·¨£¬Í˳ö¡£
sudo -V Version ÏÔʾ°æ±¾ÐÅÏ¢£¬²¢Í˳ö¡£
sudo -l List Áгöµ±Ç°Óû§¿ÉÒÔÖ´ÐеÄÃüÁî¡£Ö»ÓÐÔÚsudoersÀïµÄÓû§²ÅÄÜʹÓøÃÑ¡Ïî¡£
sudo -u username#uid User ÒÔÖ¸¶¨Óû§µÄÉí·ÝÖ´ÐÐÃüÁî¡£ºóÃæµÄÓû§ÊdzýrootÒÔÍâµÄ£¬¿ÉÒÔÊÇÓû§Ãû£¬Ò²¿ÉÒÔÊÇ#uid¡£
sudo -k Kill Çå³ý¡°È볡¾í¡±ÉϵÄʱ¼ä£¬Ï´ÎÔÙʹÓÃsudoʱҪÔÙÊäÈëÃÜÂë¡£
sudo -K Sure kill Óë-kÀàËÆ£¬µ«ÊÇËü»¹ÒªËº»Ù¡°È볡¾í¡±£¬Ò²¾ÍÊÇɾ³ýʱ¼ä´ÁÎļþ¡£
sudo -b command Background ÔÚºǫִ́ÐÐÖ¸¶¨µÄÃüÁî¡£
sudo -p prompt command Prompt ¿ÉÒÔ¸ü¸ÄѯÎÊÃÜÂëµÄÌáʾÓÆäÖÐ%u»á´ú»»ÎªÊ¹ÓÃÕßÕʺÅÃû³Æ£¬%h»áÏÔʾÖ÷»úÃû³Æ¡£·Ç³£ÈËÐÔ»¯µÄÉè¼Æ¡£
sudo -e file Edit ²»ÊÇÖ´ÐÐÃüÁ¶øÊÇÐÞ¸ÄÎļþ£¬Ï൱ÓÚÃüÁîsudoedit¡£
»¹ÓÐһЩ²»³£ÓõIJÎÊý£¬ÔÚÊÖ²áÒ³sudo(8)ÖпÉÒÔÕÒµ½¡£
Èý. ÅäÖÃsudo
ÅäÖÃsudo±ØÐëͨ¹ý±à¼/etc/sudoersÎļþ£¬¶øÇÒÖ»Óг¬¼¶Óû§²Å¿ÉÒÔÐÞ¸ÄËü£¬»¹±ØÐëʹÓÃvisudo±à¼¡£Ö®ËùÒÔʹÓÃvisudoÓÐÁ½¸öÔÒò£¬Ò»ÊÇËüÄܹ»·ÀÖ¹Á½¸öÓû§Í¬Ê±ÐÞ¸ÄËü£»¶þÊÇËüÒ²ÄܽøÐÐÓÐÏÞµÄÓï·¨¼ì²é¡£ËùÒÔ£¬¼´Ê¹Ö»ÓÐÄãÒ»¸ö³¬¼¶Óû§£¬ÄãÒ²×îºÃÓÃvisudoÀ´¼ì²éÒ»ÏÂÓï·¨¡£
visudoĬÈϵÄÊÇÔÚviÀï´ò¿ªÅäÖÃÎļþ£¬ÓÃviÀ´ÐÞ¸ÄÎļþ¡£ÎÒÃÇ¿ÉÒÔÔÚ±àÒëʱÐÞ¸ÄÕâ¸öĬÈÏÏî¡£visudo²»»áÉÃ×Ô±£´æ´øÓÐÓï·¨´íÎóµÄÅäÖÃÎļþ£¬Ëü»áÌáʾÄã³öÏÖµÄÎÊÌ⣬²¢Ñ¯ÎʸÃÈçºÎ´¦Àí£¬¾ÍÏñ£º
>>> sudoers file: syntax error, line 22 <<
´ËʱÎÒÃÇÓÐÈýÖÖÑ¡Ôñ£º¼üÈë¡°e¡±ÊÇÖØÐ±༣¬¼üÈë¡°x¡±ÊDz»±£´æÍ˳ö£¬¼üÈë¡°Q¡±ÊÇÍ˳ö²¢±£´æ¡£Èç¹ûÕæÑ¡ÔñQ£¬ÄÇôsudo½«²»»áÔÙÔËÐУ¬Ö±µ½´íÎó±»¾ÀÕý¡£ÏÖÔÚ£¬ÎÒÃÇÒ»ÆðÀ´¿´Ò»ÏÂÉñÃØµÄÅäÖÃÎļþ£¬Ñ§Ò»ÏÂÈçºÎ±àдËü¡£ÈÃÎÒÃÇ´ÓÒ»¸ö¼òµ¥µÄÀý×Ó¿ªÊ¼£ºÈÃÓû§conda¿ÉÒÔͨ¹ýsudoÖ´ÐÐËùÓÐroot¿ÉÖ´ÐеÄÃüÁî¡£ÒÔrootÉí·ÝÓÃvisudo´ò¿ªÅäÖÃÎļþ£¬¿ÉÒÔ¿´µ½ÀàËÆÏÂÃæ¼¸ÐУº
Host_Alias¡¢User_AliasºÍCmnd_Alias£¬·Ö±ðÊÇÖ÷»ú¡¢Óû§ºÍÃüÁîµÄ±ðÃû¡£
DefaultsһЩĬÈϵÄÌØÐÔ£¬±ÈÈçĬÈÏÒª²»ÒªÖØÉè»·¾³±äÁ¿£¬ÖØÉèÄö»·¾³±äÁ¿£¬Ä¬ÈÏÒÔ˵ÄÉí·ÝÖ´Ðеȵȡ£
ºóÃæ¾ÍÊÇÖØÍ·Ï·ÁË£¬ÀàËÆÕâÑùµÄÒ»ÐУº
root ALL=(ALL) ALL
ÆäʵÕâÐÐÊÇ user machine=(users) commands ÕâÑùµÄ¸ñʽ£¬Ò²¾ÍÊÇ£¬ÔÊÐíÔÚmachineµÇ¼µÄ user Óû§ÒÔusersµÄÉí·ÝÀ´Ö´ÐÐcommandsÃüÁî¡£ÕâÀïµÄmachine¡¢users¡¢commands¾Í¿ÉÒÔÓÃHost_Alias¡¢ User_AliasºÍCmnd_AliasÀ´´úÌæÁË¡£
%group ALL=(ALL) ALL
ºÍÉÏÃæµÄÒ»Ñù£¬Ö»²»¹ýÕâ¸ö°´×éÀ´ÏÞÖÆÈ¨ÏÞ¡£
·ÂÕÕÏÖÓÐrootµÄÀý×Ó¾ÍÐУ¬ÎÒÃÇÔÚÏÂÃæ¼ÓÒ»ÐУ¨×îºÃÓÃtab×÷Ϊ¿Õ°×£©£º
conda ALL=(ALL) ALL
±£´æÍ˳öºó£¬Çл»µ½condaÓû§£¬ÎÒÃÇÓÃËüµÄÉí·ÝÖ´ÐÐÃüÁ
[conda@fruit ~]$ ls /root
ls: /root: ȨÏÞ²»¹»
[conda@fruit ~]$ sudo ls /root
PassWord:
anaconda-ks.cfg Desktop install.log install.log.syslog
ºÃÁË£¬ÎÒÃÇÏÞÖÆÒ»ÏÂcondaµÄȨÀû£¬²»ÈÃËûΪËùÓûΪ¡£±ÈÈçÎÒÃÇÖ»ÏëÈÃËûÏñrootÄÇÑùʹÓÃlsºÍifconfig£¬°ÑÄÇÒ»ÐиÄΪ£º
conda fruit= /sbin/ifconfig, /bin/ls
ÔÙÀ´Ö´ÐÐÃüÁ
[conda@fruit ~]$ sudo head -5 /etc/shadow
Password:
Sorry, user conda is not allowed to execute ¡®/usr/bin/head -5 /etc/shadow¡¯ as root on fruit.localdomain.
[conda@fruit ~]$ sudo /sbin/ifconfigeth0
Linkencap:Ethernet HWaddr 00:14:85:EC:E9:9B¡
ÏÖÔÚÈÃÎÒÃÇÀ´¿´Ò»ÏÂÄÇÈý¸öALLµ½µ×ÊÇʲôÒâ˼¡£µÚÒ»¸öALLÊÇÖ¸ÍøÂçÖеÄÖ÷»ú£¬ÎÒÃǺóÃæ°ÑËü¸Ä³ÉÁËÖ÷»úÃû£¬ËüÖ¸Ã÷ conda¿ÉÒÔÔÚ´ËÖ÷»úÉÏÖ´ÐкóÃæµÄÃüÁî¡£µÚ¶þ¸öÀ¨ºÅÀïµÄALLÊÇָĿ±êÓû§£¬Ò²¾ÍÊÇÒÔ˵ÄÉí·ÝÈ¥Ö´ÐÐÃüÁî¡£×îºóÒ»¸ö ALLµ±È»¾ÍÊÇÖ¸ÃüÁîÃûÁË¡£
ÀýÈ磬ÎÒÃÇÏëÈÃcondaÓû§ÔÚlinuxÖ÷»úÉÏÒÔjimmy»òreneµÄÉí·ÝÖ´ÐÐkillÃüÁÕâÑù±àдÅäÖÃÎļþ£º
conda linux=(jimmy,rene) /bin/kill
µ«Õ⻹ÓиöÎÊÌ⣬condaµ½µ×ÒÔjimmy»¹ÊÇreneµÄÉí·ÝÖ´ÐУ¿ÕâʱÎÒÃÇÓ¦¸ÃÏëµ½ÁËsudo -uÁË£¬ËüÕýÊÇÓÃÔÚÕâÖÖʱºò¡£ conda¿ÉÒÔʹÓÃsudo -u jimmy kill PID»òÕßsudo -u rene kill PID£¬µ«ÕâÑùͦÂé·³£¬ÆäʵÎÒÃÇ¿ÉÒÔ²»±ØÃ¿´Î¼Ó-u£¬°Ñrene»òjimmyÉèΪĬÈϵÄÄ¿±êÓû§¼´¿É¡£ÔÙÔÚÉÏÃæ¼ÓÒ»ÐУº
Defaults:conda runas_default=rene
DefaultsºóÃæÈç¹ûÓÐðºÅ£¬ÊǶԺóÃæÓû§µÄĬÈÏ£¬Èç¹ûûÓУ¬ÔòÊǶÔËùÓÐÓû§µÄĬÈÏ¡£¾ÍÏñÅäÖÃÎļþÖÐ×Ô´øµÄÒ»ÐУº
Defaults env_reset
ÁíÒ»¸öÎÊÌâÊÇ£¬ºÜ¶àʱºò£¬ÎÒÃDZ¾À´¾ÍµÇ¼ÁË£¬Ã¿´ÎʹÓÃsudo»¹ÒªÊäÈëÃÜÂë¾ÍÏԵ÷³ËöÁË¡£ÎÒÃǿɲ»¿ÉÒÔ²»ÔÙÊäÈëÃÜÂëÄØ£¿µ±È»¿ÉÒÔ£¬ÎÒÃÇÕâÑùÐÞ¸ÄÅäÖÃÎļþ£º
conda fruit=NOPASSWD: /bin/cat, /bin/ls
ÔÙÀ´sudoһϣº
[conda@fruit ~]$ sudo ls /root
anaconda-ks.cfg Desktop install.log install.log.syslog
±ÈÈçÈÃϵͳµÄij¼¸¸öÓû§ÓÐ×°°üµÄȨÏÞ£¨¾ÍÊÇÖ´ÐÐapt-get»òÕßyumʲôµÄ£©£¬µ«ÊDz»ÄÜËæ±ã¸ü¸ÄÆäËûϵͳÅäÖá£
×ö·¨¾ÍÊǽ«Õ⼸¸öÓû§¼ÓÈëij¸öÌØÊâµÄ×éÀµ±È»£¬Èç¹ûÄãÔ¸ÒâÒ²¿ÉÒÔÒ»¸ö¸öÓû§·Ö±ðÉèÖ㬹þ£©£¬±ÈÈ罨ÁËyumer×飬°ÑÓû§¶¼¼Ó½øÈ¥ÁË£¬È»ºósudoµÄÅäÖüÓÉÏ£º
%yumer ALL=/usr/bin/yum
±ÈÈçÈÃij¸öÓû§£¨dev£©ÓÐɱËÀÖ¸¶¨ÁíÍâÒ»¸öÓû§µÄ½ø³ÌµÄȨÏÞ£¨±ÈÈçwwwÓû§Ê²Ã´µÄ£©£¬µ«ÊÇÒ²²»ÄÜËæ±ãɱÆäËûÓû§µÄ½ø³Ì¡£
ÅäÖÃÈçÏ£º
## Processes
Cmnd_Alias PROCESSES = /bin/kill, /usr/bin/kill, /usr/bin/killall, /usr/bin/pkill
Defaults:dev runas_default=www
dev ALL=(www) PROCESSES
ÏȰѼ¸¸öÃüÁîalias³ÉÒ»¸ö PROCESSES£¬È»ºóÖ¸¶¨devÓû§£¬ÓÐÒÔwwwÓû§µÄÃûÒåÖ´ÐÐPROCESSESÀïµÄ³ÌÐòµÄȨÏÞ¡£
±¾À´£¬devÓû§±ØÐëʹÓà sudo -u www kill 1111 À´É±ËÀwwwÓû§µÄ1111ºÅ½ø³ÌµÄ£¬µ«ÊǼӸö-uÏÔÈ»Âé·³£¬ËùÒÔÓÐÁËÒ»ÐУº Defaults:dev runas_default=www
ÕâÐеÄÒâ˼£¬ÊÇÈÃsudoÖªµÀ£¬Ö»ÒªÊÇdevÓû§Ö´Ðеģ¬Ä¬ÈϾÍÊÇwwwµÄÉí·Ý£¬¶ø²»ÊÇÒ»°ãµÄrootÉí·Ý¡£
µ±È»£¬ÄãÒ²¿ÉÒÔ˵¡°Ä³Ð©ÃüÁîÓû§conda²»¿ÉÒÔÔËÐС±£¬Í¨¹ýʹÓÃ!²Ù×÷·û£¬µ«Õâ²»ÊÇÒ»¸öºÃÖ÷Òâ¡£ÒòΪ£¬ÓÃ!²Ù×÷·ûÀ´´ÓALLÖС°ÌÞ³ö¡±Ò»Ð©ÃüÁîÒ»°ãÊÇûʲôЧ¹ûµÄ£¬Ò»¸öÓû§ÍêÈ«¿ÉÒÔ°ÑÄǸöÃüÁ±´µ½±ðµÄµØ·½£¬»»Ò»¸öÃû×ÖºóÔÙÀ´ÔËÐС£
ËÄ. ÈÕÖ¾Ó밲ȫ
sudoΪ°²È«¿¼ÂǵúÜÖܵ½£¬²»½ö¿ÉÒԼǼÈÕÖ¾£¬»¹ÄÜÔÚÓбØÒªÊ±Ïòϵͳ¹ÜÀíÔ±±¨¸æ¡£µ«ÊÇ£¬sudoµÄÈÕÖ¾¹¦Äܲ»ÊÇ×Ô¶¯µÄ£¬±ØÐëÓɹÜÀíÔ±¿ªÆô¡£ÕâÑùÀ´×ö£º
# touch /var/log/sudo
# vi /etc/syslog.conf ÔÚsyslog.conf×îºóÃæ¼ÓÒ»ÐУ¨±ØÐëÓÃtab·Ö¸î¿ª£©²¢±£´æ£º
local2.debug /var/log/sudo
ÖØÆôÈÕÖ¾ÊØºò½ø³Ì£¬
ps aux grep syslogd
°ÑµÃµ½µÄsyslogd½ø³ÌµÄPID£¨Êä³öµÄµÚ¶þÁÐÊÇPID£©ÌîÈëÏÂÃæ£º
kill ¨CHUP PID
ÕâÑù£¬sudo¾Í¿ÉÒÔдÈÕÖ¾ÁË£º
[conda@fruit ~]$ sudo ls /rootanaconda-ks.cfg
Desktop install.log install.log.syslog
$cat /var/log/sudoJul 28 22:52:54 fruit sudo: conda : TTY=pts/1 ; PWD=/home/conda ; USER=root ; COMMAND=/bin/ls /root ¡¡¡¡²»¹ý£¬ÓÐÒ»¸öССµÄ¡°È±ÏÝ¡±£¬sudo¼Ç¼ÈÕÖ¾²¢²»ÊǺÜÖÒʵ£º
[conda@fruit ~]$ sudo cat /etc/shadow > /dev/null
[conda@fruit ~]$
cat /var/log/sudo¡Jul 28 23:10:24 fruit sudo: conda : TTY=pts/1 ;
PWD=/home/conda ; USER=root ; COMMAND=/bin/cat /etc/shadow
ÖØ¶¨ÏòûÓб»¼Ç¼ÔÚ°¸£¡ÎªÊ²Ã´£¿ÒòΪÔÚÃüÁîÔËÐÐ֮ǰ£¬shell°ÑÖØ¶¨ÏòµÄ¹¤×÷×öÍêÁË£¬sudo¸ù±¾¾Íû¿´µ½Öض¨Ïò¡£ÕâÒ²ÓиöºÃ´¦£¬ÏÂÃæµÄÊֶβ»»áµÃ³Ñ£º
[conda@fruit ~]$ sudo ls /root > /etc/shadowbash: /etc/shadow: ȨÏÞ²»¹»
sudo ÓÐ×Ô¼ºµÄ·½Ê½À´±£»¤°²È«¡£ÒÔrootµÄÉí·ÝÖ´ÐÐsudo
-V£¬²é¿´Ò»ÏÂsudoµÄÉèÖá£ÒòΪ¿¼Âǵ½°²È«ÎÊÌ⣬һ²¿·Ö»·¾³±äÁ¿²¢Ã»Óд«µÝ¸øsudoºóÃæµÄÃüÁ»òÕß±»¼ì²éºóÔÙ´«µÝµÄ£¬±ÈÈ磺PATH£¬HOME£¬
SHELLµÈ¡£µ±È»£¬ÄãÒ²¿ÉÒÔͨ¹ýsudoersÀ´ÅäÖÃÕâЩ»·¾³±äÁ¿¡£
ÈçÉÏËù¼û£¬sudo¶ÔÓÚ¿ØÖƺÍÉó²érootµÄ·ÃÎʺÜÓаïÖú£¬ËüÄÜÈÃϵͳ¹ÜÀíÔ±¸üÓÐЧ£¬°²È«µØ¹ÜÀíϵͳ¡£
ÍÆ¼öÐÅÏ¢
- linuxÃüÁîѧϰ±Ê¼Ç£¨11£©£ºnlÃüÁî
- linuxÃüÁîѧϰ±Ê¼Ç£¨5£©£ºrmÃüÁî
- linuxÃüÁîѧϰ±Ê¼Ç£¨4£©£ºmkdirÃüÁî
- linuxÃüÁîѧϰ±Ê¼Ç£¨1£©£ºlsÃüÁî
- ½«CentosµÄyumÔ´¸ü»»Îª¹úÄڵİ¢ÀïÔÆÔ´
- ʹÓÃNginxÌí¼Óheader·ÀÖ¹ÍøÒ³±»frame
- linuxϼÓËÙscp´«Êä´óÎļþµÄËÙ¶È
- linuxϵͳÉ϶ÔnginxÈÕÖ¾·Ö¸î´¦Àí
- lnmp/nginxÏµÍ³ÕæÕýÓÐЧµÄͼƬ·ÀµÁÁ´ÍêÕûÉèÖÃÏê½â
- Í»ÆÆÊ®Íò²¢·¢µÄNginxµÄÅäÖü°ÓÅ»¯
ÈÈÃÅÐÅÏ¢
- nohup: redirecting stderr to stdou....
- ʹÓÃlog_formatΪNginx·þÎñÆ÷ÉèÖøüÏêϸµÄÈÕÖ¾¸ñʽ
- jquery easyUI--dataGrid-Json
- [Ô´´]·ÂGoogle Reader¡¢ÐÂÀË΢²©¡¢ÌÚѶ΢²©µ....
- ÀûÓÃKeepalived+mysql¹¹½¨¸ß¿ÉÓÃMySQLË«Ö÷×Ô¶....
- Nginx+keepalivedʵÏÖ¸ºÔؾùºâºÍË«»úÈȱ¸¸ß¿ÉÓÃ
- jqueryʵÏÖÒ³Ãæ¼ÓÔØ½ø¶ÈÌõ
- Rolling cURL: PHP²¢·¢×î¼Ñʵ¼ù
- codeigniter ·ÓÉÖÕ¼«ÓÅ»¯(url rewrite)
- linuxÏÂÉèÖÃsshÎÞÃÜÂëµÇ¼
×î½ü¸üÐÂ
- ²éÕÒ²¢É¾³ý.svnĿ¼Îļþ
- redis ÆßÖÖÊý¾ÝÀàÐ͵ÄʹÓó¡¾°
- linux ÏÂÎļþ¸´ÖƵ½windowsÏÂÂÒÂëµÄ½â¾ö°ì·¨
- nginx³öÏÖ502 upstream sent too big he....
- linuxÏÂsudoÅäÖÃÏê½â
- linuxÃüÁîѧϰ±Ê¼Ç£¨15£©£ºtailÃüÁî
- linuxÃüÁîѧϰ±Ê¼Ç£¨14£©£ºheadÃüÁî
- linuxÃüÁîѧϰ±Ê¼Ç£¨13£©£ºlessÃüÁî
- linuxÃüÁîѧϰ±Ê¼Ç£¨12£©£ºmoreÃüÁî
- ¼ÓÃÜËã·¨±È½Ï3DES AES RSA ECC MD5 SHA1µÈ
ÆÀÂÛ