Cài đặt ứng dụng Java yêu cầu mật khẩu root?


2

Tôi hiện đang chuyển đổi từ Linux sang OS X và trong quá trình này đã tìm thấy một vài sự khác biệt đáng ngạc nhiên giữa hai hệ thống.

Tôi khá quen với khái niệm cài đặt hầu hết các ứng dụng vào thư mục chính của người dùng, như một thông lệ bảo mật chung. Tuy nhiên, thật ngạc nhiên, khi cài đặt một ứng dụng chạy bằng JRE, tôi ngay lập tức nhận được thông báo "java muốn thực hiện thay đổi. Nhập mật khẩu của bạn để làm điều này". Lời nhắc này xuất hiện trước cả khi yêu cầu thư mục nào sẽ được cài đặt (ví dụ ~ / Ứng dụng /). Không cần phải nói, đây không phải là thứ tôi quen dùng khi cài đặt các ứng dụng phụ thuộc Java tương tự trong Linux.

Câu hỏi của tôi: java này có cấp quyền cho toàn bộ đặc quyền quản trị viên không? Đây có phải là một cái gì đó có thể tránh được bằng cách tách hoàn toàn tài khoản root và tài khoản người dùng hay đây chỉ là cách Java hoạt động trên OS X?


Bạn có thể cung cấp một liên kết đến ứng dụng này?

Đúng. Đó là MATLAB ( mathworks.com/help/install/ug/install-mathworks-software.html ) và liên kết này xác định rằng có một sự khác biệt giữa Linux và OS X (cụ thể là đối với Linux, chỉ cần có quyền ghi, trong khi đối với OS X, mật khẩu gốc luôn được yêu cầu). Tôi thường tự hỏi tại sao đây là trường hợp, nhưng nên đề cập đến trường hợp cụ thể, để đề cập đến sự kiện rằng đây là một trường hợp riêng biệt.
omellette

Nếu bạn gõ java --versiontừ dòng lệnh, bạn cũng nhận được một JDK bật lên hay bạn đã cài đặt java thay vì trình giữ chỗ mà Apple gửi để dễ dàng tải xuống java khi được gọi?
bmike

Java đã được cài đặt. Cả hai phiên bản 6 của Apple và 7 từ Oracle đều thể hiện cùng một hành vi (lời nhắc cho root).
omellette

Câu trả lời:


1

Trên OS X, mật khẩu quản trị được yêu cầu cho bất kỳ mục nào được cài đặt bên ngoài người dùng cục bộ. Lý do là OS X có cấu trúc tệp khác nhau (và sắp xếp đặc quyền) so với Linux.

Root của OS X được cài đặt vào / System. Thư mục mẹ này không bị ảnh hưởng ngoài các tệp hệ thống (chẳng hạn như các bản cập nhật OS X).

Các thư viện, tiện ích mở rộng, các trình cắm khác nhau và các ứng dụng sai khác được sử dụng để cấp nguồn cho một số ứng dụng được cài đặt vào / Thư viện. Các ứng dụng thường cài đặt các tệp của chúng vào một tên thư mục Hỗ trợ ứng dụng (tuy nhiên, điều này không phải lúc nào cũng đúng). Thư mục mẹ này chứa các tệp có thể được sửa đổi bởi trình cài đặt được chạy bởi quản trị viên hoặc người dùng. Các thành phần được cài đặt ảnh hưởng đến toàn bộ hệ thống (không chỉ một người dùng cụ thể).

Cuối cùng, Ứng dụng (nằm trong các thư mục thực tế có hậu tố .app) được đặt trong / Ứng dụng. Mac App Store (MAS) tải xuống thư mục này và người dùng cũng có thể kéo và thả các ứng dụng của họ tại đây. Thư mục mẹ được sở hữu bởi root (và các ứng dụng được cài đặt thông qua MAS) nhưng người dùng có quyền truy cập ghi.

Các thư mục trên (và con cái của họ) sẽ yêu cầu mật khẩu quản trị để sửa đổi, sao chép hoặc xóa.

Đối với MATLAB, trình cài đặt có khả năng cài đặt các tệp vào / Thư viện (có lẽ là Hỗ trợ ứng dụng), do đó yêu cầu mật khẩu quản trị.

Tôi không thể nói riêng cho MATLAB, nhưng tùy chọn để xem cấu trúc tệp gói có sẵn thông qua Trình cài đặt của OS X. Đơn giản chỉ cần khởi chạy gói (pkg) và sau đó điều hướng đến menu. Nó nằm dưới File> Show Files. Tại đây bạn có thể xem nội dung của Cập nhật VPN cho Mavericks Server có sẵn trên trang web của Apple.

nhập mô tả hình ảnh ở đây

Yêu cầu thông tin quản trị xảy ra trước khi thực tế cần phải ghi các tệp. Nó chỉ đơn giản là cách một gói được xây dựng trên OS X. Hãy nghĩ về nó đơn giản chỉ là một bước trong quy trình cài đặt chứ không phải là một ràng buộc với một sự kiện cụ thể xảy ra do nhu cầu của nó. Trong quá trình xây dựng trình cài đặt, nhà phát triển sẽ chỉ định các yêu cầu này và sau khi được chỉ định, đó là OS X cung cấp chúng theo hướng dẫn giao diện người của Apple.

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.