파일 /etc/crontab
에는 다음과 같은 권한이 있습니다.
-rw-r--r--
내가 이해한 바로는 이 파일은 시스템 cron
작업용이므로 다른 사용자는 이를 수정할 권한이 없어야 합니다. 현재 권한은 모든 사용자가 파일을 읽고 내용을 볼 수 있도록 허용합니다.
모든 사용자가 읽을 수 있도록 해야 합니까 /etc/crontab
? 모든 사용자가 알아야 할 관리 명령이 있다고 생각하는데, 권한을 로 변경하는 것이 더 좋지 않을까요 -rw-r-----
?
CentOS의 권한 문자열을 사용했지만 아직 다른 배포판에서는 테스트하지 않았습니다.
답변1
모호한 곳에서는 안전할 것입니다. 일반 사용자가 /etc/crontab
. 사용자가 파일을 읽을 수 없더라도 ps
주기적으로 프로세스 목록을 캡처하거나 읽어서 실행된 명령을 수집하는 것은 가능합니다 /proc
.
가지고 있어야 한다아니요자격 증명을 명령줄에 입력하지 않는 한 일부 관리 명령을 숨길 필요가 전혀 없습니다. 그러나 어쨌든 일반 사용자가 명령줄을 읽을 수 있으므로 자격 증명을 명령줄에 입력하면 안 됩니다. 따라서 실질적인 이점은 없습니다.
하나 있다마운트 옵션/커널 패치procfs는 PID 누출을 방지하고 일부 grsec
커널 모듈은 PID 누출을 방지합니다.
파일 시스템을 읽기 가능하게 만들면 루트가 아닌 사용자로 시스템을 보고 디버깅할 수 있다는 이점이 있습니다. 시스템 crontab을 확인하기 위해 루트로 전환할 필요는 없습니다.
답변2
/etc/crontab
주요 항목인 crontab은 cron.daily, Weekly,...를 트리거하는 역할을 담당합니다.
따라서 사용자가 일별/주간 등의 실행 시간을 알고 싶다면 (CentOS에서는 고정 시간, SLES에서는 시스템 시작의 상대적 시간) 확인할 수 있어야 합니다.
그러나 실제 루트 작업은 에 배치되어야 하며 /etc/cron.d/specialtime_user
그렇지 /etc/cron.daily/*
않으면 에 배치됩니다 /var/spool/cron/root
. 전자는 때때로 약간 이상합니다. 액세스 권한과 관련하여(파일에 대해 더 엄격한 권한을 설정하려고 했던 SLES에서 우연히 이것을 발견했습니다.) 후자는 루트에서만 읽을 수 있어야 합니다.