Linux system

Shell script : ์‚ฌ์šฉ์ž ์ƒ์„ฑ ํ”„๋กœ๊ทธ๋žจ

NENGIN 2024. 3. 27. 17:39

๊ณ„์ • ์ผ๊ด„ ์ƒ์„ฑ/์‚ญ์ œ ํ”„๋กœ๊ทธ๋žจ(usermake.sh)

  • ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋ฆ„๊ณผ ๊ฐœ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜๊ณ  ์ •๋ณด์— ๋งž๊ฒŒ ๊ณ„์ •์„ ์ผ๊ด„ ์ƒ์„ฑํ•œ๋‹ค.
  • ๊ณ„์ • ์‚ญ์ œ ์‹œ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ผ๊ด„ ์‚ญ์ œํ•œ๋‹ค.
  • for ๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ์ƒ์„ฑํ•œ๋‹ค.

 

์Šคํฌ๋ฆฝํŠธ

#!/bin/bash

echo "****** ๊ณ„์ • ์ผ๊ด„ ์ƒ์„ฑ/์‚ญ์ œ ํ”„๋กœ๊ทธ๋žจ ******"
echo "1. ๊ณ„์ • ์ผ๊ด„ ์ƒ์„ฑ"
echo "2. ๊ณ„์ • ์ผ๊ด„ ์‚ญ์ œ"
echo "3. ์ข…๋ฃŒ"
echo -n "๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜์„ธ์š”(1~3) : ";read num

if [ $num -eq 1 ];then
    echo -n "์ƒ์„ฑํ•  ๊ณ„์ •๋ช… : ";read add_name
    echo -n "์ƒ์„ฑํ•  ๊ฐœ์ˆ˜ : ";read add_count
    for (( i=1 ; i<=$add_count ; i++ ))
    do
        useradd $add_name$i
    done

elif [ $num -eq 2 ];then
    echo -n "์‚ญ์ œํ•  ๊ณ„์ •๋ช… : ";read del_name
    echo -n "์‚ญ์ œํ•  ๊ฐœ์ˆ˜ : ";read del_count
    for (( i=1 ; i<=$del_count ; i++ ))
    do
        userdel -r $del_name$i
    done

elif [ $num -eq 3 ];then
    echo "ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค."
    exit

else
    echo "์ž˜๋ชป๋œ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค."
    exit
fi

 

 

์‹คํ–‰ ๊ฒฐ๊ณผ

  • ๊ณ„์ • ์ผ๊ด„ ์ƒ์„ฑ ํ›„ ํ™•์ธ
    • ์ด๋ฆ„: nenjin
    • ๊ฐœ์ˆ˜: 100๊ฐœ
[root@localhost ~]# sh /root/usermake.sh 
****** ๊ณ„์ • ์ผ๊ด„ ์ƒ์„ฑ/์‚ญ์ œ ํ”„๋กœ๊ทธ๋žจ ******
1. ๊ณ„์ • ์ผ๊ด„ ์ƒ์„ฑ
2. ๊ณ„์ • ์ผ๊ด„ ์‚ญ์ œ
3. ์ข…๋ฃŒ
๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜์„ธ์š”(1~3) : 1
์ƒ์„ฑํ•  ๊ณ„์ •๋ช… : nenjin
์ƒ์„ฑํ•  ๊ฐœ์ˆ˜ : 100
[root@localhost ~]# cat /etc/passwd | grep nenjin
nenjin1:x:1002:1002::/home/nenjin1:/bin/bash
nenjin2:x:1003:1003::/home/nenjin2:/bin/bash
nenjin3:x:1004:1004::/home/nenjin3:/bin/bash
nenjin4:x:1005:1005::/home/nenjin4:/bin/bash
nenjin5:x:1006:1006::/home/nenjin5:/bin/bash
nenjin6:x:1007:1007::/home/nenjin6:/bin/bash
nenjin7:x:1008:1008::/home/nenjin7:/bin/bash
nenjin8:x:1009:1009::/home/nenjin8:/bin/bash
nenjin9:x:1010:1010::/home/nenjin9:/bin/bash
nenjin10:x:1011:1011::/home/nenjin10:/bin/bash
nenjin11:x:1012:1012::/home/nenjin11:/bin/bash
nenjin12:x:1013:1013::/home/nenjin12:/bin/bash
nenjin13:x:1014:1014::/home/nenjin13:/bin/bash
nenjin14:x:1015:1015::/home/nenjin14:/bin/bash
nenjin15:x:1016:1016::/home/nenjin15:/bin/bash
nenjin16:x:1017:1017::/home/nenjin16:/bin/bash
nenjin17:x:1018:1018::/home/nenjin17:/bin/bash
nenjin18:x:1019:1019::/home/nenjin18:/bin/bash
nenjin19:x:1020:1020::/home/nenjin19:/bin/bash
nenjin20:x:1021:1021::/home/nenjin20:/bin/bash
nenjin21:x:1022:1022::/home/nenjin21:/bin/bash
nenjin22:x:1023:1023::/home/nenjin22:/bin/bash
nenjin23:x:1024:1024::/home/nenjin23:/bin/bash
nenjin24:x:1025:1025::/home/nenjin24:/bin/bash
nenjin25:x:1026:1026::/home/nenjin25:/bin/bash
nenjin26:x:1027:1027::/home/nenjin26:/bin/bash
nenjin27:x:1028:1028::/home/nenjin27:/bin/bash
nenjin28:x:1029:1029::/home/nenjin28:/bin/bash
nenjin29:x:1030:1030::/home/nenjin29:/bin/bash
nenjin30:x:1031:1031::/home/nenjin30:/bin/bash
nenjin31:x:1032:1032::/home/nenjin31:/bin/bash
nenjin32:x:1033:1033::/home/nenjin32:/bin/bash
nenjin33:x:1034:1034::/home/nenjin33:/bin/bash
nenjin34:x:1035:1035::/home/nenjin34:/bin/bash
nenjin35:x:1036:1036::/home/nenjin35:/bin/bash
nenjin36:x:1037:1037::/home/nenjin36:/bin/bash
nenjin37:x:1038:1038::/home/nenjin37:/bin/bash
nenjin38:x:1039:1039::/home/nenjin38:/bin/bash
nenjin39:x:1040:1040::/home/nenjin39:/bin/bash
nenjin40:x:1041:1041::/home/nenjin40:/bin/bash
nenjin41:x:1042:1042::/home/nenjin41:/bin/bash
nenjin42:x:1043:1043::/home/nenjin42:/bin/bash
nenjin43:x:1044:1044::/home/nenjin43:/bin/bash
nenjin44:x:1045:1045::/home/nenjin44:/bin/bash
nenjin45:x:1046:1046::/home/nenjin45:/bin/bash
nenjin46:x:1047:1047::/home/nenjin46:/bin/bash
nenjin47:x:1048:1048::/home/nenjin47:/bin/bash
nenjin48:x:1049:1049::/home/nenjin48:/bin/bash
nenjin49:x:1050:1050::/home/nenjin49:/bin/bash
nenjin50:x:1051:1051::/home/nenjin50:/bin/bash
nenjin51:x:1052:1052::/home/nenjin51:/bin/bash
nenjin52:x:1053:1053::/home/nenjin52:/bin/bash
nenjin53:x:1054:1054::/home/nenjin53:/bin/bash
nenjin54:x:1055:1055::/home/nenjin54:/bin/bash
nenjin55:x:1056:1056::/home/nenjin55:/bin/bash
nenjin56:x:1057:1057::/home/nenjin56:/bin/bash
nenjin57:x:1058:1058::/home/nenjin57:/bin/bash
nenjin58:x:1059:1059::/home/nenjin58:/bin/bash
nenjin59:x:1060:1060::/home/nenjin59:/bin/bash
nenjin60:x:1061:1061::/home/nenjin60:/bin/bash
nenjin61:x:1062:1062::/home/nenjin61:/bin/bash
nenjin62:x:1063:1063::/home/nenjin62:/bin/bash
nenjin63:x:1064:1064::/home/nenjin63:/bin/bash
nenjin64:x:1065:1065::/home/nenjin64:/bin/bash
nenjin65:x:1066:1066::/home/nenjin65:/bin/bash
nenjin66:x:1067:1067::/home/nenjin66:/bin/bash
nenjin67:x:1068:1068::/home/nenjin67:/bin/bash
nenjin68:x:1069:1069::/home/nenjin68:/bin/bash
nenjin69:x:1070:1070::/home/nenjin69:/bin/bash
nenjin70:x:1071:1071::/home/nenjin70:/bin/bash
nenjin71:x:1072:1072::/home/nenjin71:/bin/bash
nenjin72:x:1073:1073::/home/nenjin72:/bin/bash
nenjin73:x:1074:1074::/home/nenjin73:/bin/bash
nenjin74:x:1075:1075::/home/nenjin74:/bin/bash
nenjin75:x:1076:1076::/home/nenjin75:/bin/bash
nenjin76:x:1077:1077::/home/nenjin76:/bin/bash
nenjin77:x:1078:1078::/home/nenjin77:/bin/bash
nenjin78:x:1079:1079::/home/nenjin78:/bin/bash
nenjin79:x:1080:1080::/home/nenjin79:/bin/bash
nenjin80:x:1081:1081::/home/nenjin80:/bin/bash
nenjin81:x:1082:1082::/home/nenjin81:/bin/bash
nenjin82:x:1083:1083::/home/nenjin82:/bin/bash
nenjin83:x:1084:1084::/home/nenjin83:/bin/bash
nenjin84:x:1085:1085::/home/nenjin84:/bin/bash
nenjin85:x:1086:1086::/home/nenjin85:/bin/bash
nenjin86:x:1087:1087::/home/nenjin86:/bin/bash
nenjin87:x:1088:1088::/home/nenjin87:/bin/bash
nenjin88:x:1089:1089::/home/nenjin88:/bin/bash
nenjin89:x:1090:1090::/home/nenjin89:/bin/bash
nenjin90:x:1091:1091::/home/nenjin90:/bin/bash
nenjin91:x:1092:1092::/home/nenjin91:/bin/bash
nenjin92:x:1093:1093::/home/nenjin92:/bin/bash
nenjin93:x:1094:1094::/home/nenjin93:/bin/bash
nenjin94:x:1095:1095::/home/nenjin94:/bin/bash
nenjin95:x:1096:1096::/home/nenjin95:/bin/bash
nenjin96:x:1097:1097::/home/nenjin96:/bin/bash
nenjin97:x:1098:1098::/home/nenjin97:/bin/bash
nenjin98:x:1099:1099::/home/nenjin98:/bin/bash
nenjin99:x:1100:1100::/home/nenjin99:/bin/bash
nenjin100:x:1101:1101::/home/nenjin100:/bin/bash
  • ๊ณ„์ • ์ผ๊ด„ ์‚ญ์ œ ํ›„ ํ™•์ธ
[root@localhost ~]# sh /root/usermake.sh 
****** ๊ณ„์ • ์ผ๊ด„ ์ƒ์„ฑ/์‚ญ์ œ ํ”„๋กœ๊ทธ๋žจ ******
1. ๊ณ„์ • ์ผ๊ด„ ์ƒ์„ฑ
2. ๊ณ„์ • ์ผ๊ด„ ์‚ญ์ œ
3. ์ข…๋ฃŒ
๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜์„ธ์š”(1~3) : 2
์‚ญ์ œํ•  ๊ณ„์ •๋ช… : nenjin
์‚ญ์ œํ•  ๊ฐœ์ˆ˜ : 100

[root@localhost ~]# cat /etc/passwd | grep nenjin

(์‚ฌ์šฉ์ž ๊ณ„์ •์ด ์ „๋ถ€ ์‚ญ์ œ๋˜์—ˆ์œผ๋ฏ€๋กœ ํ™•์ธ๋˜์ง€ ์•Š๋Š”๋‹ค)
  • ํ”„๋กœ๊ทธ๋žจ ์ข…๋ฃŒ ๋ฐ ๋‹ค๋ฅธ ์ˆซ์ž ์ž…๋ ฅ์‹œ ์˜ค๋ฅ˜๋ฉ”์„ธ์ง€ ํ™•์ธ
[root@localhost ~]# sh /root/usermake.sh 
****** ๊ณ„์ • ์ผ๊ด„ ์ƒ์„ฑ/์‚ญ์ œ ํ”„๋กœ๊ทธ๋žจ ******
1. ๊ณ„์ • ์ผ๊ด„ ์ƒ์„ฑ
2. ๊ณ„์ • ์ผ๊ด„ ์‚ญ์ œ
3. ์ข…๋ฃŒ
๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜์„ธ์š”(1~3) : 3
ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

[root@localhost ~]# sh /root/usermake.sh 
****** ๊ณ„์ • ์ผ๊ด„ ์ƒ์„ฑ/์‚ญ์ œ ํ”„๋กœ๊ทธ๋žจ ******
1. ๊ณ„์ • ์ผ๊ด„ ์ƒ์„ฑ
2. ๊ณ„์ • ์ผ๊ด„ ์‚ญ์ œ
3. ์ข…๋ฃŒ
๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜์„ธ์š”(1~3) : 4
์ž˜๋ชป๋œ ์ˆซ์ž๋ฅผ ์ž…๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.