it-swarm-vi.tech

Làm cách nào tôi có thể cho phép một người dùng kiện người khác mà không cho phép truy cập root?

Tôi muốn cho phép một số người dùng nhất định sử dụng tài khoản người dùng khác mà không cần phải biết mật khẩu của tài khoản đó, nhưng không cho phép truy cập vào bất kỳ tài khoản người dùng nào khác (ví dụ: root).
[.__.] Chẳng hạn, tôi muốn cho phép Tom DBA kiện người dùng Oracle, nhưng không cho người dùng Tomcat hoặc root.

Tôi tưởng tượng điều này có thể được thực hiện với tệp/etc/sudoers - có khả thi không? Nếu vậy thì thế nào?

56
gharper

Vâng, điều này là có thể.

Trong / etc/sudoers mục ngay sau dấu bằng là người dùng mà lệnh sẽ được phép thực thi dưới dạng.

tom  ALL=(Oracle) /bin/chown tom *

Người dùng (tom) có thể gõ Sudo -u Oracle/bin/chown tom/home/Oracle/oraclefile

45
Brent

Thêm vào/etc/sudoers của bạn một cái gì đó như

tom ALL=(Oracle) ALL

Sau đó, người dùng tom sẽ có thể sử dụng Sudo để chạy mọi thứ như người dùng Oracle với tùy chọn -u, mà không để tom

I E. nhận Shell là người dùng Oracle (tốt, do Sudo của bạn đủ mới để có tùy chọn -i).

Sudo -u Oracle -i
42
Kjetil Joergensen

Để CHỈ cung cấp các khả năng trong câu hỏi, hãy thêm phần sau vào/etc/sudoers:

tom            ALL=(Oracle)    /bin/bash

Sau đó tom có ​​thể:

Sudo -u Oracle bash -i
9
karimofthecrop

Chẳng hạn, tôi muốn cho phép Tom DBA kiện người dùng Oracle, 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 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 cho một người dùng cụ thể.

Tạo một nhóm bằng cách sử dụng addgroup <groupName> rằng những người dùng khác sẽ có thể su mà 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ể su cho người dùng đó mà không cần mật khẩu: usermod -a -G <groupName> <userName> (hoặc là 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 Oracle bằng adduser Oracle.

Bây giờ chỉnh sửa /etc/pam.d/su và dưới đây:

# 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> với Oracle trong trường hợp này. Điều này sẽ cho phép bất kỳ người dùng nào là một phần của <groupName> đến 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 nhóm Oracle.

câu hỏi tương tự ở đây

0
jtlindsey