努力与Linux权限(再次)

我在我的Centos服务器上有一个脚本,用于删除新创build的日志文件。 它包含以下内容:

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 

..和文件夹内容如下所示(这些权限是由服务器在创build日志文件时自动设置的):

 -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 

请有人告诉我如何正确地做到这一点。 谢谢

您以用户“admin”身份运行cron脚本,而文件系统权限只允许root用户写入文件。

以root身份运行cron作业,或chown + chmod所有文件/文件夹,以便admin可以写入/删除/ etc。

只要它是可执行的,scipt权限在这里并不重要。 重要的是脚本执行的用户。

显示cron作业条目。 这是一个用户cronjob或系统范围的?

如果您查看脚本无法删除的文件的权限,您将看到它们对于root用户是600,这意味着只有root用户可以删除这些文件。

要么修复权限,要么以root身份运行脚本,而不是使用pipe理员用户,那样做就行了