🍨 Bash скрипт для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠΎΡ‡Ρ‚Ρ‹, ΠΊΠΎΠ³Π΄Π° Π² систСмС создаСтся новая учСтная запись ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π’ настоящСС врСмя Π½Π° Ρ€Ρ‹Π½ΠΊΠ΅ доступно мноТСство инструмСнтов для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ, Π² Ρ‚ΠΎΠΌ числС для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСм Linux.

Они ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅, ΠΊΠΎΠ³Π΄Π° систСма достигаСт ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ значСния.

Они ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΡŽΡ‚ всС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, использованиС ЦП, использованиС памяти, использованиС ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ, использованиС дискового пространства ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Но я Π½Π΅ Π΄ΡƒΠΌΠ°ΡŽ, Ρ‡Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ дСйствия ΠΏΠΎ созданию ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Ρ‚ΡŒ ΠΎ Π½ΠΈΡ….

Если Π½Π΅Ρ‚, Ρ‚ΠΎ это Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ значСния, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ собствСнный скрипт bash для достиТСния этой Ρ†Π΅Π»ΠΈ.

Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… скриптов шСлл.

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΈΡ…, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ ΠΏΠΎ ссылках Π½ΠΈΠΆΠ΅:

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ скрипт?

Он отслСТиваСт /var/log/secure ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Π΅Ρ‚ администратора, ΠΊΠΎΠ³Π΄Π° Π² систСмС создаСтся новая учСтная запись.

ΠœΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ часто Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ этот скрипт, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ созданиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ происходит Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ часто.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, я ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ этот скрипт ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π² дСнь.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сводный ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎ создании ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Если Π² Ρ„Π°ΠΉΠ»Π΅ Β«/var/log/secureΒ» для Π²Ρ‡Π΅Ρ€Π°ΡˆΠ½Π΅ΠΉ Π΄Π°Ρ‚Ρ‹ Π±Ρ‹Π»Π° Π½Π°ΠΉΠ΄Π΅Π½Π° строка useradd, скрипт ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ элСктронной ΠΏΠΎΡ‡Ρ‚Π΅ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΡ….

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹ Π½Π° свой собствСнный вмСсто нашСго.

# vi /opt/scripts/new-user.sh



#!/bin/bash



#Set the variable which equal to zero

prev_count=0



count=$(grep -i "`date --date='yesterday' '+%b %e'`" /var/log/secure | egrep -wi 'useradd' | wc -l)



if [ "$prev_count" -lt "$count" ] ; then



# Send a mail to given email id when errors found in log



SUBJECT="ATTENTION: New User Account is created on server : `date --date='yesterday' '+%b %e'`"



# This is a temp file, which is created to store the email message.



MESSAGE="/tmp/new-user-logs.txt"



TO="admin@itsecforu.ru"



echo  "Hostname: `hostname`" >> $MESSAGE



echo -e "n" >> $MESSAGE



echo "The New User Details are below." >> $MESSAGE



echo "+------------------------------+" >> $MESSAGE



grep -i "`date --date='yesterday' '+%b %e'`" /var/log/secure | egrep -wi 'useradd' | grep -v 'failed adding'| awk '{print $4,$8}' | uniq | sed 's/,/ /' >>  $MESSAGE



echo "+------------------------------+" >> $MESSAGE



rm $MESSAGE



mail -s "$SUBJECT" "$TO" < $MESSAGE



fi

УстановитС Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ для Ρ„Π°ΠΉΠ»Π° new-user.sh.

$ chmod +x /opt/scripts/new-user.sh


НаконСц Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ cronjob, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ всС это.

Он Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ дСнь Π² 7 часов.

# crontab -e



0 7 * * * /bin/bash /opt/scripts/new-user.sh

# cat /tmp/logs.txt



Hostname: itsec.server10.com



The New User Details are below.

+------------------------------+

itsec.server10.com name=user1

itsec.server10.com name=user2

+------------------------------+

Β 



2019-07-30T13:21:30
Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹

Π”Ρ€ΡƒΠ·ΡŒΡ ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ этому ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ ΡΡ‚Π°Ρ‚ΡŒ доступнСС Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях.

НС ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈ ΠΌΠΈΠΌΠΎ ΠΆΠΌΠ°ΠΊΠ½ΠΈ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΡƒ Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½!