Làm thế nào để ngăn chặn bom ngã ba?


14

Để ngăn chặn bom ngã ba, tôi đã theo dõi http://www.linuxhowtos.org/Tips%20and%20Tricks/ulimit.htmlm

ulimit -aphản ánh các cài đặt mới nhưng khi tôi chạy (như roottrong bash) :(){ :|:&};:, VM vẫn chạy tối đa CPU + RAM và hệ thống sẽ đóng băng.

Làm thế nào để đảm bảo người dùng sẽ không làm sập hệ thống bằng cách sử dụng bom ngã ba hoặc chạy ứng dụng lỗi?

HĐH: RHEL 6.4


Tôi không thể tái tạo nó ở đây. Bạn đang cố gắng như vậy rootbởi bất kỳ cơ hội? Bạn đang thử nó từ cái vỏ nào? (không gian bị thiếu sau khi {gợi ý zshnhưng tôi cũng không thể tái tạo nó ở đó).
Stéphane Chazelas

Stephane Chazelas: 1] Tôi đang chạy bằng root, tôi đã thử nó với người dùng bình thường, nó hoạt động. 2] Không gian bị thiếu là lỗi đánh máy, tôi đang sử dụng bash. Xin lỗi. 3] Có phải ulimit không thể kiểm duyệt người dùng 'root'?
user44441

@ stephane-chazelas 1] Tôi đang chạy bằng root, tôi đã thử nó với người dùng bình thường, nó hoạt động. 2] Không gian bị thiếu là lỗi đánh máy, tôi đang sử dụng bash. Xin lỗi. 3] Có phải ulimit không thể kiểm duyệt người dùng 'root'?
dùng44441

Câu trả lời:


8

Trình siêu người dùng hoặc bất kỳ quy trình nào với các khả năng của CAP_SYS_ADMIN hoặc CAP_SYS_RESOURCE không bị ảnh hưởng bởi giới hạn đó, đó không phải là điều có thể thay đổi. rootluôn luôn có thể ngã ba quá trình.

Nếu một số phần mềm không đáng tin cậy, thì rootdù sao nó cũng không nên chạy .


3
Trừ khi nó làm một cái gì đó đặc biệt, hầu như không có gì nên chạy như root. root là tài khoản bạn sử dụng khi bạn mệt mỏi khi cố gắng tìm ra những đặc quyền / quyền lợi nào bạn cần để tìm ra nó hoặc một số dịch vụ hệ thống cơ bản.
Bratchley

11

Để thay đổi này lan tỏa, bạn cần thêm các giới hạn này vào toàn bộ môi trường. Thay đổi sử dụng ulimitlệnh chỉ cho môi trường hiện tại.

LƯU Ý: Điều này sẽ không có hiệu lực đối với người dùng root!

Thí dụ

Chỉnh sửa tệp này: vi /etc/security/limits.confvà thêm các mục vào tệp giới hạn số lượng quy trình ( nproc) mà một người dùng hoặc nhóm người dùng cụ thể được phép có.

vivek hard nproc 300
@student hard nproc 50
@faculty soft nproc 100
@pusers hard nproc 200

LƯU Ý: Có nhiều ví dụ trong tệp đó. Hãy cẩn thận với việc sử dụng "tất cả" (còn gọi là *), điều này cũng sẽ giới hạn tài khoản hệ thống.

Người giới thiệu


Mặc dù "tất cả" sẽ giới hạn tài khoản hệ thống, hầu hết các dịch vụ được điều hành bởi các tài khoản hệ thống đó đều không đi qua pam_limits.
jordanm

Có phải ulimit không thể kiểm duyệt người dùng 'root'?
user44441

Giống như một ý tưởng chung để thêm nhiều hơn vào bài đăng, bạn có thể muốn thêm một cái gì đó về pam_cgroup vào bài đăng vì nền tảng của OP hỗ trợ nó và pam_limitscuối cùng sẽ được thay thế bởi điều đó một khi các nhóm được chấp nhận rộng rãi hơn.
Bratchley

Thêm vào đó, vì có vẻ như OP đang chơi xung quanh với các chính sách sử dụng tài nguyên, cgroupssẽ cung cấp cho họ các nút tốt hơn để sử dụng mạng và CPU.
Bratchley
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.