Мы можем отключить сервисы крона в рабочем столе?

Я читал о 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? Действительно ли крон является необходимым сервисом для рабочего стола человечности, или я могу полностью удалить это из своей системы?

2
задан 17 July 2019 в 20:02

2 ответа

Да. НО существует несколько задач, активных в наших системах, и они остановятся также.

Действительно ли крон является необходимым сервисом для рабочего стола человечности, или я могу полностью удалить это из своей системы?

Я предположил бы, что это необходимо, но как всегда с 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).

2
ответ дан 2 December 2019 в 02:11

Примечание: Это для компаний с многомиллионными ежегодными операционными бюджетами. Это заняло бы неделю для установки и требует часа или два после обновлений аудита и еще больше включить новые сценарии от обновления.

В комментариях это было упомянуто 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), в этом случае, я могу закончить его.

2
ответ дан 2 December 2019 в 02:11

Другие вопросы по тегам:

Похожие вопросы: