forked from hyuce/BashProgramingSamples
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsistem_yonetimi_ornek.sh
executable file
·189 lines (159 loc) · 4.67 KB
/
sistem_yonetimi_ornek.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
#İbrahim Varola tarafından oluşturulmuştur.
#Ege Kalkandelen ve Berkant Demirci' ye yardımları için teşekkürlerimi sunarım.
#!/usr/bin/env bash
clear
kullanicilar=(root hyuce ibrahimvarola)
kullanici_sifre=(root 1234 abcd)
kullanici_seviye=(1 1 1)
degisken1=0
secenek=0
kullanici_adi_tanimlama() {
echo -n "Tanımlayacağınız kullanıcının adını giriniz: "
read yeni_kullanici
kullanicilar=("${kullanicilar[@]}" "$yeni_kullanici")
}
kullanici_seviyesi_belirleme() {
while [ 1 ]
do
read -p "Seçmiş olduğunuz ${kullanicilar[$((secenek-1))]} kullanıcısının seviyesini giriniz(1 - 0): " kull_sev
if [ $kull_sev -le 1 ]
then
kullanici_seviye[$((secenek-1))]=$kull_sev
echo "işlem tamam!!"
break
else
echo "Yanlış değer girdiniz, lütfen tekrar deneyiniz."
fi
done
}
kullanici_sifresi_belirleme() {
read -p "Seçmiş olduğunuz ${kullanicilar[$((secenek-1))]} kullanıcısının şifresini belirleyiniz: " kull_pass
kullanici_sifre[$((secenek-1))]=$kull_pass
}
yeni_kullanici_sifresi_belirleme() {
echo -n "Tanımlamış olduğunuz $yeni_kullanici kullanıcısının şifresini belirleyiniz: "
read yeni_kullanici_sifre
kullanici_sifre=("${kullanici_sifre[@]}" "$yeni_kullanici_sifre")
}
yeni_kullanici_seviyesi_belirleme() {
while [ 1 ]
do
echo -n "Tanımlamış olduğunuz $yeni_kullanici kullanıcısının seviyesini belirleyiniz(0 ya da 1): "
read yeni_kullanici_seviye
if [ $yeni_kullanici_seviye -le 1 ]
then
kullanici_seviye=("${kullanici_seviye[@]}" "$yeni_kullanici_seviye")
echo "Kullanıcı $yeni_kullanici sisteme başarıyla tanımlandı!"
break
else
echo "Yanlış değer girdiniz, lütfen tekrar deneyiniz."
fi
done
}
user_root() {
while [ 1 ]
do
echo "-----------------------------------------------------------------------"
echo "1- Yeni kullanıcı tanımlama"
echo "2- Kullanıcı seviyesi belirleme"
echo "3- Kullanıcı şifresi değiştirme-belirleme"
echo "4- Çıkış"
echo -n "İşleminizi giriniz: "
read islem
case $islem in
1)
echo "-----------------------------------------------------------------------"
kullanici_adi_tanimlama
kullanici_sifresi_belirleme
yeni_kullanici_seviyesi_belirleme
;;
2)
clear
while [ 1 ]
do
echo "-----------------------------------------------------------------------"
degisken1=0
kullanici_sayisi=${#kullanicilar[*]}
while [ $degisken1 -lt $kullanici_sayisi ]
do
echo "$((degisken1+1))- ${kullanicilar[$degisken1]}"
degisken1=$((degisken1+1))
done
read -p "Lütfen değişiklik yapmak istediğiniz kullanıcının sahip olduğu numarayı seçiniz: " secenek
if [ $secenek -gt $((degisken1)) -o $secenek -eq 0 ]
then
echo "Yanlış seçenek seçtiniz, lütfen tekrar deneyiniz."
else
kullanici_seviyesi_belirleme
break
fi
done
echo
;;
3)
clear
while [ 1 ]
do
echo "-----------------------------------------------------------------------"
degisken1=0
kullanici_sayisi=${#kullanicilar[*]}
while [ $degisken1 -lt $kullanici_sayisi ]
do
echo "$((degisken1+1))- ${kullanicilar[$degisken1]}"
degisken1=$((degisken1+1))
done
read -p "Lütfen değişiklik yapmak istediğiniz kullanıcının sahip olduğu numarayı seçiniz: " secenek
if [ $secenek -gt $((degisken1)) -o $secenek -eq 0 ]
then
echo "Yanlış seçenek seçtiniz, lütfen tekrar deneyiniz."
else
kullanici_sifresi_belirleme
break
fi
done
echo
;;
4)
exit
;;
5)
degisken1=0
kullanici_sayisi=${#kullanicilar[*]} #kullanicilar dizisinde bulunan elemanların sayisini kullanici_sayisi degiskenine atadı
echo
while [ $degisken1 -lt $kullanici_sayisi ]
do
echo "kad = ${kullanicilar[$degisken1]} ksif= ${kullanici_sifre[$degisken1]} ksev= ${kullanici_seviye[$degisken1]}"
degisken1=$((degisken1+1))
done
;;
*)
echo "Yanlış seçenek numarası girdiniz, tekrar deneyiniz."
;;
esac
done
}
clear
echo "-----------------------------------------------------------------------"
echo "Kullanıcı adınızı Giriniz: "
read kad
echo "-----------------------------------------------------------------------"
echo "Şifrenizi Giriniz: "
read -s sifre
if [ $kad == ibrahimvarola -a $sifre == 1234 ]
then
clear
echo "Hoşgeldiniz İbrahim Bey! Lütfen işlemlerinizi seçiniz: "
if [ $ibrahimvarola_seviye == 1 ]
then
user_root
else
user_user
fi
elif [ $kad == hyuce -a $sifre == 9876 ]
then
clear
echo "Hoşgeldiniz Hüseyin hocam! Lütfen işlemlerinizi seçiniz: "
user_root
else
echo "Lütfen giriş işlemlerinizi kontrol ediniz veya sistem yöneticinizden kayıdınızı yapmasını isteyiniz."
fi