首頁 > 網際網路

解決非root使用者crontab定時任務無法執行問題

2019-12-17 00:10:22

Linux的crontab定時任務是個很好用的功能,我們可以通過crontab定時任務來清理磁碟空間,定時執行任務,讓系統運維工作更加高效。今天小編遇到一個普通使用者無法執行crontab任務的問題,希望解決方法可以幫助到你。


1

步驟一:在linux伺服器上編寫shell指令碼後,使用crontab -e在weblogic使用者下設定定時任務,但是發現到了定時任務觸發時間後,定時任務未執行。在weblogic使用者下手動測試,指令碼可以正常執行,懷疑是非root使用者許可權問題


2

步驟二:檢視定時任務的紀錄檔/var/log/cron,發現紀錄檔中報錯如下(weblogic) FAILED to authorize user with PAM (Module is unknown)


3

步驟三:解決方法:修改/etc/pam.d/crond,把把所有required改成sufficient,這個對非root使用者管用

#

# The PAM configuration file for the cron daemon

#

#

# No PAM authentication called, auth modules not needed

account    sufficient pam_access.so

account    include    password-auth

session    sufficient pam_loginuid.so

session    include    password-auth

auth       include    password-auth


4

 步驟四:設定修改後,使用 /etc/init.d/crond restart,重新啟動下crontab使之生效(Centos7使用命令systemctl restart crond重新啟動)


5

再次檢視定時任務,已經可以正常執行

IT145.com E-mail:sddin#qq.com