Tôi đang chạy script python nhỏ này trên cả Linux và Solaris như một người dùng không có đặc quyền:bit setuid trên kịch bản python: Linux vs Solaris
#!/usr/bin/python
import os
print 'uid,euid =',os.getuid(),os.geteuid()
Trước khi chạy, các bit setuid được thiết lập trên các kịch bản (không phải trên thông dịch viên python):
chown root:myusergrp getuid.py
chmod 4750 getuid.py
trên Solaris, uid hiệu quả được thiết lập vì các bit setuid:
uid,euid = 10002 0
Nhưng không phải trên Linux:
uid,euid = 10002 10002
Note phiên bản python là 2,6 cho cả Solaris và Linux
Có possibe có Python Linux làm việc như Python Solaris?
Solaris dựa trên SVR4, dưới dạng ghi chú liên kết Câu hỏi thường gặp của bạn, sử dụng các cách bảo mật hơn các Unix cũ hơn để xử lý việc khởi động tập lệnh setuid. – alanc
Điểm tuyệt vời. Tôi đã chỉnh sửa câu trả lời để phản ánh điều đó. –
Điều gì sẽ xảy ra nếu tập lệnh python của bạn cần được bắt đầu với tư cách người dùng không phải root, và sau đó suid trong khi thực hiện tại một số điểm? –