https://github.com/green-fox-academy/safely-syllabus/tree/master/materialreview/scripts/bash

##### 3. vizsgafelkészítő linuxadmin része #####

Tipikus Admin feladatok
Telepítsd a httpd csomagot
Hozz létre egy usert és a hozzá tartozó csoportot a weboldalak adminisztrátorának webmaster néven
A webmaster SSH publikus kulcsa ez:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBaVwDbVfjWUudsIHLQFdfekvdm2S1eYBCw7tZx0U1+gaXOd5LX2cq3P2YEBImsoUl0c9R0wOlf7w6H1bKLYtaCeyKByiyYUBQyU/VmeFH9RUOw1uJzIuuHaOMVx1GuONzymGhTpiPi0x+2gsBDLtdJCq5AiH/8QHJ7BcNNqgjK8kIHPT6gaaXgboy6hIw5KGOnw1+y9yGRXhRWT4vAjncoK7P1UO3BTcc42OpDOdet1E5iGzYAd6lIF6lpjPuJBTvdYZDt33I6vXCSBBnI8tlx7HPSj0ULP+kHl8MAY2Nqv/aRBG8LQULT/QhmG7+y4LVtASJGnylcMRt1i3ojiIx root@408cd9fb18a8
Másold a megfelelő helyre.

A /var/web könyvtárra már nincs szükség, töröld
Hozz létre egy mappát egy készülő weboldalnak: /var/www
Hozz létre egy index.html fájlt ide tetszőleges tartalommal
Töltsd le a következő képet a HTML fájl mellé a /var/www könyvtárba: kép
Tipp: letöltéshez használhatod például a wget parancsot

A /var/www mappa, és a benne lévő összes fájl tulajdonosa legyen a webmaster user és csoport
A /var/www mappa jogosultságait úgy állítsd be, hogy csak a webmaster user tudja írni, viszont mindenki láthassa és be tudjon lépni a könyvtárba.
A /var/www mappán belüli fájlok jogosultságát úgy állítsd be, hogy a webmaster user és group tudja írni és olvasni, mindenki más tudja olvasni, és ne lehessen futtatni a fájlokat

function admintasks()
{
	yum -y install httpd
	groupadd webmaster
	useradd -g webmaster webmaster
	#mkdir -p ~/.ssh
	mkdir -p /home/webmaster/.ssh
	touch /home/webmaster/.ssh/authorized_keys

	echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBaVwDbVfjWUudsIHLQFdfekvdm2S1eYBCw7tZx0U1+gaXOd5LX2cq3P2YEBImsoUl0c9R0wOlf7w6H1bKLYtaCeyKByiyYUBQyU/VmeFH9RUOw1uJzIuuHaOMVx1GuONzymGhTpiPi0x+2gsBDLtdJCq5AiH/8QHJ7BcNNqgjK8kIHPT6gaaXgboy6hIw5KGOnw1+y9yGRXhRWT4vAjncoK7P1UO3BTcc42OpDOdet1E5iGzYAd6lIF6lpjPuJBTvdYZDt33I6vXCSBBnI8tlx7HPSj0ULP+kHl8MAY2Nqv/aRBG8LQULT/QhmG7+y4LVtASJGnylcMRt1i3ojiIx root@408cd9fb18a8 >> /home/webmaster/.ssh/authorized_keys
	rm -rf /var/web
	mkdir /var/www
	echo valami > /var/www/index.html
	wget https://upload.wikimedia.org/wikipedia/commons/9/92/Penguin_Admin.svg -P /var/www
	chown webmaster:webmaster /var/www
	chmod a+rx,u+w /var/www
	chmod -R a=r,ug=rw /var/www/*

}

##### 3. vizsga linuxadmin része #####

Tipikus Admin feladatok
Hozz létre egy új felhasználót mysql-backup néven, és a hozzá tartozó csoportot ugyanezen a néven

Hozz létre egy új fájlt a mysql-backup home mappájában hello.txt néven tetszőleges tartalommal

Hozz létre egy mappát egy készülő adatbázisnak: /var/mariadb-data

Tölts le egy telepítő scriptet innen: mariadb_repo_setup a /var/setup mappába

Tipp: letöltéshez használhatod például a wget parancsot

Állítsd be a /var/setup/mariadb_repo_setup jogosultságait úgy, hogy mindenki tudja futtatni, és mindenki tudja olvasni a tartalmát , de csak a tulajdonos user és csoport tudja írni

A /var/mariadb-data mappa, és a benne lévő összes fájl tulajdonosa legyen a mysql-backup user és csoport

A /var/mariadb-data mappa jogosultságait úgy állítsd be, hogy senki ne tudja írni, viszont mindenki láthassa és tudja listázni a tartalmát.

Telepítsd a mariadb-server nevű csomagot

A konténerben létezik egy /var/web könyvtár, azonban már nincs rá szükség, töröld a tartalmával együtt

Hozd létre a /etc/systemd/system mappát

Hozd létre a /etc/systemd/system/mariadb.service fájlt az alábbi tartalommal:

[Service]
ExecStart=/usr/sbin/mysqld

function mysql()
{
	groupadd mysql-backup
	useradd -g mysql-backup mysql-backup
	mkdir -p /home/mysql-backup/
	echo "tetszoleges tartalom" >/home/mysql-backup/hello.txt
	mkdir /var/mariadb-data
	wget https://downloads.mariadb.com/MariaDB/mariadb_repo_setup -P /var/setup
	chmod -R a=rx,ug+w /var/setup/mariadb_repo_setup
	chown mysql-backup:mysql-backup /var/mariadb-data
	chown mysql-backup:mysql-backup /var/mariadb-data/*
	chmod -R a=rx,a-w /var/mariadb-data
	yum -y install mariadb-server
	rm -rf /var/web
	mkdir /etc/systemd/system
	echo -e "[Service]\nExecStart=/usr/sbin/mysqld" > /etc/systemd/system/mariadb.service
}

mysql

###### LINUXadmin projektfeladatok #####

 

1) Tiltsuk le, hogy a root user SSH-n be tudjon lépni.

#!/usr/bin/bash
#futtatas elott:
#chmod a+x ~/Megoldasaim/Linux-Admin/001.sh
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config-_`date +"%Y%m%d_%H%M%S"`

ezt="#PermitRootLogin prohibit-password"
erre="PermitRootLogin no"
miben="/etc/ssh/sshd_config"

sed -i "s/$ezt/$erre/g" $miben

2) SElinux funkciót kapcsoljuk ki.

#!/usr/bin/bash
#futtatas elott:
#chmod a+x ~/Megoldasaim/Linux-Admin/001.sh
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config-_`date +"%Y%m%d_%H%M%S"`

ezt="#PermitRootLogin prohibit-password"
erre="PermitRootLogin yes"
miben="/etc/ssh/sshd_config"

sed -i "s/$ezt/$erre/g" $miben
[User3@linux9 Linux-Admin]$ nano 001.sh
[User3@linux9 Linux-Admin]$ cat 002.sh
#!/usr/bin/bash
#futtatas elott:
#chmod a+x ~/Megoldasaim/Linux-Admin/002.sh
sudo cp /etc/selinux/config /etc/selinux/config-_`date +"%Y%m%d_%H%M%S"`

ezt="SELINUX=enforcing"
erre="SELINUX=disabled"
miben="/etc/selinux/config"

sudo sed -i "s/$ezt/$erre/g" $miben

#getenforce
#reboot

3) A szerverhez hozzá van adva egy disk, ami még nincs használatban
(20GB). A fájl rendszer legyen: XFS

#!/bin/bash
#elotte:
#chmod a+x ~/Megoldasaim/Linux-Admin/003.sh

sudo ls /sys/class/scsi_host | sudo awk '{print "echo \"- - -\" > /sys/class/scsi_host/" $1 "/scan" }' | sudo /usr/bin/bash

lsblk

#(echo n; echo p;echo ""; echo ""; echo ""; echo w )| sudo fdisk /dev/sdb
<<com

echo "n
p
1


w
"|sudo fdisk /dev/sdb
com
#sudo sfdisk /dev/sdb


echo -e 'n\np\n\n\n\nw\n'|sudo fdisk /dev/sdb
echo --------------------------------------------------------------------------------------------

sudo mkfs.xfs -f /dev/sdb1

4) Adja hozzá a géphez /WEBDATA mount point-tal, a kötet címkéje pedig:
WEBDATA

#!/bin/bash
#elotte:
#chmod a+x ~/Megoldasaim/Linux-Admin/004.sh
sudo mkfs.xfs -f /dev/sdb1 -L WEBDATA
sudo mkdir -p /WEBDATA
sudo mount /dev/sdb1 /WEBDATA

5) A /WEBDATA könyvtár alatt hozz létre egy portal, egy interface és egy bin
nevű könyvtárat.

#!/bin/bash
#elotte:
#chmod a+x ~/Megoldasaim/Linux-Admin/004.sh

sudo mkdir -p /WEBDATA/portal
sudo mkdir -p /WEBDATA/interface
sudo mkdir -p /WEBDATA/bin

6) Installáld fel a HTTPD web szervert, gép indulásakor induljon
automatikusan.

#!/bin/bash
#elotte:
#chmod a+x ~/Megoldasaim/Linux-Admin/006.sh

sudo yum -y install httpd
sudo systemctl enable httpd.service
sudo systemctl start httpd.service
sudo systemctl status httpd.service

7) A web szerver a 8080-as porton legyen elérhető. A /WEBDATA/bin könyvtár
legyen a web oldal root dirtectory-ja.

#!/usr/bin/bash
#futtatas elott:
#chmod a+x ~/Megoldasaim/Linux-Admin/007.sh
sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf-_`date +"%Y%m%d_%H%M%S"`

ezt="Listen 80"
erre="Listen 8080"
miben="/etc/httpd/conf/httpd.conf"

sudo sed -i "s/$ezt/$erre/g" $miben

ezt="/var/www/html"
erre="/WEBDATA/bin"
miben="/etc/httpd/conf/httpd.conf"

sudo sed -i "s|$ezt|$erre|g" $miben

sudo systemctl restart httpd.service

sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

8) Hozz létre itt egy index.html-et, tartalma legyen: PORTAL.

#!/bin/bash
#elotte:
#chmod a+x ~/Megoldasaim/Linux-Admin/008.sh

sudo touch /WEBDATA/bin/index.html
sudo echo "PORTAL" | sudo tee /WEBDATA/bin/index.html
sudo chown apache:apache /WEBDATA/bin/index.html

9) Hozzon létre egy weboperator account-ot, aminek az elsődleges csoportja az
apache, és az ID-ja: 2000.

#chmod a+x ~/Megoldasaim/Linux-Admin/009.sh

sudo useradd -u 2000 -g apache weboperator

10) /WEBDATA kötet tulajdonosa legyen apache. A könyvtár tartalmát apache teljes
joggal, míg az apache csoport tagjai csak olvasási joggal láthatják. Ez alól kivételt a
portal könyvtár jelent, amit a weboperator írhat is. Ha nincs más ötleted, akkor a
tulajdonosi jogokon módosíthatsz a portal könyvtár esetében.

#!/bin/bash
#elotte:
#chmod a+x ~/Megoldasaim/Linux-Admin/010.sh

sudo chown apache:apache /WEBDATA
sudo chmod -R u+rwx,g+r /WEBDATA
sudo setfacl -m u:weboperator:rw /WEBDATA/portal

11) Hozz létre egy ssh-s belépéshez használható RSA kulcsot a weboperator
számára .

#!/bin/bash
#elotte:
#chmod a+x ~/Megoldasaim/Linux-Admin/002.sh

sudo mkdir -p /home/weboperator/.ssh
sudo echo -e 'y\n\n\n\n'|sudo ssh-keygen -t rsa -f /home/weboperator/.ssh/id_rsa
sudo chown -R weboperator /home/weboperator/.ssh

12) Installálj egy FTP szervert (vsftpd).

#!/bin/bash
#elotte:
#chmod a+x ~/Megoldasaim/Linux-Admin/012.sh

sudo yum -y install vsftpd
sudo systemctl start vsftpd.service
sudo systemctl status vsftpd.service

13) A weboperator tudjon file-t felmásolni ftp-n a /WEBDATA/portal könyvtárba.

#!/usr/bin/bash
#futtatas elott:
#chmod a+x ~/Megoldasaim/Linux-Admin/013.sh

#https://www.ryadel.com/en/vsftpd-configure-different-home-folder-each-user-specific-directory/

sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf-_`date +"%Y%m%d_%H%M%S"`
ezt="listen=NO"
erre="listen=YES"
miben="/etc/vsftpd/vsftpd.conf"

sudo sed -i "s/$ezt/$erre/g" $miben

ezt="listen_ipv6=YES"
erre="listen_ipv6=NO"
miben="/etc/vsftpd/vsftpd.conf"

sudo sed -i "s/$ezt/$erre/g" $miben


sudo echo "userlist_deny=NO
local_enable=YES
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/user_config_dir/" | sudo tee -a /etc/vsftpd/vsftpd.conf

sudo cp /etc/vsftpd/user_list /etc/vsftpd/user_list-_`date +"%Y%m%d_%H%M%S"`


sudo echo "weboperator" | sudo tee -a /etc/vsftpd/user_list

sudo mkdir /etc/vsftpd/user_config_dir/

sudo cp /etc/vsftpd/user_config_dir/weboperator /etc/vsftpd/user_config_dir/weboperator-_`date +"%Y%m%d_%H%M%S"`

sudo touch /etc/vsftpd/user_config_dir/weboperator

sudo echo "local_root=/WEBDATA/portal
write_enable=YES" | sudo tee /etc/vsftpd/user_config_dir/weboperator

sudo systemctl restart vsftpd.service

sudo firewall-cmd --permanent --zone=public --add-service=ftp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

14) Hozz létre egy interface account-ot, aminek az elsődleges csoportja az apache,
és az ID-ja: 2001.

#!/bin/bash
#elotte:
#chmod a+x ~/Megoldasaim/Linux-Admin/014.sh

sudo useradd -u 2001 -g apache interface
sudo echo -e 'Password1\nPassword1'|sudo passwd interface

15) Az interface tudjon file-t felmásolni ftp-n a /WEBDATA/interface könyvtárba.

#!/usr/bin/bash
#futtatas elott:
#chmod a+x ~/Megoldasaim/Linux-Admin/015.sh

sudo setfacl -m u:interface:rwx /WEBDATA/interface


sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf-_`date +"%Y%m%d_%H%M%S"`
ezt="listen=NO"
erre="listen=YES"
miben="/etc/vsftpd/vsftpd.conf"

sudo sed -i "s/$ezt/$erre/g" $miben

ezt="listen_ipv6=YES"
erre="listen_ipv6=NO"
miben="/etc/vsftpd/vsftpd.conf"

sudo sed -i "s/$ezt/$erre/g" $miben


sudo cp /etc/vsftpd/user_list /etc/vsftpd/user_list-_`date +"%Y%m%d_%H%M%S"`


sudo echo "interface" | sudo tee -a /etc/vsftpd/user_list

sudo mkdir /etc/vsftpd/user_config_dir/

sudo cp /etc/vsftpd/user_config_dir/interface /etc/vsftpd/user_config_dir/interface-_`date +"%Y%m%d_%H%M%S"`

sudo touch /etc/vsftpd/user_config_dir/interface

sudo echo "local_root=/WEBDATA/interface
write_enable=YES" | sudo tee /etc/vsftpd/user_config_dir/interface

sudo systemctl restart vsftpd.service

sudo firewall-cmd --permanent --zone=public --add-service=ftp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

16) Hozz létre script-et, ami a /root/log könyvtárba ioperf.log néven kiírja
percenkénti IO terhelést.A script induljon minden reggel 6-kor, és este ~20:00-ig
fusson.

#!/bin/bash

#TUDOM, HOGY 22-ig  KELLETT, DE AKKOR MOST NEM FUTNA :D 21:04

#elotte:
#chmod a+x ~/Megoldasaim/Linux-Admin/016.sh



sudo mkdir /root/log

echo "#!/bin/bash
sudo iostat | sudo tee -a /root/log/ioperf.log"| sudo tee ~/iostatbash.sh

sudo chmod a+x ~/iostatbash.sh


echo "*/1 6-22 * * * ~/iostatbash.sh"| tee -a ~/crontab-_`date +"%Y%m%d_%H%M"`

crontab ~/crontab-_`date +"%Y%m%d_%H%M"`

17) Hozz létre script-et, ami a /root/log könyvtárba cpuperf.log néven kiírja
percenkénti CPU terhelést. A script induljon minden reggel 6-kor, és este ~20:00-ig
fusson

#!/bin/bash

#TUDOM, HOGY 22-ig  KELLETT, DE AKKOR MOST NEM FUTNA :D 21:04

#elotte:
#chmod a+x ~/Megoldasaim/Linux-Admin/017.sh

sudo mkdir /root/log

echo "#!/bin/bash
sudo top -b -n 1 | sudo tee -a /root/log/cpuperf.log" | sudo tee ~/cpustatbash.sh

sudo chmod a+x ~/cpustatbash.sh

echo "*/1 6-22 * * * ~/cpustatbash.sh"| tee -a ~/crontab-_`date +"%Y%m%d_%H%M"`

crontab ~/crontab-_`date +"%Y%m%d_%H%M"`