ฉันพยายามที่จะใช้pam_time.soโมดูลเพื่อ จำกัด sudoครั้งที่ผู้ใช้บางคนอาจจะใช้ อย่างไรก็ตามการเปลี่ยนแปลงการกำหนดค่าของฉันดูเหมือนจะไม่มีผลใด ๆ ฉันจะแก้ไขปัญหานี้ได้อย่างไร มันเป็นไปได้สำหรับ distro ของฉันที่จะเปลี่ยนสถานที่สำหรับ/etc/security/time.conf? pam.d/sudoไฟล์มีอยู่แล้วและถ้าผมแสดงความคิดเห็นออกสายอื่น ๆ ที่ฉันจะเห็นผล แต่time.confไฟล์ไม่ได้อยู่ที่ใดก็ได้ใน/etcดังนั้นฉันอาจจะเป็นแค่การปรับเปลี่ยนไฟล์ผิด
ด้านล่างเป็นสิ่งที่ฉันได้พยายามมาแล้ว
นี่คือเนื้อหาของ/etc/security/time.conf:
sudo;*;*;!Al0830-1700
su;*;*;!Al0830-1700
และนี่คือเนื้อหาของ/etc/pam.d/sudoและ/etc/pam.d/su(ค่าเริ่มต้นใน distro ของฉันบวกกับบรรทัดแรกที่จะโหลดpam_time.so)
account required pam_time.so debug
account required pam_unix.so
auth sufficient pam_unix.so likeauth try_first_pass
auth required pam_deny.so
password requisite pam_unix.so nullok sha512
session required pam_env.so envfile=…
session required pam_unix.so
เมื่อฉันพยายามใช้sudo /bin/shให้journalctl -fพิมพ์:
août 09 13:53:15 nixos sudo[7454]: georges : TTY=pts/6 ; PWD=/home/georges ; USER=root ; COMMAND=/bin/sh
août 09 13:53:15 nixos sudo[7454]: pam_unix(sudo:session): session opened for user root by (uid=0)
debugใน/etc/pam.d/sudoดูเหมือนว่าจะไม่มีผลกระทบ- แหล่งข้อมูลบางอย่างในอินเทอร์เน็ตใช้
account requisite pam_time.soแทนrequiredแต่ก็ไม่ได้สร้างความแตกต่างให้ฉัน pamtester -v sudo root open_sessionไม่แสดงข้อมูลที่เป็นประโยชน์ใด ๆ (และสำเร็จ) แต่pamtester -v sudo root authenticateปฏิเสธรหัสผ่านของฉันและjournalctlบันทึกแสดงให้เห็นว่า แต่ค่าในtime.confไม่มีผล:août 09 13:56:03 nixos unix_chkpwd[7965]: check pass; user unknown août 09 13:56:03 nixos unix_chkpwd[7965]: password check failed for user (root)ฉันพยายามลบ
auth sufficient pam_unix.so …บรรทัดออกและการเข้าถึง sudo ไม่ได้รับอนุญาตโดยไม่ต้องพยายามใช้รหัสผ่านดังนั้นฉันจึงรู้การเปลี่ยนแปลงในการ/etc/pam.d/sudoทำงานpam_time.soไม่สามารถใช้เป็นauthโมดูลได้ (journalctlบันทึกจะบ่นเกี่ยวกับสัญลักษณ์ที่หายไป)- ฉันพยายามรีบู๊ตเครื่อง แต่การตั้งค่ายังคงถูกละเว้น