Несмотря на привилегию выполнения, получение разрешения запрещено

Если вы хотите убедиться, что cron не будет запускать что-то, что будет мешать или вызывать проблемы во время обновления, временно остановите демон cron перед обновлением а потом снова запустите.

То, как именно вы это делаете, зависит от вашей системы. например в системе sysvinit вы должны использовать /etc/init.d/cron stop и /etc/init.d/cron start . Если вы используете systemd , вы должны использовать systemctl stop cron.service и systemctl start cron.service

4
28.04.2017, 20:14
1 ответ

Убедитесь, что noexec не влияет на рассматриваемую точку монтирования. Или выберите лучшее место для запуска вашего скрипта.

$ mount | grep noexec
[ snip ]
shm on /dev/shm type tmpfs (rw,nosuid,nodev,noexec,relatime)
$ cat > /dev/shm/some_script
#!/bin/sh
echo hi
$ chmod +x /dev/shm/some_script
$ /dev/shm/some_script
bash: /dev/shm/some_script: Permission denied
$ mv /dev/shm_script .
$ ./some_script
hi

noexec существует специально для предотвращения проблем с безопасностью, возникающих из-за того, что исполняемые файлы хранятся в доступных для записи местах; вы можете поместить туда файл, но кто-то другой может переписать его до того, как вы его выполните, и теперь вы выполняете не тот код, о котором думали.

9
27.01.2020, 20:50

Теги

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