Я читал о EvilGnome и как он угоняет систему. Одна из интересной вещи, которую я считал, была то, как это использует crontab
Имплантат Linux также получает персистентность в целенаправленной системе с помощью crontab, подобный планировщику задач окон, и отправляет украденные пользовательские данные на удаленный управляемый взломщиками сервер.
В моем рабочем столе человечности I самостоятельно не имеет никаких пользовательских заданий крона, но когда я сделал service cron status
это возвратило некоторые результаты.
systemd[1]: Started Regular background program processing daemon.
cron[916]: (CRON) INFO (pidfile fd = 3)
cron[916]: (CRON) INFO (Running @reboot jobs)
CRON[19931]: pam_unix(cron:session): session opened for user root by (uid=0)
CRON[19932]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly)
CRON[19931]: pam_unix(cron:session): session closed for user root
Моим вопросом является банка, как которая я отключаю задания крона что-то sudo systemctl disable cron.service
? Действительно ли крон является необходимым сервисом для рабочего стола человечности, или я могу полностью удалить это из своей системы?
Да. НО существует несколько задач, активных в наших системах, и они остановятся также.
Действительно ли крон является необходимым сервисом для рабочего стола человечности, или я могу полностью удалить это из своей системы?
Я предположил бы, что это необходимо, но как всегда с Linux... Ваш выбор решить :) Мог бы я предлагать другой метод: почему бы не отметить изменения в/etc/cron*/,/etc/crontab и/var/spool/cron/crontabs//? Это могло бы быть намного меньшей проблемой, поскольку Вы добираетесь, чтобы хранить верность нормальной активной работе крона. Просто потребность создать сторожевой таймер и отпустить его на тех каталогах.
Информация о кроне от моей системы (Ваша могла бы иметь больше, то же или меньше действий)...
$ ls /etc/cron.daily/
0anacron cracklib-runtime man-db samba
apport dpkg mlocate update-notifier-common
apt-compat google-chrome passwd
bsdmainutils logrotate popularity-contest
$ ls /etc/cron.weekly/
0anacron man-db update-notifier-common
$ ls /etc/cron.monthly/
0anacron
Так обычно я занимался бы расследованиями, любой из них (как конкурс популярности все великолепно, но я мог жить без него). mlocate могла бы быть проблема: тот обновляет определять местоположение команду, так могло быть полезным. И так далее. КАЖДЫЙ из них Вы могли работать вручную.
Каждый из файлов будет иметь объяснение:
rinzwind@schijfwereld:~$ more /etc/cron.monthly/0anacron
#!/bin/sh
#
# anacron's cron script
#
# This script updates anacron time stamps. It is called through run-parts
# either by anacron itself or by cron.
#
# The script is called "0anacron" to assure that it will be executed
# _before_ all other scripts.
test -x /usr/sbin/anacron || exit 0
anacron -u cron.monthly
anacron имеет свой собственный сервис:
$ systemctl list-unit-files | grep cron
anacron.service enabled
cron.service enabled
anacron.timer enabled
Теперь для команды (останавливаются и запускаются):
sudo systemctl stop crond.service
sudo systemctl start crond.service
sudo systemctl stop anacron.service
sudo systemctl start anacron.service
sudo systemctl stop anacron.timer
sudo systemctl start anacron.timer
(Я не протестировал каждого из них ;))
Плюс существуют больше, чем это: пользовательский крон также активен; можно отключить тех, которые имеют...
sudo touch /var/spool/cron/crontabs/$USER
sudo chmod 0 /var/spool/cron/crontabs/$USER
для каждого пользователя в Вашей системе (делают копии файлов, таким образом, можно восстановить их, если Вы хотите восстановить их) (странно я не нашел systemd сервис для пользовательских кронов и я сомневаюсь, что с нею имеют дело от cron.service).
Примечание: Это для компаний с многомиллионными ежегодными операционными бюджетами. Это заняло бы неделю для установки и требует часа или два после обновлений аудита и еще больше включить новые сценарии от обновления.
В комментариях это было упомянуто logrotate
ежедневно называется. Это - важная часть Ubuntu для подавления файлов журнала к размеру. Если Вы так обеспокоены cron
Вы вытягиваете его fro mservice, необходимо было бы создать собственный сценарий, который подражал cron
. Я назову этот сценарий crony
. Можно сохранить заблокированным вниз в месте, хакеры не думали бы для поиска его.
Давайте посмотрим на файлы в /etc/cron.daily
:
-rwxr-xr-x 1 root root 311 Feb 19 2014 0anacron*
-rwxr-xr-x 1 root root 376 Apr 4 2014 apport*
-rwxr-xr-x 1 root root 1474 Oct 31 2016 apt-compat*
-rwxr-xr-x 1 root root 314 Nov 26 2015 aptitude*
-rwxr-xr-x 1 root root 355 Jun 4 2013 bsdmainutils*
-rwxr-xr-x 1 root root 384 Mar 23 2014 cracklib-runtime*
-rwxr-xr-x 1 root root 1597 Nov 26 2015 dpkg*
lrwxrwxrwx 1 root root 37 Jun 4 01:43 google-chrome -> /opt/google/chrome/cron/google-chrome*
-rwxr-xr-x 1 root root 7613 Jan 17 2017 google-earth*
-rwxr-xr-x 1 root root 13944 Mar 4 17:48 google-earth-pro*
-rwxr-xr-x 1 root root 372 Jan 22 2014 logrotate*
-rwxr-xr-x 1 root root 1293 Nov 6 2015 man-db*
-rwxr-xr-x 1 root root 435 Jun 20 2013 mlocate*
-rwxr-xr-x 1 root root 249 Feb 16 2014 passwd*
-rw-r--r-- 1 root root 102 Feb 9 2013 .placeholder
-rwxr-xr-x 1 root root 3449 Feb 26 2016 popularity-contest*
-rwxr-xr-x 1 root root 383 Mar 7 2016 samba*
-rwxr-xr-x 1 root root 214 Apr 9 2014 update-notifier-common*
-rwxr-xr-x 1 root root 1046 May 19 2016 upstart*
Сценарий mlocate
Я даже ежедневно не использую. У меня есть выполняемый каждые 15 минут, потому что ежедневно не достаточно на мой вкус. сценарий popularity-contest
отчасти похож на шпионское ПО, таким образом, я не назвал бы его с crony
если я заменял cron
.
Я назвал бы все моим crony
документы на получение от /etc/rc.local
но существуют другие способы сделать его.
Формат был бы похож на это:
$ cat /etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Jan 05 2018 - Reload Logitech Unifying Receiver to get Mouse in Power Stats
modprobe -r hid_logitech_dj
modprobe hid_logitech_dj
# Call crony to mimick cron's duties
# daemonize job boot delay sleep interval
crony /etc/cron.daily/mlocate 1m 15m &
crony /etc/cron.daily/logrotate 30m d &
crony /mnt/e/usr/local/bin/daily-backup 5m d &
corny /usr/local/bin/eyesome-sun.sh 1m d &
exit 0
Это - то, что типовая установка имеет для записей, которые уже являются установкой в /etc/rc.local
наряду с новым crony
записи после них. Последние два из моего crony
записи являются пользовательскими сценариями, в которых имеет моя машина /etc/cron.daily
#!/bin/bash
# NAME: crony
# PATH: /usr/local/bin
# DATE: July 17, 2019
# NOTE: For Ask Ubuntu: https://askubuntu.com/questions/1159014/can-we-disable-cron-services-in-desktop
logger "$0"
sleep "$2"
while true; do
"$1"
# If if parameter 2 is "d" for 1 day interval we can't sleep for a day
# because laptop may have been suspended. Use 10 minutes to minimize resources
sleep 10m
# Check if time to process job again. If not continue
continue
done
crony
для сценария нужно больше работы, но Вы в общих чертах понимаете. Это может или не может быть хорошим проектом для WSL (Windows Subsystem для Linux), в этом случае, я могу закончить его.