ตัวอย่างเช่นฉันต้องการอนุญาตให้ Tom the DBA เป็นผู้ใช้ oracle แต่ไม่ใช่ผู้ใช้ Tomcat หรือรูท
ฉันต้องการที่จะทำเช่นนี้เพื่อระบบเร็ว ๆ su <user>นี้และมีช่วงเวลาที่ยากหาบันทึกของฉันในการตั้งค่าอื่นผมใช้ปีที่ผ่านมาที่ยังได้รับอนุญาตไวยากรณ์ ในสถานการณ์ของฉันฉันต้องอนุญาตให้ผู้ใช้หลายคนไปsuยังผู้ใช้ที่เฉพาะเจาะจง
สร้างกลุ่มโดยใช้addgroup <groupName>ผู้ใช้รายอื่นจะสามารถทำได้suโดยไม่มีรหัสผ่าน จากนั้นเพิ่มกลุ่มนั้นในผู้ใช้แต่ละคนที่คุณต้องการให้suผู้ใช้นั้นโดยไม่ต้องใช้รหัสผ่าน:
usermod -a -G <groupName> <userName>(หรือusermod -a -G oracle tom) การเปลี่ยนแปลงกลุ่มอาจไม่มีผลจนกว่าจะเข้าสู่ระบบครั้งต่อไป
หมายเหตุ: ในกรณีของคุณคุณมีอยู่แล้วในกลุ่มเพราะoracleกลุ่มจะได้รับการสร้างขึ้นเมื่อคุณทำผู้ใช้ Oracle adduser oracleด้วย
ตอนนี้แก้ไข/etc/pam.d/suและภายใต้ต่อไปนี้:
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
.. เพิ่มรายการตรวจสอบกฎเพื่อให้ส่วนมีลักษณะดังนี้:
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
auth [success=ignore default=1] pam_succeed_if.so user = <groupName>
auth sufficient pam_succeed_if.so use_uid user ingroup <groupName>
แทนที่<groupName>ด้วยoracleในกรณีนี้ นี้จะช่วยให้ผู้ใช้ใด ๆ ที่เป็นส่วนหนึ่งของ<groupName>การsu <groupName>
ตอนนี้tomสามารถsu oracleและถ้าคุณต้องการให้ผู้ใช้รายอื่นมีสิทธิ์เข้าถึงเดียวกันให้เพิ่มพวกเขาในoracleกลุ่ม
คำถามที่คล้ายกันที่นี่