Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2825042
  • 博文数量: 587
  • 博客积分: 6356
  • 博客等级: 准将
  • 技术积分: 6410
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-23 10:54
个人简介

器量大者,福泽必厚

文章分类

全部博文(587)

文章存档

2019年(3)

2018年(1)

2017年(29)

2016年(39)

2015年(66)

2014年(117)

2013年(136)

2012年(58)

2011年(34)

2010年(50)

2009年(38)

2008年(16)

分类: LINUX

2009-07-10 09:11:10

solaris下执行脚本时cron日志中提示bad user oracle
在美国的server上用root执行脚本一切正常,但想换成用oracle用户来执行,这样一来系统管理员就更方便使用sqlplus将我收集的系统信息的txt文件中的 记录读取出来,放入到数据库中!
  su - oracle
  为oracle用户添加cron job , crontab -e, 发现不行, 不能编译文件。到网上google了一下, 原来是没有默认的编辑器的缘故,
 于是
 EDITOR=vi 
 export EDITOR
crontab -e 后, 添加上就可以了。
但到了时间, 却发现没有正常运行, vi /var/cron/log 去查看cron的日志信息, 发现bad user oracle,为什么会有这样的提示哪, 难道是cron.deny中包含oracle用户的缘故,去查看/etc/cron.d/cron.deny,发现该文件中没有oracle用户, 于是grep oracle /etc/shadow 发现它的秘密中有LK的标记, 显然已经被锁定了。 这种有可能是仅仅添加了oracle用户, 而没有为它设置密码, 还有一种可能是通过root锁定了oracle用户。

bash-3.00# useradd -m -d /export/home/oracle -s /usr/bin/sh -c "this is oarcle" oracle
64 blocks
          
bash-3.00# grep oracle /etc/shadow
oracle:*LK*:::::::  ##尽管这里有LK的标记, 但是我还是可以su - oracle

bash-3.00# su - oracle
$ ##表示进入了oracl额用户

用上面的过程可以清楚的描述,

解决方法:以下都是用root用户执行的!

先对oracle用户解锁: passwd -u oracle

如果还不行,

则passwd oracle

修改oracle的密码即可!



还有注意到一点是:

linux中cron和solaris中的cron时间书写方式不一样, linux中更加方便:

例如: 每天0,2,4,6,8,10,12,14,16,18,20,22点0分运行那个脚本:

在linux中写法:

0 */2 * * * /home/mydir/info.sh

solars中按照上面的写法是不对的, 它不识别*/2.

正确写法应为:

0 0,2,4,6,8,10,12,14,16,18,20,22  * * * /home/mydir/info.sh

呵呵, 个人感觉solaris下笨了点!没有linux方便!



阅读(1500) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~