国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

docker容器中crontab無法正常運行解決方案

2019-11-02 16:50:36
字體:
來源:轉載
供稿:網友

相信很多人看完docker容器, 需要加crontab, 加完卻發現不能執行,心塞.....接著便開始各種折騰...

首先當然是看日志了, 發現/var/log 下面沒有任何信息, 那是因為你沒有打開rsyslog.

# /etc/init.d/rsyslog start

繼續看日志

# tail /var/log/crondDec 29 16:39:01 web01-50794 crond[2839]: (root) FAILED to open PAM security session (Cannot make/remove an entry for the specified session)Dec 29 16:40:01 web01-50794 crond[2842]: (root) FAILED to open PAM security session (Cannot make/remove an entry for the specified session)Dec 29 16:40:01 web01-50794 crond[2841]: (root) FAILED to open PAM security session (Cannot make/remove an entry for the specified session)Dec 29 16:41:01 web01-50794 crond[2846]: (root) FAILED to open PAM security session (Cannot make/remove an entry for the specified session)# tail /var/log/secureDec 29 16:39:01 web01-50794 crond[2839]: pam_loginuid(crond:session): set_loginuid failedDec 29 16:40:01 web01-50794 crond[2841]: pam_loginuid(crond:session): set_loginuid failedDec 29 16:40:01 web01-50794 crond[2842]: pam_loginuid(crond:session): set_loginuid failedDec 29 16:41:01 web01-50794 crond[2846]: pam_loginuid(crond:session): set_loginuid failed# tail /var/log/crondDec 29 16:39:01 web01-50794 crond[2839]: (root) FAILED to open PAM security session (Cannot make/remove an entry for the specified session)Dec 29 16:40:01 web01-50794 crond[2842]: (root) FAILED to open PAM security session (Cannot make/remove an entry for the specified session)Dec 29 16:40:01 web01-50794 crond[2841]: (root) FAILED to open PAM security session (Cannot make/remove an entry for the specified session)Dec 29 16:41:01 web01-50794 crond[2846]: (root) FAILED to open PAM security session (Cannot make/remove an entry for the specified session)# tail /var/log/secureDec 29 16:39:01 web01-50794 crond[2839]: pam_loginuid(crond:session): set_loginuid failedDec 29 16:40:01 web01-50794 crond[2841]: pam_loginuid(crond:session): set_loginuid failedDec 29 16:40:01 web01-50794 crond[2842]: pam_loginuid(crond:session): set_loginuid failedDec 29 16:41:01 web01-50794 crond[2846]: pam_loginuid(crond:session): set_loginuid failed

從crontab的日志可以看出是因為pam的原因無法建立一個session連接.

接著看secure日志, 報出了set_loginuid failed , 無法獲取用戶uid.

分析:

為什么在docker里面無法獲取uid?pam_loginuid.so又代表什么?

pam_loginuid.so模塊: session類型:用來設置已通過認證的進程的uid.以使程序通過正常的審核(audit).而在docker里面,由于內核能力機制的安全限制,docker啟動的容器被嚴格要求只允許使用內核的部分能力.其中包括,但不僅限于ssh、cron、syslogd、硬件管理工具模塊(例如負載模塊)、網絡配置,等屬于特權進程.容器無法獲取這些特權進程信息。導致crond服務啟動時的set_loginuid failed. 而required機制要求必須所有的驗證條件均要滿足,才能進行后續操作,這就導致了crond的執行失敗.

這里扯一下pam模塊鑒證級別,共有四種取值:分別為required、Requisite、sufficient或_optional.

required:表示該行以及所有涉及模塊的成功是用戶通過鑒別的必要條件。換句話說,只有當對應于應用程序的所有帶 required標記的模塊全部成功后,該程序才能通過鑒別。同時,如果任何帶required標記的模塊出現了錯誤,PAM并不立刻將錯誤消息返回給應用程序,而是在所有模塊都調用完畢后才將錯誤消息返回調用他的程序。 反正說白了,就是必須將所有的模塊都執行一次,其中任何一個模塊驗證出錯,驗證都會繼續進行,并在執行完成之后才返回錯誤信息。這樣做的目的就是不讓用戶知道自己被哪個模塊拒絕,通過一種隱蔽的方式來保護系統服務。就像設置防火墻規則的時候將拒絕類的規則都設置為drop一樣,以致于用戶在訪問網絡不成功的時候無法準確判斷到底是被拒絕還是目標網絡不可達。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 黔江区| 阳江市| 永年县| 江川县| 盐亭县| 本溪| 德江县| 潍坊市| 澄城县| 双牌县| 湾仔区| 团风县| 西畴县| 庄浪县| 阳新县| 樟树市| 桂平市| 宣恩县| 中江县| 密云县| 白城市| 临沧市| 汤原县| 阿巴嘎旗| 拜泉县| 凌海市| 凤山县| 兴化市| 沧州市| 偏关县| 阿克苏市| 搜索| 原平市| 昌江| 揭阳市| 西和县| 金塔县| 扶绥县| 军事| 广丰县| 色达县|