您的位置:首页 > 运维架构 > Linux

LINUX系统crond计划任务与SUDO赋权

2013-09-11 12:03 405 查看
sudo 


Cmnd_Alias NETCMD = /sbin/route, /sbin/ifconfig
User_Alias NETMGR = tom,mary

NETMGR  ALL=NETCMD  <---tom,mary可以在所有机器上执行NETCMD里命令,执行的时候使用的是root身份

mary> sudo /sbin/ifconfig eth0:1 192.168.1.1 <--输入mary自身的密码之后,就可以用root身份执行该命令

NETMGR ALL = NOPASSWD:NETCMD  <--不需要输入自身密码就可以执行

用户名 机器名 = (执行身份)命令

mary ALL = (tom)/bin/ls

mary> sudo -u tom ls -lha /home/tom  <--使用tom的身份执行操作,输入的是mary本身的密码

# cat /var/log/secure  《--查看日志

===========================

计划任务
atd

crond

ancrond ---> 确保开机运行

# ntsysv

[*] atd

[*] anacron

[*] crond

设定crond计划任务

# crontab -e

* * * * * /usr/bin/wall  "I am root"  <--每分钟执行指令

30 * * * * /usr/bin/wall  "I am root" <--每个小时第30分钟执行指令

29 4 * * * command 

# service crond restart

分钟 小时 日   月   星期  执行命令

1-60 0-23 1-31 1-12 0-7  

练习

每天晚上8点23分执行
echo "123" >> /tmp/123.txt

# crontab -e

23 20 * * *  echo "123" >> /tmp/123.txt

或者

# vim /etc/crontab

23 20 * * * root echo "123" >> /tmp/123.txt

# crontab -l 列出通过crontab -e设定的计划任务

控制哪些人可以制定计划任务

 /etc/crond.allow  <---如果同时存在,该文件优先,deny没用 

  /etc/crond.deny

# vim /etc/crond.allow  <---只允许root,tom通过crontab -e 命令指定计划任务

root

tom
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: