Sử dụng cẩn thận, có vấn đề bảo mật với sudo và các biến.
Từ man sudoerstôi thấy rằng bạn nên sử dụng
Mặc định env_reset
Mặc định env_keep + = "PYTHONPATH YETANOTHER KHÁC"
Trong Ubuntu, sudokhông bảo tồn một số biến. sudo -igiống như đăng nhập bằng root và sau đó chạy lệnh. Cả hai có thể bất tiện, trước đây để sudo nano myfilelại các tập tin thuộc sở hữu gốc trong nhà của bạn và sau này sudo -i nano myfilesẽ cố gắng mở / root / myfile.
Chạy
sudo printenv PATH
và xem những gì nó mang lại. Nó ở đây
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
ví dụ. Bây giờ chạy sudo visudovà thêm dòng
Defaults secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
thay thế bởi những gì bạn tìm thấy trước đây. Nối một đường dẫn mới vào nó nếu bạn cần.
Về thư viện:
sudo LD_LIBRARY_PATH=/usr/lib/path/to/a/safe/library your command
Các bản phân phối Linux rất quan tâm PATHvà bạn thực sự nên cẩn thận trước khi chơi với nó. Đặc biệt cẩn thận về việc thêm các đường dẫn như " ." hoặc /home/username, nó không an toàn.
Một trong những mối nguy hiểm của việc thêm đường dẫn là nó mở ra khả năng các tệp trên các đường dẫn này được thực thi bằng cách rootmở một cửa sổ trong bảo mật hệ thống có thể bị phần mềm độc hại khai thác. Có thể có những nguy hiểm khác. Chỉ cần chắc chắn rằng bạn biết những gì bạn đang làm. Bỏ qua sudocác biện pháp bảo mật có thể khiến Solaris của bạn an toàn như Windows XP.