среда, 8 декабря 2010 г.

четверг, 11 ноября 2010 г.

FreeBSD: Как убрать строки за # решеткой из файла!

Нужно выполнить команду
cat /usr/local/etc/squid/squid.conf | egrep -v "(^#)" | uniq > clsquid.conf


/usr/local/etc/squid/squid.conf - адресс файла который хотим почистить
clsquid.conf - имя нового файла

среда, 13 октября 2010 г.

FreeBSD: Aapche22 папка под паролем?

В какой-ир момент все изменилось и теперь это делается без .htaccsess

В начале создаем папку с файлом пароля

mkdir /usr/local/etc/htpswd/
cd /usr/local/etc/htpswd
htpasswd -c name.file name.user
New password: ******
Re-Type new password: ******

chmod 644 name.file

в конфиг апача22 в описание папки папки добавляем строки

AuthType Basic
AuthName "***"
AuthUserFile /usr/local/etc/htpswd/name.file
Require user name.user

Можно не указывать конкретного юзера написав
Require valid-user

Итого все вместе выглядит так


Options Indexes FollowSymLinks MultiViews
Order allow,deny
AuthType Basic
AuthName "***"
AuthUserFile /usr/local/etc/htpswd/name.file
Require user name.user
allow from all
DefaultLanguage ru
AddDefaultCharset WINDOWS-1251



Alias /netams /usr/local/www/netams

понедельник, 26 июля 2010 г.

FreeBSD: Как заблокировать ICQ?

Для этого надо иметь установленный pf

В pf.conf добавляем спсико IP ICQ серверов, их можно вычеслить в Windows коммандой netstat после подключения к ICQ

ext_if это внешний интерфейс сети

icq_servers="{ 95.100.114.70, 195.10.39.9, 195.10.39.90, 195.10.39.99, 64.12.202
.0/24, 64.12.202.12, 64.12.202.33, 205.188.7.72, 205.188.57.200, 195.10.39.106,
195.10.39.83, 77.234.201.89, 64.12.96.129, 205.188.251.0/24, 205.188.251.14, 205
.188.251.19, 64.12.202.0/24, 81.19.64.0/24, 81.19.65.0/24, 81.19.66.52, 81.19.69
.0/24, 81.19.70.2, 64.12.174.0/24, 152.163.208.0/24, 205.188.165.0/24, 64.236.4
7.0/24, 64.236.46.0/24, 205.188.1.0/24, 205.188.9.0/24, 205.188.153.0/24, 205.18
8.251.0/24, 64.12.31.0/24, 64.12.25.0/24, 64.12.161.0/24, 64.12.162.0/24, 64.12.
163.0/24, 64.12.164.247, 201.27.217.113, 200.117.138.206 }"

block out quick on $ext_if from any to $icq_servers

Чтобы кто то все таки смог входить в ICQ добавляем

pass out quick on $int_if from $icq_users to $icq_servers

понедельник, 12 июля 2010 г.

FreeBSD: Применение исправлений FreeBSD!

Читаем замечательный сайт узнаем что найдена уязвимость в системе:
http://www.opennet.ru/opennews/art.shtml?num=27287

В этой новости дается ссылка на пач который ну совершенно не понятно что надо сделать чтобы пропатчить систему. А сделать надо следующее, в консоле с правами рут набираем:

freebsd-update fetch
Looking up update.FreeBSD.org mirrors... 3 mirrors found.
Fetching public key from update2.FreeBSD.org... done.
Fetching metadata signature for 8.0-RELEASE from update2.FreeBSD.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 39 patches.....10....20....30.... done.
Applying patches... done.

The following files will be updated as part of updating to 8.0-RELEASE-p4:
/etc/mtree/BSD.var.dist
/lib/libzpool.so.2
/libexec/ld-elf.so.1
/usr/bin/dig
/usr/bin/host
/usr/bin/nslookup
/usr/bin/nsupdate
/usr/lib/libopie.a
/usr/lib/libopie.so.6
/usr/lib/libssl.a
/usr/lib/libssl.so.6
/usr/lib/libzpool.a
/usr/sbin/dnssec-dsfromkey
/usr/sbin/dnssec-keyfromlabel
/usr/sbin/dnssec-keygen
/usr/sbin/dnssec-signzone
/usr/sbin/freebsd-update
/usr/sbin/jail
/usr/sbin/lwresd
/usr/sbin/named
/usr/sbin/named-checkconf
/usr/sbin/named-checkzone
/usr/sbin/named-compilezone
/usr/sbin/ntpd
/usr/sbin/rndc-confgen
/usr/share/man/man2/mount.2.gz
/usr/share/man/man2/nmount.2.gz
/usr/share/man/man2/unmount.2.gz
/usr/src/sys/cddl/compat/opensolaris/sys/vnode.h
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
/usr/src/sys/cddl/contrib/opensolaris/uts/common/sys/vnode.h
/usr/src/sys/conf/newvers.sh
/usr/src/sys/kern/uipc_mbuf.c
/usr/src/sys/kern/vfs_lookup.c
/usr/src/sys/netinet/ip_mroute.c
/usr/src/sys/netinet/raw_ip.c
/usr/src/sys/netinet/sctp_input.c
/usr/src/sys/netinet6/raw_ip6.c
/usr/src/sys/nfsclient/nfs_vfsops.c
/usr/src/sys/rpc/clnt_vc.c
/var/db/freebsd-update
/var/db/mergemaster.mtree
Server# freebsd-update install
Installing updates... done.


в этом списке замечаем /usr/src/sys/kern/uipc_mbuf.c как раз о нем шла речь в новостях
далее набираем

freebsd-update install

Installing updates... done.


Всё патчи установлены

суббота, 3 июля 2010 г.

FreeBSD: Mysql основные комманды

Войти в Mysql

mysql -u root -p
(пароль mysql администратора)

Создать базу
CREATE DATABASE name;

Заход через phpmyadmin
Имя: root
Пароль: (пароль mysql администратора)

Добавление пользователя

adduser mysqldb
new_name_user_pass

Сделать его пользователем MySQL

mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO mysqldb@localhost
IDENTIFIED BY 'new_name_user_pass_mysql' WITH GRANT OPTION;



CREATE, SELECT, INSERT, DELETE и UPDATE, DROP

_______________________

1. Как сделать дамб (копию) базы MySQL?
Для этого надо зайти на сайт по Shell, вы окажется в ОС FreeBSD или в каком нибуть Linux. Пишите следующею строчку:

mysqldump -uЛОГИН_К_БАЗЕ -pПАРОЛЬ_К _БАЗЕ -hИМЯ_localhost ИМЯ_БАЗЫ > dump.sql

Если база большая и памяти не хватает то

mysqldump --opt -uимя_пользователя -pПАРОЛЬ_К _БАЗЕ -hимя_сервера_БД имя_базы > dump.sql

2. Как восстановить дамб (копию) базы MySQL?
Тоже самое что и в первом вопросе но тольео меняется стрелочка:
mysql -uЛОГИН_К_БАЗЕ -pПАРОЛЬ_К _БАЗЕ -hИМЯ_localhost ИМЯ_БАЗЫ < dump.sql

Примечание: Дамб вы сделали но как перекинуть его на другой хост?
Для этого на новом хосту тоже по Shell запускаете программу wget:

wget http://www.data.ru/test.sql

Файл быстро перекинертся, если конечно .htaccess не запрешен хотлинк.

Примичание 2: У MySQL разные версии и как правило не совместимые, возможно потребуются дополнительные ключи:

--compatible=mysql40 (переход c 5 на 4)

Но на это вопрос в подержке просто обязаны ответить, какими бы вонючками они не были!

3. Как насильно в базе изменить в столбце все значение на заданные в заданной строке?
Например когда надо всем членам форума(phpBB) поставить новое время в свявзи с переводом, автоматический это почемуто не делается. Для этого надо в PHPmyAdmin выполнить следующий SQL запрос:

update phpbb_users set user_timezone='3'

4. Как насильно в базе в столбце найти все "А" и изменить на "Б"?
Для этого надо в PHPmyAdmin выполнить следующий SQL запрос:
UPDATE столбец SET поле = REPLACE(поле, 'то_что_надо_найти', 'то_на_что_надо_заменить');


5. Символ перехода на следующую строку в MySQL, аналог
в HTML?

\n

среда, 23 июня 2010 г.

FreeBSD: Перезагрузка сервера по одному нажатию в Windows!

Задачи
- Предоставить возможность перезагружать сервер пользователям из под Windows по одному нажатию без ввода пароля и комманд
- Ограничить учетку из под которой происходит перезагрузка

1. Устанавливаем lshell

cd /usr/ports/shells/lshell
make
make install

2. Приводим файл /usr/local/etc/lshell.conf к виду (разрешаем только выполнение комманды shutdown)

# lshell.py configuration file
#
# $Id: lshell.conf,v 1.24 2010/04/17 23:14:58 ghantoos Exp $

[global]
##  log directory (default /var/log/lshell/ )
logpath         : /var/log/lshell/
##  set log level to 0, 1, 2 or 3  (0: no logs, 1: least verbose)
loglevel        : 2
##  configure log file name (default is %u i.e. username.log)
logfilename     : %y%m%d-%u

[default]
##  a list of the allowed commands or 'all' to allow all commands in user's PATH
allowed         : ['shutdown']

##  a list of forbidden character or commands
forbidden       : ['su','ls','cd','cd','rm','chmod','[',';', '&', '|','`','>','<', '$(', '${']

##  a list of allowed command to use with sudo(8)
#sudo_commands   : ['reboot']

##  number of warnings when user enters a forbidden value before getting
##  exited from lshell
warning_counter : 3

##  command aliases list (similar to bash\xe2\x80\x99s alias directive)
#aliases         : {'ll':'ls -l', 'vi':'vim'}

##  introduction text to print (when entering lshell)
#intro           : "== My personal intro ==\nWelcome to lshell\nType '?' or 'hel
p' to get the list of allowed commands"

##  a value in seconds for the session timer
#timer           : 5

##  list of path to restrict the user "geographicaly"
#path            : ['/home/bla/','/etc']

##  set the home folder of your user. If not specified the home_path is set to
##  the $HOME environment variable
#home_path       : '/home/bla/'

##  update the environment variable $PATH of the user
#env_path        : ':/usr/local/bin:/usr/sbin'

##  allow or forbid the use of scp (set to 1 or 0)
scp             : 0

## forbid scp upload
scp_upload       : 0

## forbid scp download
scp_download     : 0

##  allow of forbid the use of sftp (set to 1 or 0)
sftp            : 1

##  list of command allowed to execute over ssh (e.g. rsync, rdiff-backup, etc.)
overssh         : ['shutdown']

##  logging strictness. If set to 1, any unknown command is considered as
##  forbidden, and user's warning counter is decreased. If set to 0, command is
##  considered as unknown, and user is only warned (i.e. *** unknown synthax)
#strict          : 1

##  force files sent through scp to a specific directory
#scpforce        : '/home/bla/uploads/'

##  history file maximum size
#history_size     : 100

##  set history file name (default is /home/%u/.lhistory)
#history_file     : "/home/%u/.lshell_history"

3. Создаем пользователя
adduser
Name: rebooter

4. Добавляем его в группу operator

pw usermod rebooter -G operator

5. Меняем шелл пользователя на lshell

chpass rebooter

изменяем строчку на
Shell: /usr/local/bin/lshell


6. В Windows делаем файл rebooter.bat
а в нем строки
@echo off
plink.exe -ssh 10.10.30.75 -l rebooter -pw mypass shutdown -r now
pause

в папку с этим файлом кладем plink.exe
(берем его здесь http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html )

7. При первом запуске plink попросить нажать y чтобы добавить открытый ключ потом просить не будет