пятница, 9 августа 2013 г.

Изменить пароль для Восстановления на Контроллере домена Windows Server 2003


Запускаем

> ntdsutil
в строке приглашения набираем

> set dsrm password

Для сброса пароля, необходимо набрать в коммандной строке
>reset password on server null 
Переменная null означает что пароль на локальной машине будет сброшен
Далее на запрос, следует указать новый пароль.
Причем во время ввода пароля символы отображаться не будут.

Для завершения работы оболочки DSRM следует набрать q
Для завершения работы оболочки ntdsutils следует набрать q

Источник

среда, 7 августа 2013 г.

OpenVpn генерация и отзыв сертификата

Система FreeBSD но неважно...

Генерация ключа для Удаленного доступа OpenVPN

 $ cd /usr/local/share/doc/openvpn/easy-rsa/2.0
 #. ./vars
 #./build-key-pkcs12 <Name>
 При генерации многих клиентов можно предварительно заполнить файл vars значениями по умолчанию.
После ответов на все вопросы и заполнения уникальных полей, в подкаталоге keys/server будет лежать комплект файлов <Name>.* Это и есть искомые сертификаты.

Отзыв сертификатов


$ cd /usr/local/etc/openvpn/easy-rsa/2.0
# . ./vars
# ./revoke-full <Name>     # для каждого удаляемого клиента проделываем такую операцию
"Revoking Certificate ... Data Base Updated"
Копируем только что создавшийся crl.pem на место того, который уже есть (путь к нему нужно смотреть в файле openvon.conf, параметр crl-verify). Если такого параметра нет – то добавляем его и указываем местоположение нового файла
crl-verify /usr/local/etc/openvpn/crl.pem
После этого ОБЯЗЯТЕЛЬНО ВЫСТАВЛЯЕМ ПРАВА ДЛЯ ФАЙЛА crl.pem 644, иначе работать не будет. openvpn не сможет прочесть этот файл (у меня openvpn работает от юзера nobody).
Делаем рестарт демона:
#/usr/local/etc/rc.d/openvpn restart
Теперь не смогут подключится те, кого мы удалили из базы.

четверг, 1 августа 2013 г.

Bacula. Основы работы с консолью.

Во-первых первоисточник .


Status - здесь можно узнать о состоянии задач,  в разрезе директора, хранилища, клиентов.
             отсюда же можно узнать последние jobid задач.

list - команда дающее более подробное представление о содержимом аргумента
.jobs - выдает список всех задач из конфига

Например надо посмотреть  все jobid для задачи "Backup-ws-014 DS". Для этого выполняем команду
list jobname="Backup-ws-014 DS" (Кавычки необязательны, если в имени нет пробела)

отсюда можно посмотреть jobid для восстановления, Дату последнего полного или дифирренцированного бэкапа, статус задания
Статусы заданий:
Enter SQL query: select * from Status;

+-----------+---------------------------------+----------+
| JobStatus | JobStatusLong                   | Severity |
+-----------+---------------------------------+----------+
| C         | Created, not yet running        |       15 |
| R         | Running                         |       15 |
| B         | Blocked                         |       15 |
| T         | Completed successfully          |       10 |
| E         | Terminated with errors          |       25 |
| e         | Non-fatal error                 |       20 |
| f         | Fatal error                     |      100 |
| D         | Verify found differences        |       15 |
| A         | Canceled by user                |       90 |
| F         | Waiting for Client              |       15 |
| S         | Waiting for Storage daemon      |       15 |
| m         | Waiting for new media           |       15 |
| M         | Waiting for media mount         |       15 |
| s         | Waiting for storage resource    |       15 |
| j         | Waiting for job resource        |       15 |
| c         | Waiting for client resource     |       15 |
| d         | Waiting on maximum jobs         |       15 |
| t         | Waiting on start time           |       15 |
| p         | Waiting on higher priority jobs |       15 |
| i         | Doing batch insert file records |       15 |
| a         | SD despooling attributes        |       15 |
+-----------+---------------------------------+----------+
 
Типы заданий:
.type
Backup
Restore
Admin
Verify
Migrate

Уровни Резервных копий:
*.level
Incremental
Full
Differential
VirtualFull
Catalog
InitCatalog
VolumeToCatalog
Base

Список файлов в задаче можно посмотреть командой
list files jobid=<номер>

среда, 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.