发现一个奇怪的问题,执行某个脚本添加计划任务到root下,可以顺利执行,添加到www用户下,不能执行这个脚本(www对这个脚本有执行的权限,su到www下可以跑完脚本,但加到www的计划任务里就不会执行)

首先查看错误信息

tail -f /var/log/cron

Nov  4 10:55:02 localhost crond[24495]: Permission denied

Nov  4 10:55:02 localhost crond[24495]: CRON (www) ERROR: failed to open PAM security session: Success

Nov  4 10:55:02 localhost crond[24495]: CRON (www) ERROR: cannot set security context

tail -f /var/log/secure

Nov  4 11:15:01 localhost crond[2406]: pam_access(crond:account): access denied for user `www’ from `cron’

Nov  4 11:15:01 localhost crond[2406]: pam_unix(crond:account): expired password for user www (password aged)

按照上面的提示是密码过期了,

chage -l www

Last password change                                    : Aug 04, 2009

Password expires                                        : never

Password inactive                                       : never

Account expires                                         : never

Minimum number of days between password change          : 0

Maximum number of days between password change          : 99999

Number of days of warning before password expires       : 7

检测得到的结论和上面的错误信息不相符合

出现这样的问题的原因有以下可能

1、www的用户信息在shadow里不存在

2、www需要改密码了,可以看/var/log/secure文件的内容有类似的信息crond[2406]:

pam_unix(crond:account): expired password for user www (password

aged),遇到这种情况,改改密码就好。

解决上面可能的出现的问题方法是执行chage -M 99999 www

3、检查cron是否有禁止用户

cat /etc/cron.deny

cat /etc/security/access.conf(注意文件的最后几行,如果没有www就添加上,或者修改- : ALL EXCEPT root : ALL)

vim /etc/cron.allow  添加www用户

查看/usr/bin/crontab权限是否为如下:

-rwsr-sr-x 1 root root 315432 2010-01-06 08:49 /usr/bin/crontab

如果不是可chmod u+s /usr/bin/crontab  或chmod g+s /usr/bin/crontab

之前用www用户运行的crontab突然不能运行了。

查看日志显示:crond[20037]: (www) ERROR (failed to change user)

查了很多资料无果,直接命令试试su – www,提示错误:su: cannot set user id: Resource temporarily unavailable

先用top看看是否有很多僵死进程,接着用如下命令看看www用户的进程数和文件打开数

ps -U www | wc -l

lsof | grep www | wc -l

再ulimit -a看看限制以及cat /etc/security/limits.conf

结果这量方面也没问题,我都设得够大,如果不够的话调整相应的数值并应用即可。

解决这个问题还有几点可能性:

重启crontab守护进程:

service crond restart

kill引起僵尸进程的父进程, 从而减少系统总进程数,如果僵尸进程无法kill掉的,终极解决办法是只能重启服务器来解决这个问题。

我的是将www用户的服务和进程都重启一下,cannot set user id: Resource temporarily

unavailable的问题就解决了,手动执行su – www提示This account is currently not

available.这是因为设置了nologin,但对于执行crontab不影响。

crond[20037]: (www) ERROR (failed to change user) 的问题解决。

非root执行php不输出,Linux下crond切换到非root用户不执行的问题解决方法相关推荐

  1. Linux下用于查看系统当前登录用户信息的4种方法

    作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动.有些时候,你甚至需要知道他(她)们正在做什么.本文为我们总结了4种查看系统用户信息(通过编号(ID))的方法. 1. 使用w ...

  2. Linux查看系统中用户信息,Linux下用于查看系统当前登录用户信息的4种方法

    作为系统管理员,你可能经常会(在某个时候)需要查看系统中有哪些用户正在活动.有些时候,你甚至需要知道他(她)们正在做什么.本文为我们总结了4种查看系统用户信息(通过编号(ID))的方法. 1. 使用w ...

  3. linux下twm切换gn,检测快速用户切换Linux

    以下步骤概述如何枚举会话和确定它们是否有效或不是: Bus: org.freedesktop.ConsoleKit Path: /org/freedesktop/ConsoleKit/Manager ...

  4. linux定时执行任务命令,crontab(linux下定时执行任务命令)

    在linux在可以通过在脚本里(列如sh)写如日常需要进行的操作,然后通过crontab定时运行脚本. Linux下的任务调度分为两类,系统任务调度和用户任务调度. 系统任务调度:系统周期性所要执行的 ...

  5. linux命令执行的通过程,Linux下shell命令执行过程简介

    浅析linux 下shell命令执行和守护进程 执行shell脚本有以下几种方式 1.相对路径方式,需先cd到脚本路径下 [root@banking tmp]# cd /tmp [root@banki ...

  6. linux 骇客帝国脚本,Linux下,那些让人惊叹的命令执行效果

    Linux下,那些让人惊叹的命令执行效果 之前介绍过linux常用命令一文,接下来我们来一起学习一下linux里好玩的命令作者:luckyw2016-12-08 18:23 之前介绍过linux常用命 ...

  7. linux下阻塞的系统调用,Linux下socket设置为非阻塞方式和fcntl系统调用.pdf

    Linux 下 socket 设置为非阻塞方式和 fcntl 系统调用 [ 日期: 2011-04-16] 来源: Linux 社区 作者: Linux 用以下方法将 socket 设置为非阻塞方式 ...

  8. linux指令scp需要密码吗,linux下 scp命令不需要输入用户密码

    linux下 scp命令不需要输入用户密码 在两台机器的两个用户之间建立安全的信任关系后,可实现执行scp命令时不需要输入用户密码. 1. 在机器Client上root用户执行ssh-keygen命令 ...

  9. linux iphone文件,在linux下生成iphone所需要的视频和音频文件的方法总结

    在linux下生成iphone所需要的视频和音频文件的方法总结 (2011-05-07 09:53:18) 标签: linux iphone mencoder ffmpeg mplayer 一.生成可 ...

最新文章

  1. 2019半年总结:Teams are powerful
  2. LNMP_ 配置文件
  3. java反序列化 exp_java反序列化-ysoserial-调试分析总结篇(4)
  4. 记录一下CMake编译opencv_cuda时的易错点
  5. C# 使用正则表达式去掉字符串中的数字
  6. hibernate映射(单向双向的一对多、多对一以及一对一、多对一(转)
  7. Eclipse快捷键:最常用且高效的快捷键
  8. UIButton设置圆角和边框及边框颜色
  9. Proxy-Go v7.0 发布,你应该拥有的强大代理工具!
  10. Flex 与.net 进行通信可以通过Fluorine(fluorinefx),WebORB For .net,Socket
  11. Nginx、Apache工作原理以及nginx为何比Apache高效
  12. javaSE基础之字符串
  13. java AES 32位加密解密
  14. 平板电脑怎么使用计算机,平板电脑怎么用
  15. python在线问卷调查系统_GitHub - imze/surveySystem: 问卷调查系统
  16. 把java代码导成pdf_Java将Excel导出成pdf文件
  17. BUUCTF:FLAG
  18. Office小技巧|Excel表格输入身份证数字就变了乱码怎么办?
  19. 【信奥赛一本通】1378:最短路径(shopth)(详细代码)
  20. 作为一个计算机专业的学生,除了教材,这些书籍你读过多少?

热门文章

  1. TSC TTP244Pro 标签打印机打印不走纸
  2. 微信DAT文件解密(dat转图像)
  3. 导出微信群头像并将图片命名为[微信昵称.jpg]
  4. rabbitmq添加插件和配置文件的添加
  5. Rstudio必用快捷键
  6. 安装Linux详细教程
  7. ps 选区工具的使用
  8. Libuv 句柄优雅关闭
  9. Alextnet网络
  10. 线性方程组的矩阵解法——克莱姆法则