борьба с разрешениями Linux (снова) [закрыто]

У меня есть сценарий на моем Сервер Centos, который должен удалять вновь созданные файлы журналов. Он содержит следующее:

cd /var/log/kloxo
rm maillog-* courier-* pureftp.log-* smtp.log-*

.. этот скрипт имеет следующие права собственности / права:

-bash-3.2# ls -l /home/admin/cronscripts/logDeleteCronJob.sh
-rwxr-xr-x 1 root root 79 Jan 16 12:26 /home/admin/cronscripts/logDeleteCronJob.sh

.. целевая папка выглядит так:

drwxr-xr-x 2 root     root        4096 Jan 20 03:39 kloxo

.. и содержимое папки выглядит так (эти разрешения автоматически устанавливаются сервер, когда создаются файлы журнала):

-bash-3.2# ls -l /var/log/kloxo/
total 562064
-rw-r--r-- 1 root root 127423120 Jan 20 08:57 courier
-rw-r--r-- 1 root root 127145668 Jan 19 03:42 courier-1
-rw-r--r-- 1 root root 127375976 Jan 20 03:39 courier-2
-rw------- 1 root root  49875972 Jan 20 08:55 maillog
-rw------- 1 root root  49699233 Jan 19 03:42 maillog-1
-rw------- 1 root root  49857831 Jan 20 03:38 maillog-2
-rw------- 1 root root   7925642 Jan 20 08:58 pureftpd.log
-rw-rw-r-- 1 root root  11889944 Jan 20 08:57 smtp.log
-rw-r--r-- 1 root root  11842503 Jan 19 03:42 smtp.log-1
-rw-r--r-- 1 root root  11884360 Jan 20 03:39 smtp.log-2

Проблема в том, что сценарий выполняется по расписанию, но не может удалить файлы, и я получаю следующее электронное письмо от демона cron:

rm: cannot remove `maillog-1': Permission denied 
rm: cannot remove `courier-1': Permission denied 
rm: cannot remove `pureftp.log-*': No such file or directory 
rm: cannot remove `smtp.log-1': Permission denied

Кто-нибудь может показать мне, как это сделать это правильно. Спасибо

0
задан 20 January 2011 в 11:07
3 ответа

Вы запускаете скрипт крона как пользователь "администратор", в то время как разрешение файловой системы только разрешает корню писать файлы.

Или выполните задание крона как корень или chown+chmod все файлы/папки так, чтобы администратор мог писать/удалять/и т.д.

3
ответ дан 4 December 2019 в 12:59

scipt полномочия не имеют значения здесь, пока это executeable. То, что имеет значение, является пользователем сценарий, выполняемый как.

Покажите ввод заданий крона. Это это пользователь cronjob или в масштабе всей системы?

0
ответ дан 4 December 2019 в 12:59

При рассмотрении полномочий файлов сценариям не удается удалить, Вы будете видеть, что они 600 для пользовательского корня, что означает, что корневой и только базируются, может удалить те файлы.

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

0
ответ дан 4 December 2019 в 12:59

Теги

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