¡¡¡¡×î½ü£¬±ÊÕßÔÚУ԰ÍøÓ¦ÓÃƽ̨½¨ÉèÖвÉÓÃÁË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¡£
|