2016-02-01 4 views
-1

Я недавно отправил вопрос SO о проблеме с записью в файл на C++. В одном из комментариев я упомянул, что я работал в режиме администратора. Более поздний комментарий:Почему работает самозанятый, непроверенный код в режиме администратора, плохая идея?

Запуск самозанятого, непроверенного программного обеспечения в режиме администратора - плохая идея. Никогда не делай этого.

Это заставило меня задаться вопросом, почему это так? Каковы последствия? Я пережил ситуации, когда проект не загружался - если только в режиме администратора. Это относится только к машинам, которые не принадлежат вам (например, рабочим машинам) или ко всем машинам?

+0

Существует 100 вещей, которые могут пойти не так, как говорят ... скажем, у вас есть функция рекурсивного удаления и предполагается, что она работает в определенной папке, на самом деле рабочий каталог оказывается '% windir%', потому что вы используете 'cmd/c' как команда запуска. Тем не менее, я знаю много людей, которые развиваются как админ. И действительно, некоторые операции (например, отладка процессов других пользователей) требуют этого. – jessehouwing

ответ

1

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

Теперь.

Неиспользованное программное обеспечение может содержать ошибки.

No, belay that.

Неиспользованное программное обеспечение содержит содержит ошибки.

Это может привести к перезаписи файлов, изменению настроек и т. Д.

Одно дело потерять файл "test.txt". Другое дело, чтобы неправильное регулярное выражение уничтожило половину реестра, или пропущенный путь к файлу попал в системные библиотеки (или ваш 90% -ный магистерский тезис ...), который был перезаписан.

Запустите свое программное обеспечение - любое программное обеспечение, на самом деле - с минимальным набором разрешений, которые могут выполнять свою работу.

+0

Благодарим за помощь! – pookie

+0

'(или ваш 90% -ный магистерский тезис ...) перезаписывается.« Надеюсь, вы не говорите здесь из опыта! – pookie

+0

@pookie: Нет, не написано магистерской диссертации в моей жизни, и держите большие проекты под строгим контролем версий. Но я уничтожил много вещей, которые я бы предпочел сохранить (и еще не внесен в репозиторий), обычно, хотя и небрежным использованием подстановочных знаков в командной строке. Что, в основном, одно и то же. ;-) – DevSolar

0

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