Oracle® Solaris 11.2의 시스템 정보, 프로세스, 성능 관리

인쇄 보기 종료

업데이트 날짜: 2014년 9월
 
 

crontab 명령에 대한 액세스 제어

/etc/cron.d 디렉토리의 두 파일 cron.denycron.allow를 사용하여 crontab 명령에 대한 액세스를 제어할 수 있습니다. 이러한 파일은 지정된 사용자만 자신의 crontab 파일 만들기, 편집, 표시, 제거와 같은 crontab 명령 작업을 수행하도록 허용합니다.

cron.denycron.allow 파일은 사용자 이름 목록(한 라인에 사용자 이름 하나씩)으로 구성됩니다.

    이러한 액세스 제어 파일은 다음과 같이 작동합니다.

  • cron.allow가 있는 경우 이 파일에 나열된 사용자만 crontab 파일을 만들거나, 편집, 표시, 제거할 수 있습니다.

  • cron.allow가 없는 경우 cron.deny에 나열된 사용자를 제외한 모든 사용자가 crontab 파일을 제출할 수 있습니다.

  • cron.allow도 없고 cron.deny도 없는 경우 crontab 명령을 실행하려면 root 역할을 맡아야 합니다.

  • cron.denycron.allow 파일을 편집하거나 만들려면 root 역할을 맡아야 합니다.

Oracle Solaris 소프트웨어 설치 중 생성된 cron.deny 파일은 다음 사용자 이름을 포함합니다.

$ cat /etc/cron.d/cron.deny
daemon
bin
smtp
nuucp
listen
nobody
noaccess

기본 cron.deny 파일의 사용자 이름 중 아무도 crontab 명령에 액세스할 수 없습니다. 이 파일을 편집하여 crontab 명령에 액세스가 거부될 다른 사용자를 추가할 수 있습니다.

기본 cron.allow 파일이 제공되지 않으므로 기본 cron.deny 파일에 나열된 사용자를 제외한 모든 사용자가 crontab 명령에 액세스할 수 있습니다. cron.allow 파일을 만들면 이러한 사용자만 crontab 명령에 액세스할 수 있습니다.

crontab 명령 액세스를 거부하는 방법

  1. root 역할을 맡습니다.

    Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.

  2. /etc/cron.d/cron.deny 파일을 편집하고 crontab 명령에 대한 액세스를 거부할 사용자 이름을 한 행에 사용자 하나씩 추가합니다.
    daemon
    bin
    smtp
    nuucp
    listen
    nobody
    noaccess
    username1
    username2
    username3
    .
    .
    .
  3. /etc/cron.d/cron.deny 파일이 새 항목을 포함하는지 확인합니다.
    # cat /etc/cron.d/cron.deny
    daemon
    bin
    nuucp
    listen
    nobody
    noaccess

crontab 명령 액세스를 지정된 사용자로 제한하는 방법

  1. root 역할을 맡습니다.

    Oracle Solaris 11.2의 사용자 및 프로세스 보안 의 지정된 관리 권한 사용을 참조하십시오.

  2. /etc/cron.d/cron.allow 파일을 만듭니다.
  3. root 역할을 cron.allow 파일에 추가합니다.

    root를 파일에 추가하지 않으면 crontab 명령에 대한 root 액세스가 거부됩니다.

  4. crontab 명령을 사용하도록 허용할 사용자 이름을 한 행에 하나씩 추가합니다.
    root
    username1
    username2
    username3
    .
    .
    .
예 4-6  crontab 명령 액세스를 지정된 사용자로 제한

다음 예는 사용자 이름 jones, temp, visitorcrontab 명령에 액세스하지 못하게 막는 cron.deny 파일을 보여줍니다.

$ cat /etc/cron.d/cron.deny
daemon
bin
smtp
nuucp
listen
nobody
noaccess
jones
temp
visitor

다음 예는 cron.allow 파일을 보여줍니다. 사용자 root, jonessmithcrontab 명령에 액세스할 수 있는 유일한 사용자입니다.

$ cat /etc/cron.d/cron.allow
root
jones
smith

제한된 crontab 명령 액세스를 확인하는 방법

특정 사용자가 crontab 명령에 액세스할 수 있는지 확인하려면 사용자 계정으로 로그인한 동안 crontab -l 명령을 사용합니다.

$ crontab -l

사용자가 crontab 명령에 액세스할 수 있고 이미 crontab 파일을 만든 경우 파일이 표시됩니다. 그렇지 않으면, 사용자가 crontab 명령에 액세스할 수 있지만 crontab 파일이 없어서 다음과 비슷한 메시지가 표시됩니다.

crontab: can't open your crontab file

이 사용자가 cron.allow 파일(존재하는 경우)에 나열되거나 사용자가 cron.deny 파일에 나열되지 않습니다.

사용자가 crontab 명령에 액세스할 수 없을 경우 이전 crontab 파일이 존재하는지에 관계없이 다음 메시지가 표시됩니다.

crontab: you are not authorized to use cron. Sorry.

이 메시지는 사용자가 cron.allow 파일(있는 경우)에 나열되지 않거나 사용자가 cron.deny 파일에 나열되어 있음을 의미합니다.