Chẳng hạn, tôi muốn cho phép Tom DBA su cho người dùng orory, nhưng không cho người dùng tomcat hoặc root.
Tôi cần phải làm điều này với một hệ thống gần đây và đã có một thời gian khó khăn để tìm thấy ghi chú của tôi về thiết lập thay thế mà tôi đã sử dụng nhiều năm trước cũng cho phép cú pháp su <user>
. Trong tình huống của tôi, tôi cần cho phép nhiều người dùng su
đến một người dùng cụ thể.
Tạo một nhóm bằng cách sử dụng addgroup <groupName>
mà người dùng khác sẽ có thể su
không cần mật khẩu. Sau đó thêm nhóm đó vào từng người dùng mà bạn muốn có thể cho su
người dùng đó mà không cần mật khẩu:
usermod -a -G <groupName> <userName>
(hoặc usermod -a -G oracle tom
). Các thay đổi nhóm có thể không ảnh hưởng đến lần đăng nhập tiếp theo.
Lưu ý: Trong trường hợp của bạn, bạn đã có nhóm vì oracle
nhóm sẽ được tạo khi bạn tạo người dùng tiên tri với adduser oracle
.
Bây giờ chỉnh sửa /etc/pam.d/su
và theo sau:
# This allows root to su without passwords (normal operation)
auth sufficient pam_rootok.so
..add dòng quy tắc auth để phần này trông như thế này:
# 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>
Thay thế <groupName>
bằng oracle
trong trường hợp này. Điều này sẽ cho phép bất kỳ người dùng mà là một phần của <groupName>
đểsu <groupName>
Bây giờ tom
có thể su oracle
và nếu bạn cần cung cấp cho người dùng khác quyền truy cập tương tự, hãy thêm họ vào oracle
nhóm.
câu hỏi tương tự ở đây