2013-05-01 28 views
12

Mac OS có bộ tùy chọn kiểm soát của cha mẹ rất cơ bản cho phép bạn giới hạn quyền truy cập của người dùng vào các trang web và ứng dụng, cũng như giới hạn thời gian hàng ngày. Tôi muốn có thể viết kịch bản này để thực hiện một việc như sau:Thay đổi chương trình kiểm soát của cha mẹ trên Mac OS X

Cho phép truy cập từ 8 giờ sáng đến 9:30 sáng cho các trang web cụ thể, hạn chế quyền truy cập vào trò chơi. Cho phép truy cập chung từ 5 giờ chiều đến 6 giờ chiều.

Tôi không chắc bắt đầu từ đâu về mặt kịch bản này trên Mac OS 10.8. Bất kỳ đề xuất? Đây có phải là một cái gì đó Automator có thể xử lý hoặc tôi tốt hơn bằng cách sử dụng một cron job/shell script?

+0

Âm thanh như ý tưởng tuyệt vời cho ứng dụng. Bạn không chắc chắn nếu Apple sẽ cho phép nó trên cửa hàng ứng dụng mac, mặc dù. – Jordan

Trả lời

13

Kiểm soát của phụ huynh được thực thi bằng cách sử dụng khung công tác Ưu tiên được quản lý (kể cả MCX) thông thường từ khoảng 10.2. Nó lưu trữ chúng trong các dịch vụ thư mục cục bộ trong thuộc tính mcx_attributes cho người dùng được đề cập.

Để đặt chúng hoặc bất kỳ cài đặt được quản lý nào, bên ngoài GUI, tất cả những gì bạn cần làm là cấp dữ liệu theo định dạng đúng bằng cách sử dụng plugin mcx của công cụ dscl vào người dùng. Sử dụng chính sách dịch vụ thư mục cục bộ như thế này được hiểu rõ và được tài liệu hóa bởi cộng đồng OS X sysadmin. Cách dễ nhất để bắt đầu với sự hiểu biết này là thiết lập một số Kiểm soát của cha mẹ, sau đó kiểm tra các thuộc tính mcx bằng ứng dụng Thư mục tiện ích từ/System/Library/CoreServices hoặc lệnh dscl sẽ cho phép bạn khám phá các dịch vụ thư mục của mình nếu nó là một hệ thống tập tin với cd và ls.

Sau khi bạn thấy các phím nào được đặt trong XML, bạn có thể bắt đầu tạo các khóa của riêng mình. Bạn cũng có thể sử dụng lệnh dscl . -mcxexport. Điều này sẽ đổ cấu hình quản lý ra và sau đó bạn có thể nhập nó sau này. Kiểm tra dscl . -mcxhelp để tìm hiểu về plugin mcx.

Rà soát quá trình thực hiện điều này với một kịch bản là:

  1. Tạo một plist xml có chứa các thông tin chính sách mà bạn muốn.
  2. nhập mà plist vào tài khoản thích hợp với dscl . mcximport

Một lựa chọn cần lưu tâm tới sẽ là để tạo ra một hồ sơ cấu hình (Đó là chỉ là một tập tin plist là tốt.) Và sau đó tải nó với lệnh profiles. Nếu bạn chọn tuyến đường cấu hình thì không có bất kỳ điều gì rối trong các dịch vụ thư mục hoặc lệnh dscl để lo lắng.

+0

Cảm ơn rất nhiều, đây chính xác là những gì tôi đang tìm kiếm! –

+0

Máy chủ của tôi dường như không có plugin MCX. Bất kỳ ý tưởng nếu có một cách để dòng lệnh quản lý kiểm soát của cha mẹ mà không có nó? – dsjoerg

+0

Bạn đang chạy phiên bản hệ điều hành nào? Nó vẫn còn ở 10.9 với việc bổ sung thêm một plugin mcxprofiles nữa. Nó KHÔNG ở trang người đàn ông. Chỉ cần bắt đầu dscl và sau đó gõ 'help' để xem tất cả việc sử dụng. – macshome

4

Để đặt thời gian đăng nhập tài khoản khách (giới hạn thời gian hoặc giới nghiêm): Sử dụng bảng dài dài sau, chỉnh sửa giá trị cho bắt đầu và kết thúc cho mỗi ngày.

dscl . -mcxedit /Users/Guest com.apple.familycontrols.timelimits limits-list '({allowancesActive = 1;curfews = {friday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});monday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});saturday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});sunday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});thursday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});tuesday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});wednesday = ({end = "06:00:00";start = "00:00:00";},{end = "23:59:59";start = "17:00:00";});};groupID = "__COMPUTER__";itemType = "com.apple.familycontrols.timelimits.computer";name = Computer;})' 

Để xem trạng thái thời gian giới hạn tài khoản của khách:

dscl . -mcxread /Users/Guest com.apple.familycontrols.timelimits limits-list 

hay:

dscl . -mcxread /Users/Guest com.apple.familycontrols.timelimits limits-list | egrep "end|start" | sort | uniq 

FILES LIÊN QUAN: /Library/Preferences Managed/Khách/com.apple. familycontrols.timelimits.plist Chứa dữ liệu lệnh giới nghiêm cho tài khoản Guest địa phương

/Library/Preferences Managed/Khách/complete.plist Compilation của tất cả các thiết lập Preference Managed cho Khách chiếm

Đây là những dữ liệu mà hệ thống sử dụng để đặt lệnh giới nghiêm: /private/var/db/dslocal/nodes/Default/users/Guest.plist

Các vấn đề liên quan