Як я можу маніпулювати кількома налаштуваннями безпеки з терміналу?


7

Я хочу змінити цю поведінку з терміналу:

  • Автоматичний вхід
  • Показано пароль після заставки та режиму сну
  • Перейдіть до режиму сну через х хвилин
  • Увімкнути заставку через х хвилин

Відповіді:


8

1) Автоматичний вхід

Той хитрий. За замовчуванням збережено в

defaults read /Library/Preferences/com.apple.loginwindow autoLoginUser

Але для того, щоб увімкнути або вимкнути, вам потрібно зробити це як root.

Встановіть:

sudo defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser ShortName

Видаліть його (вимкніть):

sudo defaults delete /Library/Preferences/com.apple.loginwindow autoLoginUser

2) Показ пароля після заставки та режиму сну

Я намагався змусити цю роботу працювати, і не можу

Ви побачите багато підказок, які говорять про те, що відповідь є

defaults write com.apple.screensaver askForPassword 1

або подібні варіанти

defaults -currentHost write com.apple.screensaver askForPassword -int 1

і це повинно працювати, тому що якщо вимкнути його через Системні налаштування, ви побачите:

% defaults read com.apple.screensaver
{
    askForPassword = 0;
    askForPasswordDelay = 0;
    tokenRemovalAction = 0;
}

а потім, якщо увімкнути його за допомогою системних налаштувань, ви побачите

% defaults read com.apple.screensaver
{
    askForPassword = 1;
    askForPasswordDelay = 0;
    tokenRemovalAction = 0;
}

АЛЕ якщо вимкнути його та вимкнути Системні налаштування та змінити налаштування, використовуючи "За замовчуванням записувати", коли я перезапускаю Системні налаштування, це зміна не відображає.

Я дуже хотів би дізнатися відповідь на це (бажано, без оснащення, але якщо іншого способу немає, я прийму його).

3) Перейдіть до режиму сну через х хвилин

Якщо припустити, що ви хочете сказати, що "потрібно, щоб комп'ютер спав через х хвилин":

sudo pmset sleep 20

Ви також можете використовувати різні налаштування спеціально для батареї (для MacBooks):

sudo pmset -b sleep 10

Якщо ви хочете вказати, що ніколи не спить під час підключення, використовуйте

sudo pmset -c sleep 0

4) Увімкніть заставку через х хвилин

@ Рекомендація Даніеля спрацювала для мене:

sudo osascript -e 'tell application "System Events" to set delay interval of screen saver preferences to 30'

Ви можете використовувати "sudo pmset displayleep X", щоб заснути дисплей замість заставки.


Насправді дивно, що defaults write … це не впливає на додаток System Preferences у такому випадку.
Ленар Хойт

hintsforums.macworld.com/archive/index.php/t-14085.html хм… те саме питання, але досі немає рішення.
Ленар Хойт

Слід зазначити, що delay interval of screen saver preferencesце за лічені секунди, хоча графічний інтерфейс працює за лічені хвилини. Тож встановлення його на 30 може дати несподівані результати.
Бруно Броноський

Також версія OSX, яка має повзунок, відображатиме зміни в системних налаштуваннях. Гірський лев має спадне місце і НЕ відображає зміни. Однак вони працюють.
Бруно Броноський

3

Команда osascript та програма System Events - це ваші друзі тут. В основному ви будете викликати AppleScripts з командного рядка.

Наприклад,

  sudo osascript -e 'tell application "System Events" to set delay interval of screen saver preferences to 30'
  sudo osascript -e 'tell application "System Events" to set automatic login of security preferences to false'
  sudo osascript -e 'tell application "System Events" to set require password to wake of security preferences to true'

Перший встановлює заставку на 30 секунд після останньої дії; другий відключає автологін. Третій вимагає пароля для виходу із заставки або пробудження зі сну (настройки для двох пов'язані). Вивчення словника системних подій допоможе вам зібрати специфіку, яку ви шукаєте.


Перший працював, щоб встановити затримку заставки, але два інших не працювали.
TJ Luoma

Всі вони працювали на моїй машині. Я підозрюю, що винуватцем може стати блокування панелі управління. Я вивчу це далі.
Даниїл

1

Налаштування заставки

/Library/Preferences/com.apple.screensaver.plistмістить загальносистемні налаштування, які застосовуються, коли в обліковому записі користувача ще немає налаштування для певної функції в ~/Library/Preferences/ByHost/com.apple.screensaver.MACADDRESS.plist.

Запис у загальносистемний файл, який /Libraryвикористовується

defaults write Library/Preferences/com.apple.screensaver

Для запису до файлу поточного користувача використовується

defaults write com.apple.screensaver

Значення для заданого параметра у файлі користувача має пріоритет над значенням для того ж самого параметра у загальносистемному файлі.


Перевага просити пароль після пробудження зберігається в ~/Library/Preferences/com.apple.screensaver.plistхоча б 10,7. Це також файл, який читає defaults read com.apple.screensaver; додавання -currentHostпрочитає той, що знаходиться в каталозі ByHost.
Лрі

І рядок в кінці був MAC-адресою 10.4 і раніше, але тепер це апаратний UUID, показаний system_profiler | grep 'Hardware UUID'.
Лрі

0

Увімкнення автоматичного входу за допомогою sudo defaults write /Library/Preferences/com.apple.loginwindow autoLoginUser ShortNameбільше не працює в macOS Sierra.

Спробуйте це замість цього: https://github.com/xfreebird/kcpassword

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.