Какой смысл использовать обычную учетную запись без прав администратора в OS X?

Этот совет старый, но снова входит в моду. В последнее время я часто видел это на нескольких веб-сайтах или форумах Mac. «Ваша «повседневная» учетная запись пользователя не должна быть учетной записью администратора. Это должна быть стандартная учетная запись, созданная для этой цели, и вы должны входить в учетную запись администратора только для выполнения реальных задач администратора. »

Это кажется распространенным советом в мире Windows, но для современной системы OS X я просто не могу понять, какие преимущества он дает. Давайте углубимся в это:

  • Учетные записи администратора OS X не являются учетными записями root. Любое приложение, желающее получить права root, в любом случае запросит ваш пароль, поэтому я не вижу здесь дополнительного уровня безопасности. Попробуйте положить /varв корзину.
  • SIP от El Capitan предотвратил глубокую модификацию ОС или внедрение кода в наиболее важные файлы, независимо от того, являетесь ли вы администратором, пользователем root или никем. Более того, в чувствительных местах, где они все еще разрешены, для таких модификаций потребуется как минимум пароль root, даже от учетной записи администратора, что возвращает нас к первому аргументу.
  • Для шпионских программ, проблем с конфиденциальностью и подобных вещей использование стандартных учетных записей обеспечивает небольшую дополнительную защиту, если таковая имеется. Насколько мне известно, даже при использовании из стандартной учетной записи приложения имеют полный доступ к личным файлам пользователя и имеют полный доступ к сети (минус любой брандмауэр и т. д.). Если плохое приложение хочет отправить домой ваши документы, оно может сделать это из стандартной учетной записи.
  • Основные линии защиты (брандмауэр, работающие доверенные приложения и т. д.) распространяются на всю систему.
  • С другой стороны, очень сложно переключиться на учетную запись администратора, а затем вернуться к стандартной учетной записи, туда и обратно. На самом деле это может привести к тому, что пользователь отложит обновления или административное обслуживание, просто чтобы сэкономить время и отложить решение хлопот.

Так почему бы не использовать учетную запись администратора? Я надеюсь, что это не будет помечено как дубликат, другие вопросы, связанные с этой проблемой, не касались этих аргументов.

Изменить: вопрос относится к компьютеру, которым вы владеете и управляете.

Ответы (7)

На каждом компьютере с OS X есть только одна учетная запись root, и по умолчанию она отключена . У него нет пароля, и вы не можете войти в систему как root , если вы специально не используете утилиту каталогов и не активируете ее. Это опасно, потому что при входе в систему как root система обходит всю авторизацию - даже не запрашивает пароль. В этом аспекте компьютер с OS X действительно не имеет root -прав , что является хорошей вещью™.

Учетные записи администраторов — это просто стандартные учетные записи, которые также входят в группу администраторов . Любое действие в OS X, выполняемое вошедшим в систему пользователем, проверяется по базе данных авторизации (вы можете увидеть ее правила в /System/Library/Security/authorization.plist , чтобы увидеть, требуется ли аутентификация или ее достаточно для аутентификации как владелец сеанса (обычный пользователь, вошедший в систему) или вы должны быть членом группы администраторов. Это дает очень тонкий контроль. Таким образом, могут возникнуть три возможности, например, в Системных настройках .при нажатии на запертый замок. При нажатии он может просто разблокироваться без аутентификации, он может предложить диалоговое окно аутентификации с уже введенным именем учетной записи (что означает, пожалуйста, подтвердите, что это вы) или может предложить диалоговое окно аутентификации с пустыми полями имени учетной записи и пароля (что означает, что вы не являетесь администратором, пожалуйста позвоните администратору, чтобы ввести свои учетные данные).

Эмпирическое правило заключается в том, что все, что может повлиять на других пользователей на компьютере (общесистемное изменение), требует административной аутентификации. Но это более сложно, чем это. Обычные пользователи, например, могут устанавливать приложения из Mac App Store в папку /Applications (что является общесистемным изменением), но не могут обойти GateKeeper для запуска неподписанных приложений, даже если только в пределах своих собственных данных. Обычные пользователи не могут вызывать sudo , что имеет плохой побочный эффект, заключающийся в том, что аутентификация не требуется в течение 10-15 минут после этого. Умело разработанный сценарий попросит вас пройти аутентификацию администратора для чего-то, что вы одобряете, но после этого он будет делать всякие странные вещи, о которых вы ничего не знаете.

Стандартными пользователями также можно управлять с помощью родительского контроля или профилей конфигурации, а также применять политики паролей. Пользователи с правами администратора не могут этого сделать.

Защита целостности системы учитывает тот факт, что люди щелкали пакеты установщика и вводили пароли так легко, что пользователи становились самым слабым звеном. SIP просто пытается удержать систему на плаву, и ничего больше (и иногда это тоже не удается).

Вы не поверите, сколько людей, которых я видел, имеют только одного пользователя на компьютере (который также является учетной записью администратора) и даже без пароля учетной записи, просто чтобы почувствовать небольшое снижение раздражения в виде активности окна входа в систему.

Я не могу согласиться с вашим мнением, что переключаться на учетную запись администратора, когда это необходимо, неудобно. Если вы находитесь в терминале, вам нужно только su myadminacct , прежде чем что-либо делать, включая sudo или запуск Finder от имени другого пользователя, выполнив /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder .

В графическом интерфейсе обновления Mac App Store (включая обновления OS X) не требуют аутентификации администратора. Те установочные пакеты, которые попадают в папку «Загрузки», включая обновления Adobe Flash, да, вы должны быть очень осторожны, прежде чем открывать те , которые выполняют дополнительную работу, и трижды убеждаться, что они пришли из нужного места и не полны гадостей.

Вот почему я думаю, что использование Mac со стандартной учетной записью лучше и безопаснее, чем с учетной записью администратора, потому что это защищает меня от моих собственных ошибок и оплошностей. Даже большинство знающих пользователей не проверяют каждый загруженный скрипт построчно, чтобы увидеть, не происходит ли чего-нибудь подозрительного.

Я надеюсь, что в будущем контроль может стать еще более строгим, например, введение условий или расписаний, когда приложение (или сценарий, или любой исполняемый файл) может быть запущено или иметь доступ к сети, или что исполняемый файл может даже не запускаться, если я этого не сделал. явно не разрешал это (диалог аутентификации) в течение последнего месяца или около того.

Большое спасибо и +50, это действительно первый реальный ответ (и пока единственный), который я получил
Я хотел бы отметить, что как неадминистратор я могу обойти гейткипер с помощью xattrкоманды в Терминале.

Безопасность лучше всего реализовать в виде многоуровневой, многовекторной стратегии .

Принцип наименьших привилегий (POLP) — это еще один винтик в механизме, обеспечивающем безопасность вашего компьютера.

Все, что вы там перечислили, хорошо, но ничто из этого не помешает кому-то захватить ваш компьютер с помощью эксплойта, такого как Dropped Drive Hack .

  • Как брандмауэр не позволяет пользователю вставить USB-накопитель с внедренным в него эксплойтом удаленного управления?

  • Как SIP предотвращает захват ваших нажатий клавиш кейлоггером?

  • Какое значение имеет наличие SIP, если администратор может легко отключить его?

  • Как предотвратить установку несанкционированного/нелегально лицензированного программного обеспечения? Учетная запись с ограниченным доступом гарантирует, что пользователи, которым не следует устанавливать программное обеспечение, не будут его устанавливать.

Ваша последняя линия защиты — это использование учетной записи, не являющейся учетной записью администратора, чтобы вы могли смягчить угрозу, установив еще один уровень безопасности (аутентификацию пользователя), когда вредоносное ПО пытается установить себя.

Я говорил это в течение, кажется, эонов сейчас:

«Безопасность» — это не продукт, который вы покупаете, и не переключатель, который вы включаете; это практика , это образ мышления , чтобы использовать все инструменты, которые вы можете, чтобы минимизировать свой риск.

Спасибо; на самом деле это не совсем отвечает на вопрос, я должен был уточнить, что использовал брандмауэры и SIP только в качестве примеров. «Безопасность — это не переключатель, использование учетной записи без прав администратора добавляет уровень безопасности» . Хорошие высказывания, но мой вопрос в том, как . Можете ли вы описать ситуацию, когда стандартная учетная запись фактически предотвращает угрозу лучше, чем учетная запись администратора, запрашивающая пароль root, который можно принять или отклонить? Кейлоггер, насколько мне известно, даже близко не попадает в эту категорию. И если вы можете отключить SIP, не спрашивая ваш пароль root, покажите мне, как это сделать!
С чего вы взяли, что все угрозы ограничиваются вредоносными программами? Почему вы разрешаете пользователю устанавливать программное обеспечение, которое обращается к данным/системе, к которой у него нет доступа? Во-вторых, вы понимаете, что «sudo» доступен для администратора, верно?
Я не отрицаю полезность стандартных аккаунтов в буре глупости. Вопрос не в том, зачем существуют стандартные аккаунты? Просто: когда вы используете свой собственный Mac, есть ли точная, фактическая причина с точки зрения безопасности использовать стандартную учетную запись для повседневных задач вместо входа в свою учетную запись администратора.
Этого различия нет в вашем вопросе, не так ли? Теперь, что касается Windows, она автоматически уменьшает ваш POLP в зависимости от того, что вы делаете, даже если вы являетесь администратором. Вы также, кажется, замалчиваете «Dropped Drive Hack», когда люди просто «волей-неволей» вводят свой пароль в любом всплывающем диалоговом окне. Наличие стандартной учетной записи защищает от этого.

Обычно считается лучшей практикой использовать учетную запись, у которой не больше прав, чем требуется. Обычно это означает, что вы должны использовать учетную запись с самым низким уровнем привилегий и повышать свои привилегии, когда это необходимо для конкретной задачи, требующей более высоких привилегий.

Однако это довольно быстро надоедает. Причина этого в том, что то, что вам или мне кажется простой задачей («Я только хотел включить WiFi»), рассматривается как привилегированная операция для ОС («Вы хотите включить сетевое устройство и разрешить машине быть помещенным в некоторую случайную сеть").

Найти баланс между удобством и безопасностью намного сложнее, чем кажется, и лично я считаю, что OS X справляется с этим намного лучше, чем некоторые другие ОС, такие как Windows.

Если вы все время работаете от имени администратора, вы можете случайно щелкнуть электронное письмо, содержащее ссылку на сайт, содержащий ненужное ПО, и оно автоматически запустит сценарий, который выполняет некоторую перенастройку без вашего ведома. Но если вы работаете как непривилегированный пользователь, то, как только этот скрипт запустится, ОС выдаст всплывающее диалоговое окно с сообщением: «Этот вредоносный скрипт хочет что-то сделать с вашим компьютером. Пожалуйста, подтвердите, введя свой пароль». Обычно это вызывает тревогу или удивление, если это не то, что вы ожидаете увидеть в этот момент.

Кроме того, что более важно, вы настраиваете компьютер для кого-то еще. Кто-то из вашей семьи не разбирается в компьютерах. Это отличная идея дать им непривилегированный логин и оставить пароль администратора для себя, чтобы в следующий раз, когда они нажмут на какой-нибудь старый мусор (по их обыкновению), они НЕ МОГУТ заразить компьютер дерьмом. Они иногда жалуются, когда вы делаете это, но вам нужно только напомнить им о том времени, когда у них было 35 панелей инструментов, установленных в IE 6, и каждый раз, когда они выполняли поиск в Google, они получали страницы всплывающих окон с порнографией, прежде чем они неохотно согласятся, что это может быть хорошей идеей. Недостатком является то, что они будут звонить вам чаще, чтобы вы разблокировали их компьютер, когда они хотят обновить плагин Flash.

Как было сказано ранее: безопасность — это отношение, а не простой переключатель, который можно щелкнуть.

Спасибо! Есть пример такого скрипта? Я имею в виду дерьмовый скрипт с веб-сайта, который будет запускаться без запроса пароля, если он запущен от имени администратора, но заблокирован, если вы используете стандартную учетную запись? -- Я не хочу звучать раздражающе, мне действительно интересно ;-) У меня сложилось впечатление, что, как вы сказали, OS X довольно высоко поднимает планку требований к паролю, даже от администраторов (отсюда и вопрос)
У меня нет примера, но вполне возможно, что скрипт может быть создан так, чтобы он выдавал безобидный на вид запрос на запуск (для этого не должно требоваться повышение прав), и если пользователь не является админом, он бы тогда запросить аутентификацию в качестве администратора, чего может не быть, если текущий пользователь уже является администратором.

Позвольте мне посмотреть, как ваши причины будут работать или нет:

  1. Учетные записи администратора не являются root. Хотя это правда, они могут быть в состоянии звонить sudoи, возможно, у них даже может быть пароль, готовый для ввода (или они sudoбыли настроены так, чтобы не запрашивать пароль).

  2. SIP (защита целостности системы): это только один уровень, которого недостаточно для всех атак. Можно отключить? Даже лучше!

  3. Аргумент шпионского ПО: Ну, возможно. Привилегии все еще недостаточно разделены. Но даже так, это все еще ограничение.

  4. Основные линии защиты распространяются на всю систему: № 1 говорит, что приложения, работающие под учетными записями администратора, могут получить root.

  5. Переключение? Широко известно, что вы можете выполнять задачи, связанные с администрированием, из стандартных учетных записей, если вы вводите пароль учетной записи администратора. Нет необходимости на самом деле делать реальную смену учетных записей.

Добро пожаловать в Ask Different. Совет... мы ничего здесь не "атакуем". Подумайте о том, чтобы переписать свой ответ, чтобы он не был таким конфронтационным.
@Allan Возможно, это редактирование сделает его лучше?
Намного лучше. См. мои правки для примеров того, как форматировать с использованием (ограниченной) HTML-разметки и некоторых фраз.
@Аллан Спасибо за правки. Разметка кода, в которой я был на самом деле довольно хорошо разбирается, однако я на самом деле не думал о том, чтобы вставлять имя " sudo" в такой код. Я не уверен, как вы сделали это фактическое перечисление (я также привык к Quora, который теперь делает это автоматически)
Числовая нумерация - это число, за которым следует точка и пробел. Пример: "1. Пример 1" "2. Пример 2"
@ Аллан Ну, я должен попробовать. Где может быть хорошая песочница для того, чтобы попробовать это?
Я не знаю. Просто попробуйте в следующем вопросе/ответе.
Пробовал этот, но кажется, что мне не хватает репутации (всего 101 вместо 200)
Ставлю минус не потому, что неинтересно, а потому, что мой вопрос не был понят и не рассмотрен.
@Zozor Ну, на самом деле в Unix возможно, что ни одна из этих причин не является достаточно хорошей, и я действительно работаю довольно небезопасно (sudo с NOPASSWD в моей основной учетной записи). Однако Windows может быть менее безопасным; не так плохо, как раньше (XP, 7-с отключенным UAC), но все же часто есть некоторые привилегии, которые приложения могут использовать напрямую для повышения.

Если у вас есть другие члены семьи, которые не разбираются в компьютерах, или вы хотите ограничить их доступ (например, дети), или вы являетесь работодателем, который хочет ограничить доступ сотрудников, которые могут использовать машину, то абсолютно да; все еще есть причины иметь учетные записи без прав администратора в osx для ежедневного использования.

Если у вас есть компьютер и вы хотите им управлять, используйте административную учетную запись.

Если вы не хотите, чтобы другие пользователи могли «администрировать» что-либо, очень полезны учетные записи без прав администратора. Кроме того, вы никогда не знаете, когда вам может понадобиться одолжить машину, учитывая момент, когда кто-то спрашивает: «Эй, могу я просто одолжить ваш Mac, чтобы сделать что-то очень быстро?», Это дает душевное спокойствие, чтобы иметь возможность выйти из системы и войти в систему. их в то, что некоторые могут считать «полу-гостевой» учетной записью, которую вы создали и для которой были настроены разрешения.

Наверняка есть и другие причины, но вот моя: на учетную запись администратора нельзя поставить ограничения. Полезно иметь ограничения, чтобы предотвратить посещение нежелательных или опасных сайтов.

Почему минус?

ПРИМЕЧАНИЕ. Этот ответ был «в процессе», когда этот вопрос был закрыт. Вместо этого я публикую это здесь.

Отвечать:

Ваш вопрос может касаться мнений, и он также похож на этот вопрос . Я слышал обе стороны аргумента, и аргументы обеих сторон, по крайней мере, частично субъективны. Я не слышал однозначного, универсального аргумента за или против этого. Поэтому мой вывод (и мой ответ) заключается в том, что все сводится к личным предпочтениям и индивидуальному варианту использования.

С одной стороны, некоторые из наших компьютеров Mac являются однопользовательскими машинами, и разделение привилегий может показаться бессмысленным. С другой стороны, говоря только за себя, мне скорее нравится идея, что система «оспаривает» мои решения, потому что это дает мне возможность подумать еще раз.

Другой аспект этого разделения привилегий заключается в том, какую часть macOS вы используете: «часть Unix» или «часть GUI»? Здесь все становится более размытым, потому что в macOS есть инструменты и утилиты, которые «перекрываются» — то есть есть много настроек, которые можно выполнить через CLI (интерфейс командной строки, также известный как Terminalприложение), которые также можно выполнить через интерфейс GUI.

В случае «Unix-части» macOS разрешения/привилегии по умолчанию могут быть изменены в файле sudoersдля повышения привилегий для пользователя без прав администратора. В случае с «GUI-частью» macOS разрешения и привилегии контролируются (частично) через базу данных авторизации ( все, что вы хотите знать, есть в этом ресурсе Apple ).

Все это как-то сумбурно, как мне кажется. ИМХО, если у вас система однопользовательская, то вы и Администратор - вне зависимости от того, решите ли вы использовать один логин или два. Поэтому этот вопрос сводится к: «личным предпочтениям». Если это многопользовательская система, это лошадь другого цвета, но я бы сказал , что в большинстве случаев следует создать вторую учетную запись администратора. Но опять же, это зависит от вашей ситуации и ваших суждений.

Основываясь на всем вышесказанном, я решил создать непривилегированную учетную запись (обычный пользователь) для «нормального» использования и зарезервировать свою учетную запись администратора в качестве резервной копии для потенциально неосторожных решений. Я довольно часто использую интерфейс командной строки, поэтому я добавил свою обычную учетную запись пользователя в sudoersфайл, чтобы в качестве исключения предоставить привилегии администратора/корневого пользователя. Это работает для меня.

PS Используйте надежный пароль для своей учетной записи администратора.

Единственное, что контролирует файл sudoers, — это команды, которые пользователи могут запускать через sudo. Есть много разрешений (вероятно, большинство), совершенно не связанных с этим.
@nohillside: извините, но смысл вашего комментария полностью ускользает от меня.
Ваше описание роли файла sudoers не очень точное. Он не контролирует разрешения CLI.
@nohillside: я думаю, что это точно, и я дал ссылку на более подробное объяснение . Но IIRC, вам тоже не понравился этот ответ - опять же, по непонятным мне причинам. Возможно, мы должны обсудить это в chat?? Я более чем счастлив исправить любые ошибки или упущения.
«Часть Unix» и часть «GUI»? Хм? macOS в целом представляет собой полноценную сертифицированную ОС Unix . Вы не получаете разные разрешения в зависимости от среды, в которой вы находитесь в определенное время. Поскольку sudoersэто не что иное, как файл, определяющий, на какие повышенные привилегии имеет право пользователь и что можно/нельзя делать с указанными привилегиями.
У меня 3 детей и 5 племянников/племянниц, которым время от времени нужно пользоваться моими компьютерами. Гораздо проще дать им собственную учетную запись, чтобы они никогда не могли повлиять / потерять / удалить какую-либо из моих незавершенных работ. Самая большая проблема - время от времени сбрасывать пароль, когда они забывают...
@SolarMike: Вау, сколько пользователей! Похоже, вы справляетесь с этим правильно, но я не завидую вашей административной нагрузке!
Как сказал Аллан: файл sudoers контролирует доступ к sudo (и к командам, которые вы можете запускать через sudo), он не контролирует доступ к системе как таковой. Я могу запустить sudo -sодин раз, а затем делать все, что захочу (в том числе rm -rf /). Или включите учетную запись root и никогда не нуждайтесь в sudo.
Да, как администратор вы можете это сделать. Но дело не в этом. Опустим - вы не поняли.