-
Notifications
You must be signed in to change notification settings - Fork 0
/
jaga.sh
83 lines (75 loc) · 1.75 KB
/
jaga.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
#!/bin/bash
#Autor Juri Kononov, rühm A21
#Bashi kodutöö, teeb võrgusheeri Samba abil.
export LC_ALL=C
#loon konstanti konfi faili backupimiseks.
NOW=$(date +"%Y-%m-%d-%H-%M")-$(shuf -i 1-99 -n 1)
#kontrollin, kas samba on paigaldatud süsteemis või mitt
dpkg -s samba | grep "Status: install ok installed"
if [ $? -eq 0 ]
then
echo "Samba on instaleeritud"
else
echo "Samba ei ole instaleeritud"
apt-get update && apt-get install samba smbclient
fi
#kas kasutaja on root õigustes?
if [ $UID -ne 0 ]
then
echo "Kasutajal pole õigusi skripti käivitamiseks, logi juurkasutajaga"
exit 1
fi
#parameetrite kontroll
KAUST=$1
GRUPP=$2
if [ $# -eq 3 ]
then
SHARE=$3
elif [ $# -eq 2 ]
then
SHARE=$(basename $KAUST)
else
echo "Parameetrid on valesti sisestatud, käivita programm järgnevalt:"
echo "$0 KAUST GRUPP [SHARE]"
exit 1
fi
echo "Jagan kausta $KAUST gruppile $GRUPP nimega $SHARE !"
#gruppi olemasolu kontroll
if [ $(getent group $GRUPP ) ]
then
echo "Grupp eksisteerib"
else
echo "Gruppi ei eksisteeri, loon gruppi"
groupadd $GRUPP
fi
#kausta olemasolu kontroll
if [ -d "$KAUST" ]
then
echo "Kaust on juba olemas" #ajutine veateade
echo "Loon SHARI"
chgrp $GRUPP $KAUST
chmod g+w $KAUST
chmod g+s $KAUST
else
echo "Loon kausta $KAUST"
mkdir $KAUST -p
chgrp $GRUPP $KAUST
chmod g+w $KAUST
chmod g+s $KAUST
fi
#teeme konfidest bacup
cp /etc/samba/smb.conf /etc/samba/smb.conf.old.$NOW
#Kannan andmeid konfifaili
cat >> /etc/samba/smb.conf << end
[$SHARE]
path = $KAUSK
read only = no
valid users = @$GRUPP
force group = $GRUPP
create mask = 770
directory mask = 770
end
#taaskäivitame SMB teenust
service smbd reload
echo "Sheerimiskript on oma tööd edukalt lõpenud."
exit 0