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

##### 3. linuxadmin часть подготовки к экзамену ######

Типичные задачи администратора
Установите пакет httpd
Создайте пользователя и соответствующую группу как webmaster для администратора сайта
Открытый ключ SSH веб-мастера выглядит следующим образом:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBaVwDbVfjWUudsIHLQFdfekvdm2S1eYBCw7tZx0U1+gaXOd5LX2cq3P2YEBImsoUl0c9R0wOlf7w6H1bKLYtaCeyKByiyYUBQyU/VmeFH9RUOw1uJzIuuHaOMVx1GuONzymGhTpiPi0x+2gsBDLtdJCq5AiH/8QHJ7BcNNqgjK8kIHPT6gaaXgboy6hIw5KGOnw1+y9yGRXhRWT4vAjncoK7P1UO3BTcc42OpDOdet1E5iGzYAd6lIF6lpjPuJBTvdYZDt33I6vXCSBBnI8tlx7HPSj0ULP+kHl8MAY2Nqv/aRBG8LQULT/QhmG7+y4LVtASJGnylcMRt1i3ojiIx root@408cd9fb18a8
Скопируйте его в нужное место.

Каталог /var/web больше не нужен, удалите его
Создайте папку для создаваемого веб-сайта: /var/www
Создайте здесь файл index.html с произвольным содержимым
Загрузите следующее изображение в каталог /var/www вместе с HTML-файлом: image
Совет: для загрузки можно использовать команду wget, например

Папка /var/www и все файлы в ней должны принадлежать пользователю и группе webmaster
Установите разрешения на папку /var/www так, чтобы только пользователь webmaster мог писать в нее, но все могли видеть и иметь к ней доступ.
Установите разрешения на файлы в папке /var/www так, чтобы только пользователь и группа webmaster могли читать и писать, все остальные могли читать, и файлы не могли быть запущены

функция admintasks()
{
	yum -y install httpd
	вебмастер группы
	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 something > /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-й экзамен linuxadmin часть #######

Типичные задачи администратора
Создайте нового пользователя с именем mysql-backup и группу с тем же именем

Создайте новый файл в домашней папке mysql-backup с именем hello.txt с любым содержимым

Создайте папку для базы данных в процессе работы: /var/mariadb-data

Загрузите установочный скрипт отсюда: mariadb_repo_setup в /var/setup

Совет: для загрузки можно использовать команду wget, например

Установите права доступа к /var/setup/mariadb_repo_setup так, чтобы каждый мог запустить его и каждый мог прочитать его содержимое, но только пользователь и группа owner могли писать в него

Папка /var/mariadb-data и все файлы в ней должны принадлежать пользователю и группе mysql-backup

Установите разрешения на /var/mariadb-data так, чтобы никто не мог писать в него, но все могли видеть и перечислять его содержимое.

Установите пакет под названием mariadb-server

В контейнере существует каталог /var/web, но он больше не нужен, удалите его и его содержимое

Создайте папку /etc/systemd/system

Создайте файл /etc/systemd/system/mariadb.service со следующим содержимым:

[Сервис].
ExecStart=/usr/sbin/mysqld

функция mysql()
{
	groupadd mysql-backup
	useradd -g mysql-backup mysql-backup
	mkdir -p /home/mysql-backup/
	echo "like content" >/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 ######## ####

 

1) Запретите пользователю root входить в систему через SSH.

#!/usr/bin/bash
#futtatas раньше:
#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"`.

this="#PermitRootLogin prohibit-password
this="PermitRootLogin no"
what="/etc/ssh/sshd_config"

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

2) Функция SElinux выключена.

#!/usr/bin/bash
#futtatas раньше:
#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"`.

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

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

this="SELINUX=enforcing"
this="SELINUX=disabled"
what="/etc/selinux/config"

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

#getenforce
#reboot

3) На сервер добавляется диск, который еще не используется
(20 ГБ). Файловая система должна быть: 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
<<ком

echo "n
p
1


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


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

sudo mkfs.xfs -f /dev/sdb1

4) Добавьте его на машину с точкой монтирования /WEBDATA и меткой тома:
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) В каталоге /WEBDATA создайте портал, интерфейс и корзину.
библиотека.

#!/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) Установите веб-сервер HTTPD, запустите его при загрузке
автоматически.

#!/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) Веб-сервер должен быть доступен на порту 8080. Каталог /WEBDATA/bin
должна быть корневой директорией веб-страницы.

#!/usr/bin/bash
#futtatas раньше:
#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"`.

this="Listen 80"
this="Listen 8080"
what="/etc/httpd/conf/httpd.conf"

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

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

sudo sed -i "s|$his|$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) Создайте здесь index.html с содержимым 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) Создайте учетную запись веб-оператора с основной группой
apache, а его идентификатор - 2000.

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

sudo useradd -u 2000 -g apache weboperator

10) Том /WEBDATA должен принадлежать apache. Содержимое каталога должно полностью принадлежать apache.
разрешение, в то время как члены группы apache имеют доступ только для чтения. Исключением является
каталог портала, который может быть записан веб-оператором. Если у вас нет других идей, вы можете воспользоваться функцией
изменить права собственности на библиотеку портала.

#!/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) Создайте RSA-ключ для входа в систему ssh с помощью веб-оператора
для

#!/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\n\n'|sudo ssh-keygen -t rsa -f /home/weboperator/.ssh/id_rsa
sudo chown -R weboperator /home/weboperator/.ssh

12) Установите FTP-сервер (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) Веб-оператор должен иметь возможность копировать файл по ftp в /WEBDATA/portal.

#!/usr/bin/bash
#futtatas раньше:
#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"`.
this="listen=NO
this="listen=YES"
what="/etc/vsftpd/vsftpd.conf"

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

this="listen_ipv6=YES"
this="listen_ipv6=NO"
в what="/etc/vsftpd/vsftpd.conf"

sudo sed -i "s/$ez/$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) Создайте учетную запись интерфейса с apache в качестве основной группы,
и его ID: 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) Интерфейс должен иметь возможность загружать файлы по ftp в /WEBDATA/interface.

#!/usr/bin/bash
#futtatas раньше:
#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"`.
this="listen=NO
this="listen=YES"
what="/etc/vsftpd/vsftpd.conf"

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

this="listen_ipv6=YES"
this="listen_ipv6=NO"
в what="/etc/vsftpd/vsftpd.conf"

sudo sed -i "s/$ez/$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) Создайте скрипт, который записывает в каталог /root/log файл ioperf.log
IO нагрузка в минуту. Сценарий должен запускаться каждое утро в 6:00 утра и работать до ~20:00 вечера.
фуссон.

#!/bin/bash

1TP4I ЗНАЮ ЧТО ДО 22, НО СЕЙЧАС НЕ ВЕСЕЛО :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) Создайте скрипт, который записывает в /root/log файл cpuperf.log
Загрузка процессора в минуту. Сценарий должен запускаться каждое утро в 6:00 утра и работать до ~20:00 вечера
fusson

#!/bin/bash

1TP4I ЗНАЮ ЧТО ДО 22, НО СЕЙЧАС НЕ ВЕСЕЛО :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"`.