Админская фамилия

Make Sysadmins Great Again

Сила командной строки. Вводная.

Тру-админы знают, что все операции с компьютером можно произвести так, чтобы пользователь даже не знал о том, что с его компьютером что-то происходило. И даже иметь домен не обязательно. Для самых маленьких в этой статье я опишу наиболее часто используемые мной утилиты командной строки, а в будущем, возможно, буду обновлять этот пост.Для юных админов сразу хочется сделать мотивационный пинок: не бойтесь cmd! Это ваш лучший друг и соратник. Понимаю, что при первом запуске cmd вам очень страшно и бегут какие-то непонятные буквоцифры и Морфеуса нет рядом. К этому быстро привыкаешь, и потом уже паникуешь, когда cmd не свернут в панель задач. А чтобы прокачать скилы и убить страх - ставьте Linux без графической оболочки! А ещё можно запустить tracert ya.ru и с умным видом говорить начальнику, что тестируешь производительность сетевой подсистемы южного моста виртуального сервера баз данных, запущенного в облаке.Интерпретатор командной строки cmd запускается из меню Стандартные или набором волшебных трёх букв (угадайте каких!) в строке Выполнить. Откроется черное окошко с белым приглашением. Вся это красотень настраивается как душе угодно, но сейчас не об этом.Перейдем к командам. Про ping писать не буду - и так все знают. Скажу лишь, что при добавлении к команде символов /? можно узнать много нового.Команды для работы с сетьюipconfig /all - позволяет узнать сетевые настройки: MAC сетевушки, IP-адрес, адреса шлюза и DNS серверов.ipconfig /flushdns - очищает кэш DNS. При подозрениях на проблемы в работе DNS, первым делом запускайте эту команду.ipconfig /renew - обновляет настройки сетевого адаптера с DHCP-сервера.netstat - отображение статистики TCP/IP и текущих сетевых подключений. Имеет множество параметров.netstat -a - отображает все подключения и ожидающие порты.netstat -b - отображает процесс, ответственный за открытый портnetstat -p TCP - выводит данные только по TCP. То же самое есть по UDP и TCPv6, UDPv6.netstat -r - выводит таблицу маршрутизации.Я чаще всего пишу так netstat -an | findstr :80. Тут мы получаем список всех соединений с/на порт 80. И если они есть, следующим запросом можно уже поискать какая программа пытается соединиться netstat -anb.arp -a - отображение таблицы преобразования IP-адреса в MAC. Полезно, когда нужно узнать MAC удаленного компьютера по его IP или наоборот.nslookup - проверяет соответствие IP-адреса DNS-имени. Используется при определении неисправностей системы DNS.Ещё существует целый отдельный шелл для работы с сетью. Он так и зовется netsh (net shell). Его возможности огромны. Приведу лишь наиболее используемое.netsh winsock reset - сброс сокета. Т.е. мягкий сброс всех сетевых настроек. О более жестком сбросе здесь.netsh позволяет детально настроить сетевую конфигурацию или посмотреть определенные значения, даже недоступные в графическом интерфейсе. За более подробной информацией предлагаю обратиться к встроенной справке (netsh /?).Семейство утилит net позволяет подключать/отключать сетевые диски (net use), расшаривать ресурсы (net share), просматривать расшаренные ресурсы в сети (net view). Последняя команда помогает при непонятных проблемах с подключением к общим папкам - можно увидеть конкретную ошибку, которую не показывает GUI. Утилиты net позволяют работать не только с сетью, несмотря на название. Можно создать локального пользователя (net user username /add), добавить его в группу (net localgroup groupname username /add), запустить (net start servicename) или остановить (net stop servicename) службу. Предлагаю поближе познакомиться с этими утилитами и они окажут вам хорошую помощь. Ну а если будет время и желание, то я сам постараюсь подробнее расписать о них в следующих постах.Управление удаленным компьютеромМногие начинающие админы считают, что терминал это прошлый век и недооценивают его возможности, так как все нужные операции можно произвести из графического интерфейса. А знаете ли вы, что все эти операции можно произвести и на удаленном компьютере, причем абсолютно незаметно для пользователя и без применения средств удаленного администрирования вроде RAdmin и TeamViewer? Ведь зачем отрывать дорогого бухгалтера от расчета вашей зарплаты только для того, чтобы посмотреть запущена ли на его машина служба общего реестра? Можно ведь просто набрать в командной строке sc \buhpc query remoteregistry.Вообще утилита sc довольно мощная - с её помощью можно детально настраивать управление службами. И не только на удаленном компьютере.Для управления удаленной машиной я использую утилиты Sysinternals великого Марка Руссиновича. Чаще всего это PsExec. Она позволяет запустить командную строку или любой другой процесс на удаленной машине (psexec \remotepc cmd). А дальше делать с ней всё, что захочется. Для этого нам и нужна сила cmd.Управление принтерами - prnjobs. Сам ещё не юзал, но обязательно разберусь и отпишусь.Ну вот и назрела тема для нескольких следующих постов. Это sc, prn*, net, netsh, wmic и Sysinternals. Ждём продолжения!1, 2


Обзор и первоначальная настройка D-Link DFL-260e

Аппаратный файерволл D-Link DFL-260e используется в качестве пограничного звена между локальной сетью и Интернет.

Функций и производительности рассматриваемого файерволла вполне достаточно для обслуживания средней компании с числом активных пользователей сети около 100. 

Итак, что же умеет данная железяка.

  1. Port Based VLAN
  2. IDS/IPS
  3. Потоковое антивирусное сканирование
  4. Web-фильтр
  5. IPSec/PPTP/L2TP Server/Client
  6. Ну и стандартные плюшки в виде DHCP-сервера, гибкого файерволла и т.д.

При первом включении мастер просит нас задать пароль админа (дефолтный пароль стандартен для D-Link’a - admin, IP - 192.168.10.1), установить настройки SNMP сервера и настроить адреса интерфейсов - всё тривиально.


Нет доступа к папке для группы

Столкнулся с такой проблемой. Есть папка \server\docs\marketing. Нужно “правильно” дать доступ к этой общей папке.По уму создал группу ACL_Marketing_Share_RW, член этой группы - группа Marketing, член этой группы в свою очередь - user. Группе ACL_Marketing_share_RW дал доступ на запись к указанной папке. Пользователя user по сети не пускает в эту папку с разными ошибками - то “Расположение недоступно”, то “Нет доступа” - в общем сдохни МС, никсы рулят =). Если давать доступ к папке конкретно юзеру - всё работает. Где проблема?Гугление привело к этому: 1, 2, 3, 4.Короче нужно перелогиниться - так обновляется access token пользователя. Сделал, как советуют - помогло. Курите текнет коллеги!


PowerShell. Заметки.

Начал использовать PowerShell. Инструмент очень мощный. По мощности сравним с шеллом никсов. Не буду утверждать что круче - не разбираюсь ни в том, ни в другом. Решил сделать в качестве памятки несколько заметок по использованию этого инструмента.1. Заметка номер раз. Простейшие регулярные выражения в PS.^ - начало строки$ - конец строки. - один любой символУдалить подстроку или заменить её - -replace . Простейший способ редактирования строк без вникания в код и написания “нормальных” регэкспов - тупо удалить нужное кол-во символов. (Get-Content .\list.txt)  -replace “^………………………………” | Set-Content list1.txtПолучили содержание файла, прошли по строкам, в каждой строке удалили какое-то количество первых символов, записали в файл.2. Получить список файлов, открывавшихся определенным пользователем в определенную дату.Get-EventLog security -after (Get-Date -hour 0 -minute 0 -second 0) | ?{$.eventid -eq 560} | ?{$.username -eq “username”}Здесь мы получаем события журнала безопасности за текущую дату с 0 часов, 0 минут, 0 секунд с eventid равным 560 (аудит успеха. открытие объекта. Эта информация здесь: Описание событий системы безопасности) и именем пользователя username.Но для того, чтобы эта команда сработала, необходимо чтобы велся аудит доступа к файловой системе. Об этом можно почитать тут. Позже сам напишу подобный мануал.Дальше больше3. Теперь скрипт по мотивам предыдущей заметки. Назначение: получить список пользователей, пытавшихся открыть файлы на ФС. Получаем время доступа, имя файла и имя пользователя.$Events = Get-EventLog security | ?{$.eventid -eq 560}$Data = New-Object System.Management.Automation.PSObject$Data | Add-Member NoteProperty Time ($null)$Data | Add-Member NoteProperty UserName ($null)$Data | Add-Member NoteProperty File ($null)$Events | %{$Data.time = $.TimeGenerated$message = $.message.split("n") | %{$_.trimstart()} | %{$_.trimend()}</span></i><br /><i><span style="color: #990000;"><br /></span></i><i><span style="color: #990000;">$Data.UserName = ($message | ?{$_ -like "Пользователь-клиент:*"} | %{$_ -replace "^.+:."} )&nbsp;</span></i><br /><i><span style="color: #990000;">$Data.File = ($message | ?{$_ -like "Имя объекта:*"} | %{$_ -replace "^.+:."})&nbsp;</span></i><br /><i><span style="color: #990000;"><br /></span></i><i><span style="color: #990000;"><br /></span></i><i><span style="color: #990000;">$data | Out-File F:\Docs\fs1.txt -Append</span></i><br /><i><span style="color: #990000;">}&nbsp;</span></i><br /><br />Разберем по строкам.<br /><br />Первая строка получает события типа "безопасность" с кодом 560 (Get-Eventlog - получить данные журнала событий, security - данные журнала "безопасность", где свойство eventid каждого (|) события ($_) эквивалентно (-eq) 560).<br /><br />Вторая строка создает объект PSObject. 3-5 строки добавляют в объект поля Time, UserName и File.<br /><br />Затем пробегаемся по событиям следующим способом.<br />В поле time объекта Data записываем время создания строки с сообщением (время доступа к файлу).<br /><br />&nbsp;Строкой&nbsp;<i><span style="color: #990000;">$message = $_.message.split("n") | %{$.trimstart()} | %{$_.trimend()} — в переменную message заносим массив строк, которые разделяются символом переноса строки (’n), функции trimstart(), trimend() убирают все лишние символы в конце и в начале строки, функция split разделяет строку.Далее во вновь образовавшемся массиве мы ищем совпадения по строке «Пользователь-клиент:» и «Имя объекта:», а -replace в дальнейшем удаляет эти регулярные выражения, оставляя саму информацию. И последней строкой записываем то, что получилось в итоге в файл. Получается что-то типа этого:Time                                    UserName                                File                                   —-                                    ——–                                —-                                   13.06.2013 16:52:22                     Seti                                    Docs\Сети\Общая папка\Реестры счетTime                                    UserName                                File                                   —-                                    ——–                                —-                                   13.06.2013 16:52:22                     Seti                                    Docs\Сети\Общая папка\Реестры счетСкрипт создан при помощи этих постов: хабр, Поданс.


Google Analytics

Пытаюсь разобраться с этим сервисом. Не ради монетизации, а интереса для. Надеюсь, получится. И отписаться тоже, надеюсь выйдет.


Полёт продолжается!


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

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


Почему дорого стоят серверные винты

Интересная статья о некоторых особенностях серверных HDD.http://sysadminblog.ru/hard/2013/01/11/chto-takoe-sct-erc-ili-pochemu-dorogo-stoyat-horoshie-servernye-vinty.html


Настройка LVM

Наконец-то я добрался до своего уютненького бложика. Позже напишу для истории причину столь долгого перерыва, а сейчас только Linux, только хардкор.Итак, сегодня я наконец-то исполнил свои давнишние планы и поднял LVM на любимом Debian’e, не включавшемся последние полгода. Здесь и опишу как это было.Поехали. Имеем пингвина (в моем случае Debian). У меня 4 жестких диска. fdisk -l и /etc/fstab говорят вот о чем:sda 320 GB - sda1 /boot - sda2 / - sda3 /home - sda4 /swap sdb 160 GB - sdb1 /home/virtual/virtual2 - sdb2 - ntfs раздел Windows sdc 160 GB - sdc1 /home/virtual/virtual3 - sdc2 - ntfs раздел Windows sdd 1000 GB - sdd1 /home/video - sdd2 - не используется - sdd3 - не используетсяНачал с простого знакомства с LVM. Решил один диск на 160 GB оставить под винду, второй на 160 - в LVM и зашифровать (тоже интересно покопаться с этой штукой), а 1000 GB и 360 GB объединить и разбить на несколько разделов. С количеством разделов пока не определился.Для настройки LVM необходимо установить пакет lvm2: sudo aptitude install lvm2Все дальнейшие операции проводятся из под рута (делаем su).Создаём физические разделы: pvcreate /dev/sdbСразу оно не завелось. Поэтому готовим хард: dd if-/dev/zero of=/dev/sdb bs=1k count=1k blockdev –rereadpt /dev/sdb fdisk /dev/sdb -t 0x8e -w pvcreate /dev/sdbТо же самое со вторым диском.Создаём группу томов: vgcreate vg00 /dev/sdb /dev/sddИ, наконец, на созданной группе создаем логические тома (разделы): lvcreate -L 1000G -n lv00datalv00data - название логического тома. Может быть любым.На этом работа с LVM закончена и начинается работа с файловой системой. Форматируем в нужню ФС. Я решил отформатировать раздел /data в XFS (т.к. именно эта ФС хорошо работает с большими фалами. Да и поковыряться с новой для меня ФС интересно). Из коробки Debian не умеет работать с этой ФС. Поэтому пришлось установить пару пакетов: aptitude install xfsprogs xfsdumpФорматируем mkfs.xfs /dev/vg00/lv00dataТе же самые операции с остальными разделами.После перезагрузки тома из LVM не захотели монтироваться по UUID, хотя в последнем релизе Debian монтирование дисков происходит именно по UUID. Когда поправил /etc/fstab по названию тома - всё пришло в норму.Ничего нового или оригинального в этом посте нет - просто на память. Вся инфа отсюда: xgu habrЕсли не уверены в своих силах - сделайте бэкап данных. Учтите, что диски, используемые в LVM форматируются и таблица разделов на них сносится. Для меня это было первым шагом в LVM, дальше хочу перенести всю систему туда и зашифровать один раздел. Работающую систему переносить страшно, поэтому нутром чую, что следующий пост будет про бэкапы =)UPD 29-05-2013: XFS делайте только если оно вам действительно надо. Т.е. если на 3 ТБ винте храните фильмы BD качества или большие БД. В большинстве случаев на домашней машине эта ФС не нужна. Запомните, она очень капризна и рассыпется практически без возможности восстановления при любом удобном случае. Например, моя гостья не нашла в меню выключение компьютера и просто дернула его из розетки. Хорошо хоть ничего особо ценного на разделе с XFS не было. Восстанавливать даже не пытался - времени не было.


Linux. Разбивка диска

http://ubuntologia.ru/forum/viewtopic.php?t=1651&amp;f=93