Linux 크론 작업 파일 권한

Linux 크론 작업 파일 권한

Amazon Linux에서 이상한 Linux 크론 작업 권한 오류가 발생했으며 웹에서 이에 대한 정보를 찾을 수 없습니다.

1. First I create a cron job with a regular user
[newuser@node1 home]$ crontab -e
no crontab for newuser - using an empty one
crontab: installing new crontab

2. Then I try to read the cron job file, permission deny
[newuser@node1 home]$ cat /var/spool/cron/newuser
cat: /var/spool/cron/newuser: Permission denied

이상한 점은 "newuser"가 파일의 소유자라는 것입니다. 왜 "권한 거부"가 발생합니까?

    Login as root.
    [root@node1 home]# cd /var/spool/cron
    [root@node1 cron]# ls -l

    -rw------- 1 newuser  newuser  47 Aug  3 08:28 newuser

    [root@node1 cron]# cat /var/spool/cron/newuser
    1 1 1 * * /usr/bin/php /tmp/scheduleJob.php

[root@node1 spool]# ll -d /var/spool/cron
drwx------ 2 root root 4096 Aug  3 08:28 /var/spool/cron

답변1

Linux 시스템에서 파일에 액세스하려면 경로의 모든 디렉터리를 탐색할 수 있는 권한도 필요합니다(UNIX 권한의 실행 비트). 귀하의 경우에는 /var/spool/cron권한이 rwx------,owner 로 설정되어 있으므로 root다른 사용자처럼 디렉터리를 탐색할 수 없으며 root콘텐츠 Permission denied에 액세스하려고 하면 오류가 발생합니다.

답변2

훌륭한 주제입니다. 올바른 방향을 제시해 주었습니다. 복제된 가상 머신을 복구하는 중인데 모든 GID와 UID가 엉망입니다.

RedHat 5에서 문제를 해결한 방법은 다음과 같습니다.

[root@pb-qad /]# find . -name cron.allow
./etc/cron.d/cron.allow
--ADDED mfg user

[root@pb-qad ~]# chown root:crontab /usr/bin/crontab
chown: `root:crontab': invalid group

[root@pb-qad ~]# groupadd crontab
[root@pb-qad ~]# groupmod crontab --gid 65535

[root@pb-qad ~]# chown root:crontab /usr/bin/crontab
You have new mail in /var/spool/mail/root

[root@pb-qad ~]# chmod g+s /usr/bin/crontab
[root@pb-qad ~]# ls -al /usr/bin/crontab
-rwxr-sr-x 1 root crontab 315432 Dec 11  2009 /usr/bin/crontab

[root@pb-qad ~]# usermod -a -G crontab mfg
[root@pb-qad ~]# groupmod -g 65535 crontab
groupmod: 65535 is not a unique GID

[root@pb-qad ~]# cd /var/spool/

최종 수정

[root@pb-qad spool]# chown root:crontab cron
[root@pb-qad spool]# ll -al
total 476
drwxr-xr-x 16 root   root      4096 Oct  1  2009 .
drwxr-xr-x 26 root   root      4096 Mar 21 15:49 ..
drwxr-xr-x  2 root   root      4096 Dec  5  2008 anacron
drwx------  3 daemon qad       4096 Nov 16  2009 at
drwxrwxrwx  2 smmsp  smmsp    69632 Apr 25 09:25 clientmqueue
drwx-wx--T  2 root   crontab   4096 Mar 21 15:49 cron

이제 Cron은 사용자 mfg로 실행됩니다!

관련 정보