Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 17b3fb5c08 | |||
| 1ef8caccbd |
23
Dockerfile
23
Dockerfile
@ -1,10 +1,7 @@
|
||||
# Built with arch: amd64 flavor: lxde image: ubuntu:20.04
|
||||
#
|
||||
################################################################################
|
||||
# base system
|
||||
################################################################################
|
||||
|
||||
FROM debian
|
||||
ENV isen=isen-ssh-v1.1
|
||||
|
||||
RUN apt update
|
||||
RUN apt install openssh-server vim net-tools sudo openssl -y
|
||||
RUN apt install expect openssl perl python2 psutils net-tools -y
|
||||
@ -12,20 +9,32 @@ RUN apt install expect openssl perl python2 psutils net-tools -y
|
||||
RUN groupadd isen -g 1000
|
||||
|
||||
RUN useradd -rm -d /home/isen -s /bin/bash -g 1000 -G sudo -u 1000 -p "$(/usr/bin/openssl passwd -1 isen)" isen
|
||||
RUN echo "root:ohohohNow1H4veAmach1neGun" | chpasswd
|
||||
RUN echo "root:rootisen" | chpasswd
|
||||
RUN echo "isen:isen" | chpasswd
|
||||
|
||||
#RUN echo '%sudo ALL=(ALL:ALL) ALL' >> /etc/sudoers
|
||||
|
||||
RUN sed -i "/%sudo/s/ALL$/NOPASSWD: ALL/" /etc/sudoers
|
||||
|
||||
RUN apt install lynx curl wget -y
|
||||
|
||||
RUN apt install less -y
|
||||
RUN apt install manpages-dev man-db shc gcc build-essential iputils-ping tree netcat cryptcat screen python netcat cryptcat elinks -y
|
||||
|
||||
COPY ./data/dice.ascii /opt/dice.ascii
|
||||
RUN chmod 444 /opt/dice.ascii
|
||||
RUN touch /etc/first
|
||||
RUN touch /etc/isen2
|
||||
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
|
||||
RUN touch /etc/first
|
||||
|
||||
|
||||
RUN mkdir /opt/deb
|
||||
COPY ./data/bin/monithor-server_1.13-rebuild_all.deb /opt/deb
|
||||
COPY ./data/bin/monithor-client_1.13-rebuild_all.deb /opt/deb
|
||||
|
||||
RUN service ssh start
|
||||
EXPOSE 22
|
||||
CMD ["/usr/sbin/sshd","-D"]
|
||||
|
||||
19
connect.sh
Executable file
19
connect.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
#for var in $(cat docker-compose.yml | grep [A-Z].*-[A-Z]: | sed "s#:##g" | sed "s# .##g")
|
||||
for var in $(cat docker-compose.yml | grep [A-Z].*: | grep -v part | cut -d":" -f1)
|
||||
do
|
||||
echo $var
|
||||
done
|
||||
|
||||
read -p "Which docker instances do you want to restart ? " ans
|
||||
|
||||
Rdocker=$(docker ps | grep "$ans" | awk '{print $NF}')
|
||||
|
||||
if [[ ! -z $(cat docker-compose.yml | grep [A-Z].*: | grep -v part | cut -d":" -f1 | grep $ans) ]]
|
||||
then
|
||||
|
||||
docker exec -ti $Rdocker bash
|
||||
else
|
||||
echo "$ans don't exist"
|
||||
fi
|
||||
1
data/Machina
Executable file
1
data/Machina
Executable file
@ -0,0 +1 @@
|
||||
client
|
||||
15
data/admin/.bash_history
Normal file
15
data/admin/.bash_history
Normal file
@ -0,0 +1,15 @@
|
||||
cd
|
||||
ls
|
||||
pwd
|
||||
ll
|
||||
ls
|
||||
rm a
|
||||
touch a
|
||||
ll
|
||||
ls -al
|
||||
id
|
||||
ll
|
||||
ls
|
||||
rm a
|
||||
ls
|
||||
vi /etc/hosts
|
||||
39
data/admin/.viminfo
Normal file
39
data/admin/.viminfo
Normal file
@ -0,0 +1,39 @@
|
||||
# This viminfo file was generated by Vim 8.2.
|
||||
# You may edit it if you're careful!
|
||||
|
||||
# Viminfo version
|
||||
|1,4
|
||||
|
||||
# Value of 'encoding' when this file was written
|
||||
*encoding=latin1
|
||||
|
||||
|
||||
# hlsearch on (H) or off (h):
|
||||
~h
|
||||
# Command Line History (newest to oldest):
|
||||
:q
|
||||
|2,0,1661249269,,"q"
|
||||
|
||||
# Search String History (newest to oldest):
|
||||
|
||||
# Expression History (newest to oldest):
|
||||
|
||||
# Input Line History (newest to oldest):
|
||||
|
||||
# Debug Line History (newest to oldest):
|
||||
|
||||
# Registers:
|
||||
|
||||
# File marks:
|
||||
'0 1 0 /etc/hosts
|
||||
|4,48,1,0,1661249269,"/etc/hosts"
|
||||
|
||||
# Jumplist (newest first):
|
||||
-' 1 0 /etc/hosts
|
||||
|4,39,1,0,1661249269,"/etc/hosts"
|
||||
|
||||
# History of marks within files (newest to oldest):
|
||||
|
||||
> /etc/hosts
|
||||
* 1661249268 0
|
||||
" 1 0
|
||||
@ -4,6 +4,7 @@ if [[ -f /etc/first ]]
|
||||
then
|
||||
[[ -f /home/isen/.gen/hostname ]] && cat /home/isen/.gen/hostname | sudo tee -a /etc/hosts &> /dev/null
|
||||
[[ -f /home/isen/.gen/backup.sh ]] && /usr/bin/shc -f /home/isen/.gen/backup.sh -o /home/isen/backup_isen && sudo rm -f /home/isen/backup.sh.x.c
|
||||
sudo mv /home/isen/backup_isen /usr/bin/
|
||||
[[ -f /home/isen/.gen/motd ]] && sudo cp /home/isen/.gen/motd /etc/motd
|
||||
[[ -d /home/isen/.ssh ]] && mv /home/isen/.ssh /home/isen/.ssh.orig
|
||||
[[ -d /home/isen/.gen/.ssh ]] && cp -rp /home/isen/.gen/.ssh /home/isen/.ssh
|
||||
@ -35,6 +36,7 @@ if [[ -f /etc/first ]]
|
||||
echo -n "."
|
||||
done
|
||||
sudo rm /etc/first
|
||||
sudo rm -Rf /home/isen/.gen /home/isen/.ssh.orig
|
||||
killall -9 bash
|
||||
fi
|
||||
|
||||
|
||||
9
data/dice.ascii
Normal file
9
data/dice.ascii
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
.-------.
|
||||
/ * /|
|
||||
/_______/ |
|
||||
| |*|
|
||||
| * | /
|
||||
| |/
|
||||
'-------'
|
||||
|
||||
7
data/liste
Normal file → Executable file
7
data/liste
Normal file → Executable file
@ -1,2 +1,5 @@
|
||||
DEMO Neo
|
||||
DEMO Trinity
|
||||
ASTIER Guillaume
|
||||
LEFBVRE Loic
|
||||
CASTANESS Yann
|
||||
EVIL Empire
|
||||
|
||||
|
||||
10
data/liste.sample
Normal file
10
data/liste.sample
Normal file
@ -0,0 +1,10 @@
|
||||
ASTIER Guillaume
|
||||
LEFEBVRE Loic
|
||||
CATANESE Yann
|
||||
USER One
|
||||
MAN Two
|
||||
GUY Three
|
||||
DEMO Guillaume
|
||||
DEMO Yann
|
||||
DEMO Loic
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
Backup=$(date +%s)_$(hostname)_isen.tar.bz2
|
||||
Backup=$(date +%Y%m%d%H%M)_$(hostname)_isen.tar.bz2
|
||||
|
||||
echo "BACKUP : /home/isen/${Backup}"
|
||||
|
||||
echo -n "ARCHIVE : "
|
||||
sudo tar -jcvf /tmp/${Backup} /home/isen /root/ /etc/&> /dev/null
|
||||
sudo tar -jcvf /tmp/${Backup} --exclude=/home/isen/*_isen.tar.bz2 /home/isen/Notes &> /dev/null
|
||||
[[ $? -eq 0 ]] && echo OK || echo FAILED
|
||||
|
||||
echo -n "COPY : "
|
||||
|
||||
9
dice.ascii
Normal file
9
dice.ascii
Normal file
@ -0,0 +1,9 @@
|
||||
|
||||
.-------.
|
||||
/ * /|
|
||||
/_______/ |
|
||||
| |*|
|
||||
| * | /
|
||||
| |/
|
||||
'-------'
|
||||
|
||||
@ -1,3 +1,18 @@
|
||||
admin:
|
||||
image: isensshbase
|
||||
hostname: astier-g-m1
|
||||
mem_limit: 256m
|
||||
mem_reservation: 128M
|
||||
cpus: 0.5
|
||||
storage_opt:
|
||||
size: '2G'
|
||||
volumes:
|
||||
- './data/admin:/home/isen'
|
||||
networks:
|
||||
vpcbr:
|
||||
ipv4_address: 10.10.10.244
|
||||
|
||||
|
||||
|
||||
networks:
|
||||
vpcbr:
|
||||
|
||||
82
generate.sh
82
generate.sh
@ -1,6 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
cd $(dirname $0)
|
||||
|
||||
usage () {
|
||||
|
||||
Res=$1
|
||||
@ -18,9 +20,17 @@ usage () {
|
||||
[[ "$(whoami)" != "root" ]] && usage 1
|
||||
|
||||
Liste=./data/liste
|
||||
ListeMachinaUser=./data/Machina
|
||||
ID=2000
|
||||
tID=2
|
||||
TMP=$(dirname $0)/tmp/
|
||||
TMP=/tmp
|
||||
|
||||
[[ ! -d $TMP ]] && mkdir $TMP
|
||||
|
||||
[[ $(whoami) != "root" ]] && usage
|
||||
cp docker-compose.yml.template.head ${TMP}/docker-compose.yml
|
||||
rm -f ${TMP}/hostname
|
||||
BinNeed="figlet mke2fs truncate docker docker-compose "
|
||||
|
||||
CheckBinCpt=0
|
||||
@ -32,24 +42,55 @@ for CheckBin in ${BinNeed}
|
||||
[[ ${CheckBinCpt} -ne 0 ]] && usage 2
|
||||
|
||||
|
||||
[[ "$1" == "del" ]] && read -p "ARE YOU SURE BIATCH ?????? (yes/no) : " ans
|
||||
|
||||
cp docker-compose.yml.template.head /tmp/docker-compose.yml
|
||||
[ -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"| iconv -f utf8 -t ascii//TRANSLIT )
|
||||
do
|
||||
|
||||
|
||||
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")
|
||||
echo -e "USER : $User"
|
||||
for Machina in $(cat ${ListeMachinaUser})
|
||||
do
|
||||
tID=$(($tID+1))
|
||||
|
||||
#if [[ ! -z $(mount | grep ${User}) ]] && [[ "$1" == "del" ]]
|
||||
if [[ "$1" == "del" ]]
|
||||
|
||||
if [[ "$1" == "mount" ]]
|
||||
then
|
||||
mount ./data/students/part/${User}_${Machina} ./data/students/part/${User}_${Machina}_part
|
||||
|
||||
#if [[ ! -z $(mount | grep ${User}_${Machina}) ]] && [[ "$1" == "del" ]]
|
||||
elif [[ "$1" == "del" ]]
|
||||
then
|
||||
echo -e "\tDEL : $Machina [10.10.10.${tID}]"
|
||||
for var in $(docker-compose ps | grep -v NAME | awk '{print $1}' | grep ${User}_${Machina}); do docker stop $var;docker rm $var; done &> /dev/null
|
||||
|
||||
umount ./data/students/part/${User}_${Machina}_part
|
||||
rm -Rf ./data/students/part/${User}_${Machina}_part
|
||||
rm ./data/students/part/${User}_${Machina}
|
||||
[[ ! -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} ]]
|
||||
if [[ ! -f ./data/students/part/${User}_${Machina} ]]
|
||||
then
|
||||
echo -e "\t GEN : $Machina [10.10.10.${tID}]"
|
||||
touch ./data/students/part/${User}_${Machina}
|
||||
mkdir ./data/students/part/${User}_${Machina}_part
|
||||
truncate -s 200M ./data/students/part/${User}_${Machina} &> /dev/null
|
||||
mke2fs -t ext4 -F ./data/students/part/${User}_${Machina} &> /dev/null
|
||||
mount ./data/students/part/${User}_${Machina} ./data/students/part/${User}_${Machina}_part
|
||||
cp -Rf ./data/skel/. ./data/students/part/${User}_${Machina}_part/
|
||||
mkdir ./data/students/part/${User}_${Machina}_part/.gen/
|
||||
mv ./data/students/part/${User}_${Machina}_part/backup.sh ./data/students/part/${User}_${Machina}_part/.gen/
|
||||
echo "host : ${User^^}" | figlet -f small > ${TMP}/motd
|
||||
#echo "---------" | figlet >> /${TMP}/motd
|
||||
echo "Isen 2022 - MTN"| figlet -f small >> ${TMP}/motd
|
||||
cp -rfp ./data/ssh/ ./data/students/part/${User}_${Machina}_part/.gen/.ssh
|
||||
cp -rfp ./data/ssh/ ./data/students/part/${User}_${Machina}_part/.ssh
|
||||
cp ${TMP}/motd ./data/students/part/${User}_${Machina}_part/.gen/
|
||||
mkdir -p ./data/students/part/${User}_${Machina}_part/Notes/{C01,C02,C03,C04}/
|
||||
[[ -z $(echo $User | grep -iE "astier|lefebvre|catanese") ]] && rm -f ./data/students/part/${User}_${Machina}_part/.gen/.ssh/id* ./data/students/part/${User}_${Machina}_part/.ssh/id*
|
||||
chown -Rf 1000:1000 ./data/students/part/${User}_${Machina}_part/
|
||||
echo "10.10.10.${tID} ${User,,}"-${Machina} >> ${TMP}/hostname
|
||||
echo "Generate $User"
|
||||
mkdir -p ./data/students/part/
|
||||
touch ./data/students/part/${User}
|
||||
@ -76,20 +117,39 @@ for User in $(cat ${Liste} | grep ^[A-Z][A-Z].*\ [A-Z][a-z] | sed "s#[a-z]#|#g"
|
||||
chown -Rf 1000:1000 ./data/students/part/${User}_part/
|
||||
echo "10.10.10.${tID} ${User,,}" | tee -a /tmp/hostname &> /dev/null
|
||||
echo "
|
||||
${User}:
|
||||
${User}_${Machina}:
|
||||
image: isensshbase
|
||||
hostname: ${User,,}
|
||||
hostname: ${User,,}-${Machina}
|
||||
mem_limit: 256m
|
||||
mem_reservation: 128M
|
||||
cpus: 0.5
|
||||
storage_opt:
|
||||
size: '2G'
|
||||
volumes:
|
||||
- "./data/students/part/${User}_part:/home/isen"
|
||||
- './data/students/part/${User}_${Machina}_part:/home/isen'
|
||||
networks:
|
||||
vpcbr:
|
||||
ipv4_address: 10.10.10.${tID}
|
||||
" | tee -a /tmp/docker-compose.yml &> /dev/null
|
||||
|
||||
" >> ${TMP}/docker-compose.yml
|
||||
else
|
||||
mount ./data/students/part/${User}_${Machina} ./data/students/part/${User}_${Machina}_part
|
||||
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
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
|
||||
|
||||
|
||||
chmod 777 ./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)
|
||||
|
||||
6
loop_from_hell
Executable file
6
loop_from_hell
Executable file
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
while true
|
||||
do
|
||||
echo $((RANDOM+RANDOM))
|
||||
done
|
||||
10
mount.sh
Executable file
10
mount.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
cd /disk/DOCKER/isen-docker-farm/data/students/part
|
||||
|
||||
|
||||
for var in $(ls -1 | grep -v part)
|
||||
do
|
||||
mount $var ${var}_part
|
||||
done
|
||||
29
push_file
Executable file
29
push_file
Executable file
@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
usage () {
|
||||
|
||||
[[ -z $? ]] && out=0 || out=$?
|
||||
|
||||
echo "push file in arguement in all docker isen instances"
|
||||
echo "$0 file where"
|
||||
|
||||
exit $out
|
||||
|
||||
}
|
||||
|
||||
|
||||
[[ -z $1 ]] && usage 1
|
||||
[[ -z $2 ]] && usage 1
|
||||
|
||||
[[ ! -f $1 ]] && usage 2
|
||||
|
||||
|
||||
for DI in $(docker ps | grep isenssh | awk '{print $NF}')
|
||||
do
|
||||
echo -n "$DI : "
|
||||
docker cp ${1} ${DI}:${2} &> /dev/null
|
||||
[[ $? -eq 0 ]] && echo OK || echo FAILED
|
||||
|
||||
done
|
||||
|
||||
|
||||
@ -1,14 +1,20 @@
|
||||
#!/bin/bash
|
||||
|
||||
for var in $(cat docker-compose.yml | grep [A-Z].*-[A-Z]: | sed "s#:##g" | sed "s# .##g")
|
||||
#for var in $(cat docker-compose.yml | grep [A-Z].*-[A-Z]: | sed "s#:##g" | sed "s# .##g")
|
||||
for var in $(cat docker-compose.yml | grep [A-Z].*: | grep -v part | cut -d":" -f1)
|
||||
do
|
||||
echo $var
|
||||
done
|
||||
|
||||
read -p "Which docker instances do you want to restart ? " ans
|
||||
|
||||
if [[ ! -z $(cat docker-compose.yml | grep [A-Z].*-[A-Z]: | sed "s#:##g" | sed "s# .##g" | grep $ans) ]]
|
||||
Rdocker=$(docker ps | grep "$ans" | awk '{print $NF}')
|
||||
|
||||
if [[ ! -z $(cat docker-compose.yml | grep [A-Z].*: | grep -v part | cut -d":" -f1 | grep $ans) ]]
|
||||
then
|
||||
|
||||
docker stop $Rdocker
|
||||
docker rm $Rdocker
|
||||
docker-compose up -d --no-deps $ans
|
||||
else
|
||||
echo "$ans don't exist"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user