วิธีแก้ไขปัญหาการเข้าถึง crontab ด้วยข้อผิดพลาดการกำหนดค่า pam? [ปิด]


12

ฉันพยายามเข้าถึง crontab ของฉันในฐานะ "coins" ผู้ใช้ที่ไม่ใช่รูทเมื่อฉันพบปัญหาการอนุญาตตามที่แสดงในข้อความแสดงข้อผิดพลาดต่อไปนี้ที่กล่าวถึงการกำหนดค่า pam:

[coins@COINS-TEST ~]$ crontab -l

Authentication service cannot retrieve authentication info You (coins) are not allowed to access to (crontab) because of pam configuration.

การแก้ไขที่พบบ่อยที่สุดสำหรับปัญหาการเข้าถึง crontab นี้คืออะไร


2
ช่วยถ้าคุณรวมรายละเอียดเพิ่มเติมเกี่ยวกับระบบของคุณเช่นระบบปฏิบัติการและรีลีสหลัก บ่อยครั้งที่ไฟล์บันทึกจะมีข้อมูลมากกว่าข้อผิดพลาดที่คุณเห็นในฐานะผู้ใช้/var/log/messagesและ/var/log/secureบนระบบ Linux
HBruijn

คำตอบ:


20

คุณต้องเปิดใช้งานผู้ใช้สามารถใช้ cron ในไฟล์ตารางการควบคุมการเข้าถึงเข้าสู่ระบบ/etc/security/access.conf
ใช้รายการต่อไปนี้ซึ่งจะอนุญาตให้ผู้ใช้ coins รันงาน cron:

# Allow the coins user to run cron jobs
+: coins : cron crond :0

ตรวจสอบให้แน่ใจว่าอยู่เหนือรายการสุดท้าย:

# Deny all other users access by any means.
-: ALL : ALL

เนื่องจากรายการนี้ปฏิเสธ-การเข้าถึง( ) จากแหล่งข้อมูลทั้งหมดไปยังผู้ใช้รายอื่นทั้งหมดที่ไม่ได้กล่าวถึงในไฟล์

นอกจากนี้หมายเหตุ
บัญชีที่หมดอายุจะได้รับข้อความแสดงข้อผิดพลาดเดียวกันกับบัญชีที่ไม่ได้รับอนุญาต
โปรดตรวจสอบบัญชีที่ถูกปฏิเสธเพื่อดูว่าหมดอายุหรือไม่:

chage -l accountname


1
ฉันดีใจที่โซลูชันนี้ยังคงมีประโยชน์แม้ว่าจะมีการตัดสินใจแล้วว่าปัญหานั้นคลุมเครือเกินไป
geedoubleya

ไม่แน่ใจว่าทำไมปัญหาถูกตั้งค่าสถานะว่าคลุมเครือเกินไป ฉันมีปัญหาเดียวกันและคำตอบนี้ใช้ได้อย่างสมบูรณ์
Hazok

ทำไมแต่ละองค์ประกอบเหล่านี้จึงจำเป็น? โดยเฉพาะอย่างยิ่ง:0?
MikeyB

รหัสผ่านที่หมดอายุนั้นเป็นเหตุผลในกรณีของฉัน เปลี่ยนรหัสผ่านและทุกอย่างทำงานได้ดี
rohitmohta

4

คุณอาจตรวจสอบสิ่งที่อยู่ที่นี่:

/etc/cron.allow

และดูว่า selinux กำลังทำงานและทำให้เกิดปัญหาหรือไม่ แนะนำให้ใช้ poking around / var / log / messages หรือ syslog


0

หากคุณมีสิทธิ์เข้าถึง sudo คุณสามารถแก้ไขได้ด้วย:

$ sudo crontab -u `whoami` -l

สำหรับวิธีแก้ปัญหาแบบถาวรด้านบนสร้างนามแฝงใน.bashrc:

alias crontab='sudo crontab -u `whoami`'

หลังจากเพิ่มนามแฝงแล้วให้เปิดเทอร์มินัลใหม่แล้วลองเรียกใช้คำสั่ง crontab อีกครั้ง:

$ crontab -l

1
ที่จะเป็นทางออกที่ดี แต่อย่างน้อยในรสชาติของฉัน Linux (CentOS 7.3) มันมีความล้มเหลวเดียวกัน: % sudo crontab -u foo -l- You (foo) are not allowed to access to (crontab) because of pam configuration.
เคนวิลเลียมส์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.