ฉันพยายามที่จะใช้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
บันทึกจะบ่นเกี่ยวกับสัญลักษณ์ที่หายไป)- ฉันพยายามรีบู๊ตเครื่อง แต่การตั้งค่ายังคงถูกละเว้น