66 lines
2.2 KiB
Bash
Executable File
66 lines
2.2 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
Liste=./data/liste
|
|
ID=2000
|
|
tID=2
|
|
|
|
|
|
cp docker-compose.yml.template.head /tmp/docker-compose.yml
|
|
rm /tmp/hostname
|
|
|
|
|
|
for User in $(cat ${Liste} | grep ^[A-Z][A-Z].*\ [A-Z][a-z] | sed "s#[a-z]#|#g" | cut -d"|" -f1 | sed "s#-# #g"| sed "s# \+#-#g")
|
|
do
|
|
tID=$(($tID+1))
|
|
|
|
#if [[ ! -z $(mount | grep ${User}) ]] && [[ "$1" == "del" ]]
|
|
if [[ "$1" == "del" ]]
|
|
then
|
|
umount ./data/students/part/${User}_part
|
|
rmdir ./data/students/part/${User}_part
|
|
rm ./data/students/part/${User}
|
|
else
|
|
if [[ ! -f ./data/students/part/${User} ]]
|
|
then
|
|
echo "Generate $User"
|
|
touch ./data/students/part/${User}
|
|
mkdir ./data/students/part/${User}_part
|
|
truncate -s 200M ./data/students/part/${User} &> /dev/null
|
|
mke2fs -t ext4 -F ./data/students/part/${User} &> /dev/null
|
|
mount ./data/students/part/${User} ./data/students/part/${User}_part
|
|
cp -Rf ./data/skel/. ./data/students/part/${User}_part/
|
|
mkdir ./data/students/part/${User}_part/.gen/
|
|
mv ./data/students/part/${User}_part/backup.sh ./data/students/part/${User}_part/.gen/
|
|
echo "host : ${User^^}" | figlet > /tmp/motd
|
|
echo "---------" | figlet >> /tmp/motd
|
|
echo "Isen 2021 - M 1"| figlet >> /tmp/motd
|
|
cp -rfp ./data/ssh/ ./data/students/part/${User}_part/.gen/.ssh
|
|
cp -rfp ./data/ssh/ ./data/students/part/${User}_part/.ssh
|
|
cp /tmp/motd ./data/students/part/${User}_part/.gen/
|
|
[[ -z $(echo $User | grep -iE "astier|lefebvre|catanese") ]] && rm -f ./data/students/part/${User}_part/.gen/.ssh/id* ./data/students/part/${User}_part/.ssh/id*
|
|
chown -Rf 1000:1000 ./data/students/part/${User}_part/
|
|
echo "10.10.10.${tID} ${User,,}" >> /tmp/hostname
|
|
echo "
|
|
${User}:
|
|
image: isensshbase
|
|
hostname: ${User,,}
|
|
volumes:
|
|
- "./data/students/part/${User}_part:/home/isen"
|
|
networks:
|
|
vpcbr:
|
|
ipv4_address: 10.10.10.${tID}
|
|
" >> /tmp/docker-compose.yml
|
|
fi
|
|
fi
|
|
|
|
done
|
|
|
|
cat docker-compose.yml.template.footer >> /tmp/docker-compose.yml
|
|
cp /tmp/docker-compose.yml .
|
|
for Dir in $( ls -1 ./data/students/part/ | grep _part)
|
|
do
|
|
cp /tmp/hostname ./data/students/part/${Dir}/.gen
|
|
done
|
|
|
|
|