Sử dụng cẩn thận, có vấn đề bảo mật với sudo và các biến.
Từ man sudoers
tô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, sudo
không bảo tồn một số biến. sudo -i
giố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 myfile
lạ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 myfile
sẽ 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 visudo
và 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 PATH
và 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 root
mở 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 sudo
các biện pháp bảo mật có thể khiến Solaris của bạn an toàn như Windows XP.