среда, 31 июля 2013 г.

Виды резервного копирования (full, Differential, Incremental)

Полное резервное копирование (Full backup)
Полное копирование обычно затрагивает всю вашу систему и все файлы. Еженедельное, ежемесячное и ежеквартальное резервное копирование подразумевает создание полной копии всех данных. Обычно оно выполняемым по пятницам или в течение выходных, когда копирование большого объёма данных не влияет на работу организации. Последующие резервные копирования, выполняемые с понедельника по четверг до следующего полного копирования, могут быть дифференциальными или инкрементными, главным образом для того, чтобы сохранить время и место на носителе. Полное резервное копирование следует проводить, по крайней мере, еженедельно.
Дифференциальное резервное копирование (Differential backup)
При разностном (дифференциальном) резервное копировании каждый файл, который был изменен с момента последнего полного резервного копирования, копируется каждый раз заново. Дифференциальное копирование ускоряет процесс восстановления. Все, что вам необходимо - это последняя полная и последняя дифференциальная резервная копия. Популярность дифференциального резервного копирования растет, так как все копии файлов делаются в определенные моменты времени, что, например, очень важно при заражении вирусами.
Инкрементное резервное копирование (Incremental backup)
При добавочном («инкрементном») резервном копировании происходит копирование только тех файлов, которые были изменены с тех пор, как в последний раз выполнялось полное или добавочное резервное копирование. Последующее инкрементное резервное копирование добавляет только файлы, которые были изменены с момента предыдущего. В среднем, инкрементное резервное копирование занимает меньше времени, так как копируется меньшее количество файлов. Однако, процесс восстановления данных занимает больше времени, так как должны быть восстановлены данные последнего полного резервного копирования, плюс данные всех последующих инкрементных резервных копирований. При этом, в отличие от дифференциального копирования, изменившиеся или новые файлы не замещают старые, а добавляются на носитель независимо.

среда, 3 июля 2013 г.

В чем разница между аутентификацией и авторизацией?

Источник
Полезная ссылка

Аутентификация - это проверка соответствия субъекта и того, за кого он пытается себя выдать, с помощью некой уникальной информации (отпечатки пальцев, цвет радужки, голос и тд.), в простейшем случае - с помощью имени входа и пароля.
        Более наглядно: Аутентификация - это процесс или процедуры, используемые для проверки того, что данные или информация, заявленные как поступившие из какого-то источника, могли поступить только из этого источника. Методы, используемые для аутентификации, включают цифровые подписи, MAC и даже добрые старые пароли. Как правило, после аутентификации Вам ещё нужно быть авторизованным для доступа к ресурсам или информации.

Авторизация - это проверка и определение полномочий на выполнение некоторых действий (например, чтение файла /var/mail/eltsin) в соответствии с ранее выполненной аутентификацией.
        После того, как пользователи прошли аутентификацию, они, как правило, авторизованы (на основании их учётных данных для входа или свойств учетной записи) на получение или запрет доступа к определённым системным ресурсам, таким как файлы, приложения или сетевые ресурсы. Термин привилегия иногда используется как синоним авторизации. Так, пользователь может иметь достаточно привилегий для доступа к ресурсу X, но не к ресурсу Y, или, иными словами, они авторизованы на доступ к X, но не авторизованы на доступ к Y.

вторник, 2 июля 2013 г.

Работа с history

Использование номеров

Если вы дадите команду history, вы получите список последних введённых команд с порядковым номером перед каждой из них. Вы можете повторно запустить любую команду из истории при помощи конструкции
где n — номер записи в истории. То есть, например, инструкция
выполнит пятидесятую команду из истории. Также вы можете использовать конструкцию
если вам нужно выполнить n-ю по счёту команду, начиная с конца списка. Например, ваш вывод history выглядит так:
1  sudo su
2  exit
3  sudo apt-get update
тогда команда !1
запустит команду sudo su.

Вызов последней команды

Как часто вы вводите какую-то команду, а затем видите, что вы, намереваясь предварить её sudo, забыли это сделать? У меня такое происходит постоянно. Можно исправить это, вернувшись к последней команде при помощи клавиши «стрелка вверх» или при помощи комбинации Ctrl+p, затем, перейдя в начало строки при помощи клавиши Home или Ctrl+a вписать пропущенное sudo. Есть и более простой способ:
$ sudo !!
Это запустит последнюю команду (!!) при помощи sudo. Неплохо?
Вы, вероятно, знаете конструкцию !command, которая запустит последнюю команду из истории, которая начинается с command. Таким образом, если вы недавно запускали очень длинную команду и помните с чего она начиналась, такой способ запуска из истории может вам пригодиться. А знаете ли вы, что Bash  в этом случае ищет не команду, а ищет подстроку? То есть, вам не нужно после восклицательного знака вписывать всю команду целиком, достаточно лишь первых символов. Допустим, вы запускали что-то вроде:
$ git commit -a -m "Various and sundry notes"
Многие пользователи введут
$ !git
чтобы повторить команду, однако зачатую вполне достаточно выполнить
конечно же, при условии, что после искомой команды вы больше не выполняли команд, начинающихся с «g».
Если вам вдруг понадобится выполнить поиск не сначала строки, а в любой её части, воспользуйтесь конструкцией «!?string?». Например:
$ !?commit?

Вызов последнего параметра команды

Используя комбинацию «Esc+.» (Escape с точкой), вы можете вызывать из истории последнее слово, переданное команде в качестве аргумента. Например, вы запускали:
$ cp filename1 filename2
Теперь, если вы нажмёте «Esc+.», то вы получите «filename2». Попробуйте самостоятельно поиграть с этой функцией — очень полезная штука!
А что, если вам нужно не последнее слово, а скажем, второе? Или вообще все? Например, у вас в истории есть команда:
$ ls file1.txt file2.txt file3.txt file4.txt
и вам понадобилось вытащить два слова из середины? Легко!
$ ls !:2-3
Если же вам вдруг понадобились вообще все аргументы, переданные команде, вы можете воспользоваться такой конструкцией:
$ ls !:*

Поиск

Ещё одна полезная функция — это поиск при помощи «Ctrl+r». Нажмите «Ctrl+r» и в появившемся приглашении начните вводить часть какой-нибудь ранее ведённой команды. По мере ввода символов Bash будет пытаться найти в истории последнюю команду, содержащую указанные вами символы. После того, как найдёте, можете начать «Ctrl+r» ещё раз и Bash выведет более раннюю команду, если таковая имеется. После того, как вы отыщете нужную команду, просто нажмите «Enter» и она появится в вашей командной строке.
Если вам необходимо отредактировать команду, прежде чем запускать, воспользуйтесь традиционными «стрелкой влево» и «стрелкой вправо», чтобы переместить курсор в нужное место команды для исправления.

Безопасность

История команд очень полезная штука, однако иногда бывают ситуации, когда нежелательно, чтобы она сохранялась. Например, вы используете для работы разделяемую между многими пользователями систему и не хотите, чтобы системные администраторы системы выдели какие команды вы вводили. Даже если вы пользуетесь личным компьютером, всегда есть шанс, что он будет взломан и вам хотелось бы не хранить в истории действительно важные данные. В конце-концов вы можете захотеть не захламлять историю какими-то командами, поскольку в их хранении просто нет смысла. Например, вы можете часто пользоваться ls, однако зачем хранить её в истории, вместо того, чтобы хранить в ней только длинные и действительно полезные с точки зрения хранения команды?
Давайте посмотрим, каким способом можно управлять хранением команд в истории.
Первый способ — это определить в .bashrc переменную окружения со следующим значением:
HISTCONTROL=ignorespace:ignoredups
Опция ignorespace заставляет Bash игнорировать команды, начинающиеся с пробела. Если вам нужно, чтобы Bash не сохранил в истории команду, содержащую секретную информацию — просто предварите её пробелом.
Опция ingoredups исключает хранение в истории дубликатов команд, что часто помогает значительно разгрузить историю команд.
Вообще, некоторые дистрибутивы «из коробки» имеют эти опции установленными. Если это не ваш случай — просто добавьте строку в ваш ~/.bashrc.
Вы также можете заставить Bash игнорировать некоторые команды. Допустим, вы не хотите хранить в истории команды, содержащие имя какого-нибудь сервера. Просто определите значение переменной окружения HISTIGNORE и можете чувствовать себя спокойно:
HISTIGNORE="*myserver*"
Да, по поводу «спокойствия». На разделяемых системах некоторые пользователи могут видеть команды, запущенные вами при помощи утилит top и ps. Поэтому, если вы не уверены на 100% в надёжности системы, с которой работаете — не стоит запускать там какие бы то ни было команды, содержащие секретные данные.

Hyper-V, windows Управление с консоли

Вообще это общие команды и хоткеи для всего семейства windows, но для меня стали актуальны именно в редакции Core.


1. Если умудриться закрыть все коммандные окна в сеансе RDP - восстановить можно
комбинацией CTRL-SHIFT-ESC (обычный доступ к диспетчеру задач) со всеми вытекающими.

2. посмотреть информацию о системе можно либо вызвав консольную systeminfo, либо GUI msinfo32 
  
3. Импорт модулей в powershell. Например:
Просмотр места хранения модулей по умолчанию: $env:PSModulePath
далее копируем каталог с модулем в  системный каталог хранения модулей, например в
C:\Windows\system32\WindowsPowerShell\v1.0\Modules и перезапускаем powershell
для добавления  модуля в текущий сеанс можно выполнить командлет import-modules с параметрами.

4. Run and RunOnce Registry Keys
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOn

5.