[UPDATE] - motd & generate
This commit is contained in:
parent
dc4268717c
commit
68bdb162a5
@ -19,7 +19,7 @@ RUN echo "isen:isen" | chpasswd
|
||||
RUN sed -i "/%sudo/s/ALL$/NOPASSWD: ALL/" /etc/sudoers
|
||||
|
||||
RUN apt install less -y
|
||||
RUN apt install manpages-dev man-db shc gcc build-essential -y
|
||||
RUN apt install manpages-dev man-db shc gcc build-essential iputils-ping nmap -y
|
||||
COPY ./data/bin/firstconnect /usr/bin/firstconnect
|
||||
RUN chmod 755 /usr/bin/firstconnect
|
||||
RUN chown root:root /usr/bin/firstconnect
|
||||
|
||||
@ -12,6 +12,13 @@ NAME Surname
|
||||
NAME2 Surname2
|
||||
```
|
||||
|
||||
## Motd
|
||||
|
||||
You can add a specific motd to copy on insances
|
||||
|
||||
You can use specfic tag '__MOTD__' in your motd which be replaced by the NAMES of data/liste
|
||||
|
||||
|
||||
## Build Docker image
|
||||
|
||||
```
|
||||
|
||||
12
data/liste
12
data/liste
@ -1,10 +1,2 @@
|
||||
ASTIER Guillaume
|
||||
LEFEBVRE Loic
|
||||
CATANESE Yann
|
||||
USER One
|
||||
MAN Two
|
||||
GUY Three
|
||||
DEMO Guillaume
|
||||
DEMO Yann
|
||||
DEMO Loic
|
||||
|
||||
DEMO Neo
|
||||
DEMO Trinity
|
||||
|
||||
45
generate.sh
45
generate.sh
@ -1,12 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
usage () {
|
||||
|
||||
[[ $1 -eq 1 ]] && echo "root for use"
|
||||
exit $1
|
||||
|
||||
}
|
||||
|
||||
[[ "$(whoami)" != "root" ]] && usage 1
|
||||
|
||||
Liste=./data/liste
|
||||
ID=2000
|
||||
tID=2
|
||||
|
||||
|
||||
cp docker-compose.yml.template.head /tmp/docker-compose.yml
|
||||
rm /tmp/hostname
|
||||
[ -f /tmp/hostname ] && 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")
|
||||
@ -16,30 +26,37 @@ for User in $(cat ${Liste} | grep ^[A-Z][A-Z].*\ [A-Z][a-z] | sed "s#[a-z]#|#g"
|
||||
#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}
|
||||
[[ ! -z $(mount | grep ${User}_part) ]] && umount ./data/students/part/${User}_part
|
||||
[[ -d ./data/students/part/${User}_part ]] && rm -Rf ./data/students/part/${User}_part
|
||||
[[ -f ./data/students/part/${User} ]] && rm ./data/students/part/${User}
|
||||
else
|
||||
if [[ ! -f ./data/students/part/${User} ]]
|
||||
then
|
||||
echo "Generate $User"
|
||||
mkdir -p ./data/students/part/
|
||||
touch ./data/students/part/${User}
|
||||
mkdir ./data/students/part/${User}_part
|
||||
mkdir -p ./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/
|
||||
mkdir -p ./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
|
||||
if [[ -f ./data/motd ]]
|
||||
then
|
||||
cat ./data/motd | sed "s#__MOTD__#$User#g" | figlet | tee ./data/students/part/${User}_part/.gen/motd &> /dev/null
|
||||
|
||||
else
|
||||
echo "host : ${User^^}" | figlet | tee /tmp/motd &> /dev/null
|
||||
echo "---------" | figlet | tee -a /tmp/motd &> /dev/null
|
||||
echo "Isen 2021 - M 1"| figlet | tee -a /tmp/motd &> /dev/null
|
||||
cp /tmp/motd ./data/students/part/${User}_part/.gen/
|
||||
fi
|
||||
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 "10.10.10.${tID} ${User,,}" | tee -a /tmp/hostname &> /dev/null
|
||||
echo "
|
||||
${User}:
|
||||
image: isensshbase
|
||||
@ -49,17 +66,17 @@ for User in $(cat ${Liste} | grep ^[A-Z][A-Z].*\ [A-Z][a-z] | sed "s#[a-z]#|#g"
|
||||
networks:
|
||||
vpcbr:
|
||||
ipv4_address: 10.10.10.${tID}
|
||||
" >> /tmp/docker-compose.yml
|
||||
" | tee -a /tmp/docker-compose.yml &> /dev/null
|
||||
fi
|
||||
fi
|
||||
|
||||
done
|
||||
|
||||
cat docker-compose.yml.template.footer >> /tmp/docker-compose.yml
|
||||
cat docker-compose.yml.template.footer | tee -a /tmp/docker-compose.yml &> /dev/null
|
||||
cp /tmp/docker-compose.yml .
|
||||
for Dir in $( ls -1 ./data/students/part/ | grep _part)
|
||||
do
|
||||
cp /tmp/hostname ./data/students/part/${Dir}/.gen
|
||||
[[ -f /tmp/hostname ]] && cp /tmp/hostname ./data/students/part/${Dir}/.gen
|
||||
done
|
||||
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user