Показаны сообщения с ярлыком ОС. Показать все сообщения
Показаны сообщения с ярлыком ОС. Показать все сообщения

Меняю дистры как перчатки.

Хотя нет. Перчатки меняю реже.
В общем под влиянием речей SpxnezzaR'a  решил попробовать arch.
Слил базовый образ. Установку производитл по сети.
В итоге без каких либо проблем система была установлена.
Хм. Странно. Мне как то рассказывали, что установка арчи это неимоверный трах. Как оказалось врали.
Далее прикрутил кеды.
Освоил удобство pacman и yaourt.
Итак, вроде все работает. Удобно и производительно. По карайней мере пока.
Блин. Надеюсь останусь жить на нем. А то моя мания к смене дистрибутивов уже похожа на зависимость.
Скрины из kde:



ubuntu vol. 2


Думаю по прошлому посту все знают, что я решил попробовать убунту.
Kubuntu мне понравилась, поэтому я слил Ubuntu.
Пока решил сидеть на ней. После установке пришлось решить несколько проблемок.
Вот каких.


Во первых, в убунту, как мы знаем, по дефолту нельзя логинится под рутом. Меня это немного не устраивало. Для решение нужно всего лишь выполнить команду
sudo passwd root
Ну и ввести новый пароль.
Впринципе можно сделать и через графику
Система-Администрирование-Пользователи и группы
и там указать пасс для рута.

Во вторых, в убунту при загрзке диски с NTFS не монтируются. Поскольку у меня на отдельном
ntfs разделе лежит вся музыка, нужно было это менять.
Впринципе можно было отредактировать /etc/fstab, но я пошел немного другим путем.
Сначала создал шелл скрипт такого содержания:

#!/bin/sh
sudo mount /dev/sda5 /media/OpenFiles

Далее добавил в авторан (В графике система-админство-запускаемые приложения) такую команду:

/usr/bin/sudo /home/stranger/scripts/mount.h

Для полной нирваны нужно было еще разрешить пользователю запускать sudo без пасса для mount.sh.
Для этого в /etc/sudoers добавляем в конец это:

stranger ALL=(ALL) NOPASSWD:/home/stranger/scripts/mount.h

Все сохраняем и перезагружаемся.

Ну и завершает эту трилогию наверное самая идиотская проблема.
Дело в том что после перезагрузки mac адрес карты меняется, и номер интерфейса увеличивается на 1. Т.е. если вчера у меня был eth0, то сегодня eth1 и так далее.
Естественно все настройки сбивались.
Погуглив эту тему я нашел одно из решений.
http://mrvisor.info/2009/05/izmenenie-mac-adresa-i-nomera-eth-v-ubuntu-904810/
Потчеркиваю, что было найдено еще несколько. Но эту по моему мнению самое рациональное.

Ну вот. Впринципе убунту проблем не доставила. Тем более до нее я устанавливал и настривал gentoo, поэтому контраст очевиден.
 Думаю не буду ставить всякие Docky и подобное. А нах?

Kubuntu

Рылся сегодня в шкафу и обнаружил LiveCD Kubuntu.
Оказывается он прилагался к книге "100 лучших программ для linux", которая давно пылится у меня на книжной полке.
К ubuntu отношусь скептически. Отчасти потому что встречался с ней всего пару раз.  И то были траблы с сетевой картой и еще что то...
Ну так вот. Решил установить, попробовать. Очень даже ничего. Пожалуй оставлю ее 3 ОС на харде.
Все любят ubuntu) Хоть погляжу, что это за зверь.

Вооруженный пингвин. Компактный софт для боевых действий.


**********
intro
**********
У каждого хакера должен быть свой личный набор боевого софта. Этот набор должен отвечать кое каким требованиям, которые каждый устанавливает сам. Я например, люблю небольшие программы, которые не обременены большим количеством функций.
Кому то нравятся программы гиганты с множеством встроенных возможностей.
В этом материале я решил описать несколько малоизвестных тулз, которые иногда могут работать почище популярных утилит.

«Маленький значит красивый» - именно этим принципом мы и будет держаться.

*********
body
*********
---------
webi.c
---------
enter
Первой утилитой, которую мы сегодня разберем, будет webi.c. Ее автором является лицо под ником Condor. Программа выполняет функции подделки (или инъекции, как сказано в описании) HTTP пакетов. Собственно она является аналогом (почти) windows утилиты InetCrack.
Скачать сишник можно по этой ссылке:

description
Программа имеет несколько ключей, давайте разберём  основные из них:
-s
Указываем  адрес веб сервера (127.0.0.1, hackzona.ru)

-u
URL(/cgi-bin/script.php)

-p
Порт. По умолчанию — 80

-m
Метод отправки. Наверное самый нужный ключ.
Возможные варианты:
{GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT, OPTIONS, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, TRACE}

-r
Рефферер

-a
Юзер агент.

-z
Username и пароль. Например, login:pass

-t
Proxy, опять же proxy:port

-d
Данные

-?
Справочка

Компилируется так:

[stranger@localhost ~]$ gcc /home/stranger/webi.c -o /home/stranger/web



Пример:

[stranger@localhost ~]$ /home/stranger/web -s hackzona.ru -u http://hackzona.ru/index.php

 


in source code...
Давайте теперь взглянем на исходный код.
Помимо главной функции написаны еще три:
void usage(char *arg)
char *itoa(int i)
void base64Encode(char *intext, char *output)

Первая при необходимости выводит справку для программы.
Вторая, преобразовывает  int строки  в char. Она написано специально для совместимости с некоторыми системами (т.к. иногда  ее просто в них нет)
Ну и третья функция производит base64 кодировку.
В главной (main) функции, c помощью конструкции switch  проверяются ключи.
Далее происходит сама генерация пакета.
Ну и конечной частью кода является отправка пакета и прием ответа.

Other
В принципе те же самые действия можно произвести с помощью той же netcat, но согласитесь, эта программа более удобна. К тому же ее исходный код занимает всего 300 строк.

-----------
synner.c
-----------
enter
Итак, наш следующий подопытный называется synner. Автором этого инструмента является человек под ником sm4x.
Программа является  генератором TCP пакетов и служит для тестирования брандмауэров и производства DoS атак. Она может отправлять большие TCP пакеты с определенными TCP флагами, MAC и IPS
Слить исходник можно по этой ссылке

description
Давайте рассмотрим некоторые ключи программы.
Прототип использование вот такой:

[root@localhost stranger]#
./synner -i -s -S -d -D

-i
Имя интерфейса

-x
Режим DoS атаки

-s
Исходный айпишник (если производится спуфинг)

-S
Исходный MAC, опять же для спуфинга

-d
ип цели

-D
Соответственно MAC адрес цели.

-l
Размер пакета

-f
TCP флаги — s,a:p:u,r:f
(s)yn, (a)ck, (p)push, (u)rgent, (r)eset, (f)in, (x)=ALL

Компиляция производится так:
[root@localhost stranger]# gcc /home/stranger/synner.c -o /home/stranger/synner


Замечу, что для использования программы вам понадобятся root права.
Ну что ж, давайте рассмотрим пару примеров:

[root@localhost stranger]#./synner -ieth0 -x -s192.168.1.1 -S00:AA:BB:CC:00:00 -d192.168.1.219 -D00:dd:ee:aa:dd:bb -p 6984 -l 512 -u5555 -fas

[root@localhost stranger]#./synner -ieth0 -sr -S00:dd:ee:aa:dd:ff -d192.168.1.219 -D00:dd:ee:aa:dd:bb -p80 -u500 -fx

in source code...
В общей сложности исходный код занял 400 строк.

Функция...
unsigned short calc_checksum(unsigned char *, int );
... вычисляет контрольную сумму, которая необходима при формировании пакета.

Так же в коде есть структура tcphdr. Она содержит в себе структуру TCP пакета. Если хотите более подробную информацию о ее полях обратитесь к спец. источнику.

Other
Как видите, программа довольно проста в использовании, но при этом является мощным инструментом, который займет достойное место в нашей коллекции.

A-SnIf.c
enter
Следующим на очереди стоит программа-сниффер A-SnIf. Ее создателем является некто
по имени Asynchro. 
Загрузить код можно тут
http://packetstormsecurity.org/sniffers/A-SnIf.c
Это довольно простой инструмент для перехвата пакетов. В описании автор указал даже, что это "сниффер для обучения". Тем не менее он работает, давайте разберемся как.

Description
По сложившийся традиции давайте рассмотрим ключи программы:

Прототип:
[root@localhost stranger]#./a-snif [-i interface] [-a address] [-p port] [-l logfile] [-h] [-d]

-i
Ключ указывает на интерфейс, который нужно использовать вместо установленного по умолчанию.

-a
Адрес, с которого нужно «снифать» пакеты.

-p соотвественно порт, который нужно контролировать

-l ключ создает лог файл, куда будет писаться результат

-d
вывести выходные данные.


Вот довольно наигранный пример:
[stranger@localhost ~]$ ./snif -a 192.168.1.1 77 /home/stranger/log.txt

Собрать программку можно обычным gcс, как и в прошлых примерах.
Да и, для использования нужны рут права.

Other
Программа заняла около 400 строк. Это сравнительно мало.
Безусловно, в этом сниффере мало функционала, но не смотря на это он практичен.

cscan.pl
enter
Следующая тулза является cgi сканером (или сканером уязвимостей). Написана она на perl человеком с ником iceburg.
По сути ничего отличительного в ней нет. Утилита работает с базой данных в которой хранятся уязвимые скрипты.  Ну как с базой… Обычный текстовик с уязвимыми скриптами. =)
Скачать сценарий можно по этой ссылке:

Description
Для работы с программой вам понадобиться создать базу данных.
Ну и естественно добавить туда какое то кол-во уязвимых скриптов (гоу ту багтрак)
Далее можно приступать к работе.

Ключи:

-p
Порт

-h
Хост

-d
Имя файла с дырявими сценариями

-l
Имя лог файла

-m
С помощью этой опции можно просканировать диапазон адресов.

Смотрим пример:

[stranger@localhost ~]$ perl cscan.pl -p 80 -h 127.0.0.1 -d cgi.database -l blah.log

[stranger@localhost ~]$ perl cscan.pl -p 80 -m 127.0.0.1-255 -d cgi.database -l blah.log

in source code...
Код занимает всего 150 строк.
В нем происходит обычное построчное считывание из файла. Далее идет обращение к веб серверу.

Other
Несмотря на простоту, сканер может помочь в некоторых ситуациях. В принципе в сети есть много аналогов, даже на других языках.


dittrich.pl
enter
Следующая программа нашей коллекции это dittrich. Так же как и предыдущая она написана на языке perl. Ее автор- David Dittrich. Утилита выполняет одну функцию – собирает информацию о целевой системе. Для своих злых дел она использует nmap и netcat. Так что проследите, что бы оные были у вас в наличие.
Скачать скрипт можно тут:
Description
В качестве аргумента программе нужно передать адрес хоста. Но конечно возможно использовать несколько опций:

-repeat [N]
Тут мы указываем сколько раз нужно пытаться собрать данные. Если не указать значение программка будет мучить целевую систему пока та работает =)

-sleep [N]
Сколько секунд нужно «спать» перед следующей попыткой
Дефолтовое значение указано в сорце

-log
Имя лог файла.

in source code...
В начале кода задано несколько констант.
Вроде путь до nmapa или время «спячки» между запросами.
Ну и далее идет собственно сам процесс сборки данных.
Он в основном опирается на использование «сетевой кошки» и нмапа.

Other
В итоге довольно удобный инструмент, берет на себя ввод команд в nmap или netcat и экономит наше время.

ftp-spider.pl
enter
Ну и завершает наш топ инструмент с названием  ftp-spider.  Ее автором является Nithen Naidoo. Программа написана на perl. Она сканирует ftp сервер на разные уязвимости, вроде неправильной расстановки прав доступа или обнаружение анонимного доступа. Есть возможность составлять структуру каталогов.
Слить сценарий можно здесь:

Description
Прототип использование таков:

[stranger@localhost ~]$  perl ./ftp-spider.pl [-h] [-v] [-d] [-k] [-P] [-w] [-s server] [-u username] [-p password] [-r remote] [-i ignore] [-f filterfile]

-v
Подробный вывод. В том числе все дерево каталогов и списки файлов.

-P
Пассивный режим работы

-i
Тут задается регулярное выражение. Файлы, которые ему соответствуют, игнорируются.

-p
Пароль. Опционально.

-w
Перечислить все каталоги, которые доступны для записи.

-s сам сервер

Вот небольшой примерчик:

[stranger@localhost ~]$  perl ./ftp-spider.pl –s 127.0.0.1 –v

Other
Думаю это очень полезный скрипт. Полезен именно тем, что не просто перебирает имена, пытаясь найти уязвимый ftp –шник, а пытается найти баги, которые появляются вследствие лени админа.

**********
Outro
**********

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

StraNger


меняем обуфь

Перешел на kde+поставил freepascal(для школы), что б в винд меньше заходить.
Сделал несколько скринов:

Ubuntu Privacy Remix. Зачем?

Официально выпущен Ubuntu Privacy Remix 9.04 - LiveDVD дистрибутив на базе Ubuntu Linux 9.04, предназначенный для обеспечения максимально возможной степени изоляции для защиты персональных данных пользователя. Кроме средств для предотвращения проникновения злонамеренного кода, такого как троянские программы, модули перехвата клавиатурного ввода и руткиты, в дистрибутиве используются и средства для противостояния средствам слежения и мониторинга активности пользователей, внедряемым некоторыми правительствами.

Впервые beta-версия Ubuntu Privacy Remix была представлена общественности в конце мая 2009 года на конференции SIGINT 09.

Особенности дистрибутива:

* Базовая система работает только c CD-диска в режиме для чтения. Дистрибутив не предназначен для установки на жесткий диск, дополнительные программы, включая вредоносные, доустановить невозможно;

* Все внешние накопители и локальные жесткие диски ПК могут быть смонтированы только в режиме "noexec", недопускающем выполнение программ с внешних носителей;

* Из Linux ядра убрана поддержка оборудования для работы в сети, дистрибутив работает полностью автономно, задействование LAN/WLAN/Bleutooth запрещено;

* И другие


Не посчитайте тупым, но не могу воткнуть - зачем нужен такой дистр?
С доками приватными работать нельзя. Софт ставить нельзя. Выхода в сеть нет.
И что делать? Непойму...

Основы *NIX кодинга. Часть 1.

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


Инструменты.

Перед тем как начать программировать, стоит разобрать, что нам поможет в этом.
Для начала компилятор gcc(GNU project C Compiler):
Пример простейшего использования:

Код:

$gcc /proga.c -o /prog

или так:
Код:

$gcc -o /prog /proga.c

Ключ -o указываем имя и путь к будущему бинарнику
Если в исходном тексте есть ошибки, то умный компилятор укажет на них.
Маны:
http://www.linuxcenter.ru/lib/books/linuxdev/linuxdev1.phtml
http://skif.bas-net.by/bsuir/prog_in_linux/node3.html

Make - программа может состоять из множества файлов, которые нужно как то собрать в один. Если файлов мало то можно собрать использую только gcc, но файлов может быть очень много. Именно для таких случаев и применяем сборщик Make. Для ее работы необходимо использовать makefile - специальные файлы со сценарием сборки.
Что бы лучше понять эти сценарии давайте попробуем собрать программу, состоящую из двух частей с помощью gcc:
У нас есть файл main.c и modul.c:
Код:

$gcc - -c main.c
$gcc - -c modul.c

Тут мы указали ключ -c, он означает, что нужно собрать объектный файл, это еще не является полноценной программой, ее мы соберем дальше:
Код:

$ gcc -o programm main.o modul.c

Теперь мы собрали бинарник из двух файлов.
Итак, вернемся к make, как я уже говорил файлов для сборки может быть очень много, поэтому используем makefile. Попробуем сделать его самим:
Код:

hello:
main.o programm.o
gcc -o programm main.o modul.o

main.o:
main.c
gcc -c main.c

modul.o:
modul.c
gcc -c modul.c

clean:
rm -f *.o programm

Думаю все ясно. Мы выполняем почти те же действия, что и выше, но уже автоматически. В разделе Clean мы отчищаем директорию от временных файлов. Да, и не забываем про знаки табуляции, они очень важны

Вот мануал для самостоятельного изучения
http://www.linuxrsp.ru/docs/gm.html

Тянуть не будем, и перейдем к делу.
Для начала определимся, что такое системный вызов:
Системный вызов это обращение, какой либо прикладной программы к ядру ОС, для выполнения какой либо операции.

Первым, как думаю самым несложным, мы разберем работу с файлами.

Общее представление о работе с файлами.


Для работы с файлами в linux существуют вызовы open, creat, write, read. Думаю, смысл их ясен. Разберем, как они работают.
Код:

open(char *filename, int mode);

Во-первых, функция возвращает -1 при ошибке. Если все нормально, то возвращает дескриптор файла.
char *filename - имя/путь файла
int mode - режим, с которым нужно открыть, т.е. что нужно делать с файлом - читать, писать или читать и писать (=\)
O_RDONLY - чтение
O_WRONLY - запись
O_RDWR - чтение и запись
Для использования этой функции нужно подключить модуль fcntl.h

Пример:
Код:

-----
-----
open("/var/log",O_RDONLY);
-----
-----


Код:

read(int d, char *buf, size_t countb)

Аналогично предыдущей функции возвращается -1 при ошибке, а если ошибок нет то целое число.
int d - источник, т.е. дескриптор, т.е. результат выполнения функции open.
ichar *buf - место, куда будут считаны данные.
size_t countb - ну и кол-во байт, которые нужно считать.
Для использование подключаем модуль unistd.h

Пример
Код:

-------
-------

int d=open('/var/log/',RDONLY);
char *buf;
size_t count b=1024;
read(d,buf,countb)

-------
-------

Код:

creat(char *name, mode_t right)[/COLOR]


char *name - имя создаваемого файла
mode_t right - права на доступ
При ошибке -1.
Для работы подключаем модуль fcntl.h

Пример
Код:

-------
-------
creat("/home/stranger/myfile",754)
-------
-------

Код:

write(int d, char *buff,size_ size);



int d – дескриптор файла для записи
char *buff – сами данные которые нужно записать
size_ size – кол-во байт при записи
-1 при ошибке, для использования подключаем unistd.h

И в конце стоит сказать про -
Код:

close(int d);

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


Ну что ж пришло время написать полноценный пример.
Начнем с простенькой программы для копирования файлов.
В качестве аргументов она будет принимать имя/путь исходного файла и имя/путь
скопированного файла.
Значит сначала открываем исходный файл (open) и считываем его(read). Далее создаем файл (create) и записываем в него считанный первый файл (write).
Код:

#include [stdio.h]
#include [unistd.h]
#include [fcntl.h]
#include [fcntl.h]
#define BUF 1024
main(int argc, char *argv[])

{
int in,out,chars;
char buffer[BUF];
if(argc!=3)
{
printf("Вы ошиблись в вводе аргументов\n");
exit(1);
}
if((in=open(argv[1],O_RDONLY))==-1)
{
printf("Ошибка открытия файла для копирования\n");
exit(1);
}
if((out=creat(argv[2],755))==-1)
{
printf("Ошибка при создании нового файла");
exit(1);
}
while((chars=read(in,buffer,1024))>0)
write(out,buffer,1024);
}

Замечу, что новый файл мы создали с правами 755, что означает rwxr-xr-x. Можно было бы принять эти данные от пользователя.
Теперь я расскажу о таком вызовы как: stat.
Он возвращает нам информацию о файле.
Код:

int i=stat(chat *name, struct stat *buff);

chat *name – имя файла
struct stat *buff – структура типа stat, в ней будет храниться информация о файле.

Какие поля есть у это структуры?:
[/code]
st_mode - тип, права доступа.
st_atime - время последнего доступа.
st_size - размер.
st_uid - юид юзера.
st_gid - идентификатор группы пользователей
st_mtime — время последней модификации файла
st_atime — время последнего доступа
[/code]
Для этого вызова нужно использовать библиотеку sys/stat.h
Давайте напишем пример, который будет выводить информацию о заданном файле:
Код:

#include [stdlib.h]
#include [stdio.h]
#include [sys/stat.h]
int main(int ac,char *ag[])
{
struct stat buffer;
int r;
if(ac!=2)
{
printf("Пожалуйста введите необходимые аргументы\n");
exit(1);
}
if((r=stat(ag[1],&buffer))==-1)
{
printf("Файл не найден\n");
exit(1);
}
printf("Размер файла: %o\n",buffer.st_size);
printf("Права доступа к файлу: %d\n ",buffer.st_mode);
printf("UID: %d\n ",buffer.st_uid);
printf("GID: %d\n ",buffer.st_gid);
}

Изменение статусной информации файла.

Мы уже разобрали несколько операций с файлами. Теперь давайте поговорим об изменении информации о файле. А это – имя, gid, uid, и т.п.
Вообще для этих целей существуют специальные вызовы (разберем ниже), но их использовать необязательно.
Приведу пример, нужно изменить uid файла. Для этого используем всю туже структуру stat, но теперь не считываем информацию, а записываем ее. Пример.
Код:

------
------

buffer.st_uid=0644;

------
------

А вот такой пример изменяет uid файла на наш собственный.
Код:

------
------
buffer.st_uid=getuid();
------
------

Прокомментирую что getuid() возвращает юид текущего юзера.

Вот такой пример проверяет рут вы или нет:
Код:

If(getuid()!=0)
Printf(“Вы не рут, курите дальше»)
Else
Printf(«Похоже вы порутили этот сервер =)»);

Выше упоминалось, что существуют специальные функции для изменения статусной информации о файле. Разберем их:
Меняем имя файла
Код:

Rename(char *oldname, char *newname);

char *oldname – старое имя
char *newname – новое имя
Для использования подключаем stdio.h
Пример:
Код:

------
------
rename(“/dvu”,/home/stranger/jd”);
------
------

Меняем права доступа к файлу.
Код:

chmod(char *namefile, mode_t mode);

char *namefile – путь и имя файла
mode_t modeновые права для файла.

Для испольвания подключаем sys/types.h, sys/stat.h
Пример
Код:

-------
-------
chmod(“/sploit.c”,755);
-------
-------


Изменяем uid,gid:
Код:

chown(char *filename,uid_t uid,gid_t gid);

char *filename – путь и имы файла
uid_t uid[ новые юид
gid_t gid новый gid
Можно указать только uid или только gid.
Для использоания подключаем unistd.h
Пример:
Код:

-------
-------
chown(“/jaga”,0,11);
-------
-------


Побайтное смещение.
Напоследок разберем одну функцию – lseek
она изменят текущую позицию в файле
Код:

lseek(int d,off_t di,int base);

int d – дескриптор файла
off_t di - смещение в байтах
int base – позиция.
Позиции бывают такие:
Код:

SEEK_SET – от начала файла
SEEK_CUR - от текущей позиции
SEEK_END – от конца файла

Напишем пример, который добавляет строку в конец текстового файла
Код:

#include [unistd.h]
#include [unistd.h]
#include [fcntl.h]
#include [stdio.h]
int main()
{
int r;
r=open("/home/stranger/hell.txt",O_RDWR);
lseek(r,0,SEEK_END);
write(r,"hello man!",sizeof("hello man!"));
close(r);
}

OUTRO
На этом пока все. Если статья будет актуальна, то продолжу писать.
Как дополнительный материал могу дать вам статью Ричарда Столлмена “Проект GNU”
http://www.gnu.org/gnu/thegnuproject.html
– исходный текст английский, но снизу страницы можно найти перевод
Удачи!
ps тут оформление более красивое

убунту 9.04

Примерно через недели на свет появиться убунту 9.04
Обещают зделать рульный интерфейс.
Как я помню они обищали с выходом 8 версии зделать оформление круче чем у Apple
Ну чтож посмотрим...
Эту систему я счетаю больше домашней, но все таки ее не долюбливаю.
Но посмотреть посмотрю, что за зверя нам готовят разработчики.

FreeBSD.Курс молодого бойца

INTRO

Привет. Сегодня я расскажу некоторые основы FreeBSD для тех, кто только поставил эту систему. Сам процесс установки описывать не буду так как в сети об этом очень много информации. В конце статьи есть набор полезных ссылок по теме.

FreeBSD:

Дата рождения системы: В 1993 году началась разработка FreeBSD (BSD - Berkeley Software Distribution).

Платформы: Intel x86, DEC Alpha, Sun UltraSPARC, IA-64, AMD64, PowerPC, NEC PC-98, ARM.

Файловая система: UFS, в новых версиях UPS2;

Официальный логотип: чертенок aka Демон. Как известно сервисы, висящие на портах называются демонами.

Официальный сайт системы: www.freebsd.org, здесь можно скачать разные версии этой ОС под разные платформы

Подобные системы: NetBSD, OpenBSD.

Практика.
Итак, при запуске системы тебе нужно ввести login:password.
Надеюсь, ты знаешь, что при вводе пароль не видно.
После входа можно тут же выйти, введя команду
#exit
Т.е. ты опять попадешь на диалог ввода логина и пассворда.
Возможно, тебе захочется выйти перезагрузить систему, что бы войти в милый виндоус – для этого существует команды
# reboot
Или
#shutdown –r now
Здесь now, т.е. сейчас
Но можно установить нужное тебе время.
Так же клавишами Ctrl-Alt-Del можно перезагрузить ОС.
Кнопкой на системнике (как ты привык) выключать компьютер под управлением никсов нельзя, поэтому нужно ввести команду:

#shutdown –h now

Команда аналогична предыдущей.

Итак, выключать компьютер мы научились теперь нужно осмотреться в системе
Если ты раньше имел дело с linux, то тебе будет конечно проще.
Команда su дает тебе права супер пользователя (aka Админ) нужно будет ввести пароль.

Для начала команда ls

#ls

Выводит список файлов в текущем каталоге.
У нее есть параметры :

#ls –l

Тоже выдает список файлов, но на этот раз в развернутом виде, а то есть размер дата права доступа.

#ls –a

Вместе со всеми выдаёт и список скрытых dot''-файлов (начинающихся с точки). Если вы являетесь пользователем root, то dot''-файлы выдаются и без указания флага -a.

Команда cd
Сменят каталог

#cd /

И вы перейдете в корневой каталог

#cd /etc

И вы в каталоге etc
Обратите внимание что в каком бы вы каталоге не находились что бы открыть например подкаталог нужно указывать полный путь к нему.

Ну, я команда cat

Позволяет просмотреть содержимое файла

#cat /etc/passwd

Теперь я покажу вам одну хитрость.
Например, вы хотите, что бы командой ls сразу выводился список файлов в равернутом виде.
Это доступно командой ls –l
Но мы ведь экономим время, поэтому нам нужно сделать, что бы команда ls выводила результат команды ls –l.
Это можно осуществить с помощью псевдонимов aka alias.
Пример

#alias ls ls -l

Т. Е. мы задали псевдоним ls команде ls –l

Более подробно о командах можно найти в приведенном в приложении справочнике.

А как же диски?
В юникс системах просто так совать диски в привод и юзать их нельзя.
Для этого их нужно монтировать.
Все устройства лежат в папке /dev
Нам нужен привод.
У меня, например, он обозначен acd0.
Для монтирование диска нужно
-вставить диск
- выполнить команду:

#mount /dev/acd0

Перед высовыванием диска (вытаскиванием)
Нужно выполнить размонтирование

#umount


Редактор VI
Для того чтобы конфигурировать вашу систему нужно будет постоянно редактировать текстовые файлы. Сейчас мы с этим разберемся.
Как и в других ОС в FreeBSD есть текстовые редакторы. В стандартную поставку входит текстовой редактор vi. Только не надейся увидеть тут красивые иконки MS Word .
Для создание или открытия файла нужно ввести такую команду

#vi filename

Главное тут уяснить, что редактор может находиться в двух режимах:
Командный и текстовой.
В первом мы вводим разные команды типа сохранить файл или выйти из файла.
В текстовом режиме можно редактировать сам текст.
Итак, при входе мы находимся в командном режиме.
Что бы перейти в текстовой нажмите I.
Теперь можете редактировать текст.
После этого нажмите Esc, так вы перейдете в командный режим
Вот основные команды:

x

удалить символ, на котором находится курсор

dd

удалить целую строку (даже если на экране она не помещается в целую строку)

i

вставка текста в позиции курсора

a

вставка текста после курсора

Сразу после набора i или a вы можете вводить текст. Esc возвратит вас обратно в командный режим, где вы можете набрать

:w

для записи ваших изменений на диск и продолжения редактирования

:wq

для записи и выхода

:q!

для выхода без сохранения изменений

/text

для перемещения курсора на text; /Enter (клавиша ввода) для поиска следующего экземпляра text.

G

для перехода в конец файла
Более подробно об этом редакторе смотрите в приложении.
Основы вы знаете и теперь сможете отредактировать конфигурационные файлы.
Можно пользоваться еще редактором ee он, кстати, намного проще. Руководство смотри в приложении.


Начинаем конфигурировать
Например, добавим пользователя, который сможет входить под правами root.
Как известно такие пользователи находятся в группе wheel

#vi /etc/group
Редактор vi открыл нам файл group.
В первой строчке находиться группа wheel она нам и нужна.
В конце строки находиться имена (имя) имеющихся юзеров.
Добавь в конце запятую и имя пользователя.
Перейди в командный режим (Esc) и сохрани изменения
#:wq
Но это для примера.
На самом деле для добавление нового юзера существует команда
# adduser


Кстати если хочешь изменить пароль нужно ввести команду

#passwd.

Теперь разберем файл rc.conf там есть много чего интересного.
Но для начала разберемся с копирование файлов.
Ведь, как известно рук прямых нет ни у кого.
Поэтому нужно делать копии файлов, что бы если что, то нахимичил можно будет вернуть все назад.

# cp rc.conf rc.conf.orig

Мы скопировали файл rc.conf сменив имя копируемого файла.
Итак, rc.conf (/etc/rc.conf).
Содержание этого файла зависит от того, какие данные вы вбивали при установке системы (в sysinstall).
Сейчас разберем несколько вещей.

keyrate="NO"

Скорость ввода символов с клавки.
Кроме NO можно подставить slow, normal, fast.
Надеюсь с английским проблем нет)

lanktime="300"

Время отключение монитора. В секундах.

Настройки мышки:

moused_enable="NO"

Запускать ли демон мыши.

moused_port="/dev/psm0"

Порт, к которому подключена мышь
Кстати тут же можешь изменить шрифт консоли на свое усмотрение.

Чертенок на прогулке в сети.
Ну что? В системе мы полазили, конфиги полапали теперь пора и в сеть лезть. Куда ж нам без нее. Помниться пришлось мне попрыгать с бубном, когда впервые интернет настраивал.
Итак, буду рассказывать о настройки PPPoE соединения.
Как известно нужно сначала настроить сам сетевой интерфейс, а потом уже и с дозвоном в интернет разбираться. Для этого нужно узнать под каким именем ваша сетевая карта определилась в системе. Вообще имена даются в зависимости от производителя сетевой карты. Введите команду
#ifconf
На экране должны появиться сетевые интерфейсы.
Если у тебя одна сетевая карта, то 1 интерфейс буде как раз она
Второй будет «lo0» на него пока не обращаем внимание. В этой статье на будущее условимся называть имя сетевой карты символами XXX.

Открывай файл rc.conf.
Его мы уже редактировали.
Если ты вставлял, какие, то сетевые данные в sysinstall то у тебя должна быть такая строка:
Hostname=”xxxxxxxxxxxxxxxx’
После нее нужно добавить ниже приведенный код.
Если у тебя нет такой строки ничего страшного.

hostname="My_server"
network_interfaces="lo0 XXX"
ifconfig_lo0="inet 127.0.0.1"
ifconfig_XXX="inet 192.168.1.1 netmask 255.255.255.0"
inetd_enable="YES"

XXX это имя твое сетевой карты.
Интерфейс lo0 обязателен.
После этого редактируем файл resolv.conf
Если его нет то создавай.

nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

Вместо xxx.xxx.xxx.xxx. нужно вставить DNS адреса которые предоставил ваш провайдер.

Сохраняемся, и перезагружаем компьютер командой

#reboot

После перезагрузки проверь интерфейс командой

#ifconfig

Он должен выдать, что то вроде:

XXX:
flags=18843 mtu 1500
options=48
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.1
....
media: Ethernet autoselect (100baseTX )
status: active

Значит модем настроен.
Теперь будем настраивать непосредственно соединение с интернетом.
Вся настройка будет сводиться к редактированию файла ppp.conf
Который лежит в /etc/ppp/ppp.conf.
Открой его перейди в конец файла и вставь такой код:

prov:
set authname ЛОгин
set authkey ПаРоЛь
set device PPPoE:XXX
set speed sync
set timeout 0
set redial 15 10000
set dial
set login
add default HISADDR
enable dns

prov это имя соединения, можешь дать любое.
XXX имя интерфейса который мы настроили
Логин:Пароль это данные которые дал тебе пров.
Заметь что перед всеми строками кроме prov: должен стоять пробел
Для подключение к сети выполни команду
# ppp -ddial pppoe
На последок
Если нужно, что то установить изменить или т.п. вбивай команду sysinstall это команда запускает утилиту sysinstall. С ней вы знакомились, когда устанавливали ОС.


Приложение:

Полезные ссылки:

Установка фряхи
http://www.hackzona.ru/hz.php?name=News&file=article&sid=2873&mode=&order=0&thold=0

http://www.hackzona.ru/hz.php?name=News&file=article&sid=3880&mode=&order=0&thold=0

О файловой системе
http://citkit.ru/articles/157/

История FreeBSD
http://f-andrey.blogspot.com/2008/12/freebsd.html

Компилятор gcc
http://masterhost.ru/support/doc/gcc/

О портах
http://www.freebsd.org/ru/ports/

Редактор vi
http://www.citforum.ru/operating_systems/articles/tut_4.shtml

Справочник командной строки.
http://linuxopen.ru/tag/%EA%EE%EC%E0%ED%E4%ED%E0%FF+%F1%F2%F0%EE%EA%E0/


Полезные сайты:
www.opennet.ru
www.freebsd.org – обязательно посети раздел документация.
www.bsdportal.ru/

StraNger aka reaL StraNger

Шалим в реестре.

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



В этой статье я хочу рассказать про некоторые интересные разделы системного реестра
Вызвать программу для просмотра реестра можно с помощью команды RegEdit.exe.
Потыкав по вкладкам можно найти много интересных вещей.

Например сделаем так чтобы при запуске виндоус, появлялось сообщение.

Идем по этому пуути

HKLM\Software\Microsoft\WindowsNT\CurrentVersion\Winlogon


У раздела WinLogon есть параметры

LegalNoticeCaption
LegalNoticeText

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

Возможно ты заметил что при работе с всплывающим меню скорость его не большая. Иногда это раздражает. Чтобы изменить скорость иди сюда

HKCU\Control Panel\Desktop


Параметр MenuShowDelay равен по дефолту 400. чтобы увеличить скорость уменьшай значение, для уменьшения скорости, соответственно увеличивай.

Теперь мы напишем вместо часиков какое либо слово (приличное)

HKCU\Control Panel\International


И изменяем sTimeFormat
В него можно записать слово но не более 8 символов
Можно ускорить действие файловой системы, (если позволяет оперативная память) увеличив параметр типа DWORD IoPageLockLimit от заданных по умолчанию 512 КБ до 4 МБ и более в разделе

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

Этот параметр представляет максимальное число байт, которые могут быть блокированы для операций I/O. Когда значение параметра равно 0, то система использует встроенный алгоритм определения необходимой памяти и использует объем 512 КБ. Установка максимального значения должна основываться на объеме памяти в Вашей системе.
Таблица рекомендуемых значений

Размер памяти значение
32 4096000
64 8192000
128 16384000
256+ 65536000

Если ты знаешь что такое WSH то его можно отключить таким способом:

HKLM\Software\Microsoft\Windows Script Host\Settings

Строковый параметр Enabled равный "0" отключает работу скриптов WSH, а 1 соответственно включает.

При возникновении сбоя в Office XP утилита DW.exe пытается отправить отчет о нем в Microsoft. Если вы не хотите заниматься ловлей багов, то можете отключить эту функцию. Существует несколько различных параметров, находящихся в разделе

HKEY_CURRENT_USER\Software\Policies\ Microsoft\Office\10.0\Common

• Параметр типа DWORD DWNeverUpload со значением 1 отключает отправку данных и не выводит соответствущее сообщение
• Параметр типа DWORD DWNoExternalURL со значением 1 отключает соединение с сервером Майкрософт и не выводит соответствущее сообщение
• Параметр типа DWORD DWNoFileCollection со значением 1 не высылает файлы, запрашиваемые сервером обработки ошибок
• Параметр типа DWORD DWNoSecondLevelCollection со значением 1 не высылает файлы особого рода (записи в реестре, версия файлов, используемые программы), запрашиваемые сервером обработки ошибок
Отсутствие этих параметров (по умолчанию) или установка в 0 включает эти настройки обратно

Можно подключать собственных персонажей к приложениям Office. Для этого перейдите в раздел

HKEY_CURRENT_USER\Software\Microsoft\Office\Common\Assistant
и создайте строковый параметр AsstFile, в котором пропишите полный путь к вашему acs-файлу персонажа
Этот способ удобен, если ваш персонаж находится не в стандартной папке персонажей, который сканируется Office для выбора нового персонажа. Например, таким образом вы можете подключить персонаж Magic Gooddy, который находится в своей папке
При загрузке Windows после неправильного выключения запускается проверка дисков. При этом пишется что-то вроде "Через 10 секунд начну проверять...". Чтобы уменьшить время ожидания надо в разделе
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager

создать или отредактировать параметр AutoChkTimeOut типа DWORD и присвоить ему значение в секундах. По умолчанию установлена пауза в 10 секунд. Если вы присвоите ему значение больше чем 259200 секунд (около 3 дней), то будет использоваться значение по умолчанию

Copyleft (Ɔ); StraNger ideas