»áÔ±£º ÃÜÂ룺 ¡¡Ãâ·Ñ×¢²á | Íü¼ÇÃÜÂë | »áÔ±µÇ¼ ÍøÒ³¹¦ÄÜ£º ¼ÓÈëÊÕ²Ø ÉèΪÊ×Ò³ ÍøÕ¾ËÑË÷  
¼¼ÊõÎĵµ > ²Ù×÷ϵͳ > Linux
ÔÚLinuxÖÐÅúÁ¿½¨Á¢Óû§µÄshell
·¢±íÈÕÆÚ£º2006-06-02 06:23:40×÷ÕߣºÀ ³ö´¦£ºpconline  

¡¡¡¡×î½ü£¬±ÊÕßÔÚУ԰ÍøÓ¦ÓÃƽ̨½¨ÉèÖвÉÓÃÁËLinux²Ù×÷ϵͳ£¬ÎªÐ£Ô°ÍøÓû§ÌṩDNS¡¢Apache¡¢POP3¡¢SMTP¡¢FTPµÈ·þÎñ¡£ÓÉÓÚÎÒУѧÉúÓû§ÊýÔÚ3000ÈËÒÔÉÏ£¬±ÊÕßÔÚ½¨ÉèÕû¸öÓ¦ÓÃƽ̨µÄ¹ý³ÌÖÐÌرðÖØÊÓ±£Ö¤Óû§¹ÜÀíЧÂÊ¡£ÎҵĻù±¾Ë¼Â·ºÍ×ö·¨ÊÇ£ºÀûÓÃshellΪÿ¸öѧÉú½¨Á¢Ò»¸öϵͳÕ˺šª¡ª¼´Ìṩһ¸öE-mailµØÖ·£¨º¬FTP¿Õ¼äÕ˺ţ©£¬È»ºóѧÉú¿ÉÒÔƾ½èÆäE-mailÔÙ×¢²áÂÛ̳Óû§¡£»ùÓÚÕâÑùµÄ¹ÜÀí˼·£¬±ÊÕß±àдÁËÒ»¸öÅúÁ¿½¨Á¢Óû§µÄshell£¬Êµ¼ùÖ¤Ã÷£¬ÀûÓÃshell¿ÉÒÔÓÐЧµØ¹ÜÀí»ùÓÚUnixÄں˵ÄϵͳÓû§¡£
¡¡¡¡ÒÔÏÂÊÇÕû¸öshellµÄÔ´Âë¼°×¢ÊÍ£¬´Ë´úÂëÔÚRedhat 7.2¼°Turbo Linux 7.0Éϵ÷ÊÔͨ¹ý£¬ÔÚÆäËû°æ±¾µÄLinuxÖÐʹÓÿÉÄÜÐèÒª×öÊʵ±µÄÐ޸ġ£ÆäÖС°@¡±²¿·ÖÊÇ´úÂë×¢ÊÍ£¬¡°£¨£©¡±²¿·ÖÊDZÊÕ߶ÔÓÚ±à³Ì˼·µÄ½âÊÍ¡£

¡¡¡¡@!/bin/sh£¨¶¨ÒåʹÓÃsh shell£©

¡¡¡¡groupadd users£¨½¨Á¢Óû§×飩

¡¡¡¡@grade code£¨¶¨ÒåµÚÒ»¸ö²ÎÊýΪÄ꼶´úÂ룬¸³Óè±äÁ¿¡°grade¡±£©

¡¡¡¡grade=$1

¡¡¡¡@class code£¨¶¨ÒåµÚ¶þ¸ö²ÎÊýΪ°à¼¶´úÂ룬¸³Óè±äÁ¿¡°num_class¡±£©

¡¡¡¡num_class=`expr $2 + 0`

¡¡¡¡if (test $num_class -le 9)£¨ÒÔÏ´úÂëÊÇΪÁ˱£Ö¤°à¼¶ÂëµÄλÊýΪÁ½Î»£©

¡¡¡¡then

¡¡¡¡ num_class="0"$num_class

¡¡¡¡fi

¡¡¡¡@max user id£¨¶¨ÒåµÚÈý¸ö²ÎÊýΪ¸Ã°àѧÉúµÄ×î´óIDºÅ£¬¸³Óè±äÁ¿¡°max_stid¡±£©

¡¡¡¡max_stid=`expr $3 + 0`

¡¡¡¡@init user id£¨¸Ã°àѧÉúÓû§IDºÅ´Ó1¿ªÊ¼£©

¡¡¡¡num_stid =1

¡¡¡¡@mkdir user home£¨ÔÚ¡°/home¡±Ä¿Â¼ÎªËùÓÐѧÉú½¨Á¢ÃûΪ"student"µÄ¹«¹²Ä¿Â¼£©

¡¡¡¡if [ ! -x /home/student ]

¡¡¡¡then

¡¡¡¡ mkdir /home/student

¡¡¡¡fi

¡¡¡¡if [ ! -x /home/student/$1$num_class ] £¨ÔÚѧÉú¹«¹²Ä¿Â¼ÏÂΪÿ¸ö°à¼¶½¨Á¢ÒԸðà´úÂëÃüÃûµÄĿ¼£©

¡¡¡¡then

¡¡¡¡ mkdir /home/student/$1$num_class

¡¡¡¡fi

¡¡¡¡while (test $num_stid -le $max_stid)£¨´ÓÓû§IDºÅ1¿ªÊ¼Ñ­»·£¬Ö±µ½×î´óIDºÅ£©

¡¡¡¡ do

¡¡¡¡ if (test $num_stid -le 9) £¨ÒÔϱ£Ö¤Ñ§Éú´úÂëµÄλÊýΪÁ½Î»£©

¡¡¡¡ then

¡¡¡¡ num_stid="0"$num_stid

¡¡¡¡ fi

¡¡¡¡ user_name=$grade$num_class$num_stid£¨°ÑÄ꼶¡¢°à¼¶¡¢Ñ§ÉúIDºÅÈý²¿·Ö´úÂë×éºÏ³ÉÓû§Ãû£¬²¢¸³Óè±äÁ¿user_name£©

¡¡¡¡ @save user passwd to file user_pwlist£¨°´¡°name:passwd¡±µÄ¸ñʽÖðÐÐ×·¼ÓдÈë¡°user_pwlist¡±Îļþ£¬ÒÔ±¸³õʼ»¯Óû§ÃÜÂ룩

¡¡¡¡ echo $user_name":"$user_name >> user_pwlist

¡¡¡¡ @add user£¨½¨Á¢¸ÃÓû§£¬Í¬Ê±¸³Óè¡°users¡±×飬´´½¨¸ÃÓû§Ä¿Â¼£©

¡¡¡¡ adduser -g users -d /home/student/$1$num_class/$user_name $user_name

¡¡¡¡ @set quota£¨Îª¸ÃÓû§ÉèÖÃÅä¶î£¬ÏÞÖÆ×î´óÈÝÁ¿Îª20MB£¬Ã»ÓÐÎļþÊýÏÞÖÆ£©

¡¡¡¡ setquota -u $user_name 10240 20480 0 0 /home

¡¡¡¡ @set directory mode£¨ÉèÖøÃÓû§Ä¿Â¼µÄȨÏÞΪ755£©

¡¡¡¡ chmod 755 /home/student/$1$num_class/$user_name

¡¡¡¡ @current user id add one(Óû§IDºÅ¼Ó1£¬×¼±¸ÏÂÒ»´ÎÑ­»·£¬½¨Á¢ÏÂÒ»¸öÓû§)

¡¡¡¡ num_stid=`expr $num_stid + 1`

¡¡¡¡done

¡¡¡¡chpasswd < user_pwlist£¨ÒÔÏÂÁ½ÐÐΪ¸Õ²Å½¨Á¢µÄËùÓÐÓû§ÉèÖÃÃÜÂ룩

¡¡¡¡pwconv

¡¡¡¡rm user_pwlist -f£¨É¾³ý¡°user_pwlist¡±Îļþ£©

¡¡¡¡

¡¡¡¡¹ØÓÚʹÓãº

¡¡¡¡1. ÓÃvi±à¼­Æ÷ÖðÐÐдÈëÒÔÉÏ´úÂ벿·Ö£¬²¢ÒÔÎļþµÄÐÎʽ±£´æ£¬ÈçÒÔ¡°addclass¡±ÃüÃû±£´æ£¬ÔÙÖ´ÐÐÒÔϲ½Öè¡£

¡¡¡¡2. #chmod +x addclass£¨ÉèÖÃaddclassÎļþΪ¿ÉÖ´ÐÐȨÏÞ£©

¡¡¡¡3. #./addclass ga 1 50£¨½¨Á¢ga0101-ga0150Óû§£©

¡¡¡¡×¢Ò⣺#ΪÌáʾ·û¡£

¡¡¡¡

¡¡¡¡ÒÔÉÏ´úÂëÖ»ÊDZÊÕßÔÚʹÓÃshell½øÐÐϵͳÓû§¹ÜÀíʱµÄÒ»µãÌå»á¡£ÓÉÓÚshell¿ÉÒÔºÍLinuxµÄϵͳÃüÁî½áºÏʹÓã¬ËùÒÔËüÔÚ¹ÜÀíÖеŦÄܾÍÏԵ÷dz£Ç¿´ó¡£¾ÍÒÔÉÏ´úÂë¶øÑÔ£¬ÎÒÃÇÖ»ÒªÉԼӸĶ¯£¬¾Í¿ÉÒÔ½¨Á¢É¾³ýÅúÁ¿Óû§µÄshell¡¢ÅúÁ¿ÅäÖÃÓû§Åä¶îµÄshellÒÔ¼°ÅúÁ¿³õʼÓû§ÃÜÂëµÄshell¡£Èç¹ûÔÙ¼ÓÉÏÒ»²ã°à¼¶Ñ­»·Óï¾ä£¬¾Í¿ÉÒÔÉú³ÉÒ»´Î½¨Á¢Ò»¸öÄ꼶Óû§µÄshell¡£

¡¾·µ»Ø¶¥²¿¡¿ ¡¾´òÓ¡±¾Ò³¡¿ ¡¾¹Ø±Õ´°¿Ú¡¿

¹ØÓÚÎÒÃÇ / ¸øÎÒÁôÑÔ / °æȨ¾Ù±¨ / Òâ¼û½¨Òé / ÍøÕ¾±à³ÌQQȺ   
Copyright ©2003- 2024 Lihuasoft.net webmaster(at)lihuasoft.net ¼ÓÔØʱ¼ä 0.00382