강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

일반사용자의 crontab명령어 사용허가 또는 제한하는 설정

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

일반사용자의 crontab명령어 사용허가 또는 제한하는 설정

 

 

 

 

필자는 앞에서 크론을 시스템크론과 사용자크론으로 나누어서 설명하였습니다.

 

 

 

 그리고 앞에서는 시스템크론에 대해서 설명하였으며 지금부터 설명할 내용은 사용자크론에 대한 설명입니다.

 

 

 

 , crontab이라는 명령어를 이용하는 크론설정은 모두 사용자크론에 해당합니다.

 

 

 

 

 

/etc/ 디렉토리에는 cron.allow파일과 cron.deny파일이 존재할 수 있습니다.

 

 

 

 리눅스 초기설정에는 이 두파일은 존재하지 않기 때문에 root만이 crontab명령어를 사용할 수 있습니다.

 

 

 

 , /etc/ 디렉토리에 cron.allow파일과 cron.deny파일이 존재하지 않는다면 root만이 crontab명령어를 이용하여 cron설정을 할 수 있다는 의미가 됩니다.

 

 

 

 

 

만약 일반사용자에게도 crontab명령어를 이용할 수 있도록 하기 위해서는 /etc/cron.allow파일에 사용자의 ID를 등록해 주어야 합니다.

 

 

 

  반대로 일반사용자의 crontab명령어사용을 제한하고자 한다면 /etc/cron.deny파일에 사용자의 ID를 등록해 주시면 됩니다.

 

 

 

 

 

리눅스 설치시에 이 두 파일은 기본 생성되어 있는 파일이 아니므로 시스템최고관리자(superuser, root)가 필요하다고 판단할 때에는 직접 만들어 주면 됩니다.

 

 

 

 예를 위하여 필자가 설정한 두 파일의 예를 보도록 하겠습니다.

 

 

 

  아래의 예를 보시면 /etc/cron.allow파일의 내용을 확인하고 있습니다.

 

 

 

 

 

[root@su250 ~]# cat /etc/cron.allow

root

bible

sspark

[root@su250 ~]#

 

 

 

 

 

위의 /etc/cron.allow파일에 등록되어 있는 root, bible, sspark 사용자는 crontab명령어를 이용하여 개인적인 사용자크론 설정을 할 수 있습니다.

 

 

 

 , crontab명령어를 사용 가능토록 허용하려면 /etc/cron.allow파일에 사용자의 ID를 위와 같이 등록하면 된다는 것을 설명하고 있는 것입니다.

 

 

 

 

 참고로 /etc/cron.allow파일이 존재한다면 root라 하더라도 이 파일에 root를 등록해야만 crontab설정이 가능합니다.

 

 

 

 

 

다음은 crontab사용이 허용된 두 사용자 중 bible이라는 사용자로 로그인하여 crontab명령어를 사용하여 cron설정을 하기 위해 “crontab -e”명령어를 사용하고 있는 예를 보인 것입니다.

 

 

 

 crontab을 이용하여 크론설정하는 방법은 뒤에서 자세히 설명합니다.

 

 

 

 

 

[bible@su250 ~]$ id

uid=505(bible) gid=505(bible) groups=505(bible)

[bible@su250 ~]$

[bible@su250 ~]$ crontab -e

 

00 01 * * * su - bible '/home/bible/backup.sh' >& /dev/null

~

~

~

 

 

 

 

위의 경우와는 반대로 다음 예와 같이 crontab명령어의 사용이 허용되어 있지 않는 sulinux라는 사용자가 crontab명령어를 실행했을 경우에는 “You (sulinux) are not allowed to use this program (crontab)”이라는 메시지와 함께 crontab명령어가 허용되지 않음을 알 수가 있습니다.

 

 

 

 

 

[sulinux@su250 ~]$ id

uid=506(sulinux) gid=506(sulinux) groups=506(sulinux)

[sulinux@su250 ~]$

[sulinux@su250 ~]$ crontab -e

You (sulinux) are not allowed to use this program (crontab)

See crontab(1) for more information

[sulinux@su250 ~]$

 

 

 

 

앞서도 잠깐 언급하였지만 /etc/cron.allow파일과 /etc/cron.deny파일이 모두 존재하지 않는다면 오직 최고관리자(수퍼유저, root)만이 crontab 명령어의 사용이 가능하다는 것을 기억해 두시기 바랍니다.

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,056 명
  • 현재 강좌수 :  35,912 개
  • 현재 접속자 :  240 명