Разные заметки

среда, 19 мая 2010 г.

BASH замена символов в файле

Для замены "a" на "A" (только первые встречающиеся буквы в строке):
$ sed 's/a/A/' имя файла

и с сохранением результата
$ sed 's/a/A/' имя файла > имя файла2

Для замены "a" на "A" (весь текст):
$ sed 's/a/A/g' имя файла

и с сохранением результата
$ sed 's/a/A/g' имя файла > имя файла2

вторник, 18 мая 2010 г.

Perl перенаправление ввода-вывода

#!/usr/bin/perl
### ПЕРЕМЕННЫЕ
$log="log.log";
$out="out.dat";
$err="err.dat";
###
#system ("rm $out $log $err");
 

### Сохраняем стандартный вывод и вывод ошибок
open(SAVEOUT, ">&STDOUT");
open(SAVEERR, ">&STDERR");
 

### Открываем файл для записи
open (LOG,"> $log") or die "do not open $log!!!\n";
 
### Процедура вывода в файл
sub prn2f {
        $param =$_[0];
        select (LOG); $|=1;
        print $param;
}
 
### Процедура вывода в изначальный STDOUT
sub prn2std {
        $param =$_[0];
        select (SAVEOUT); $|=1;
        print $param;
        select (LOG); $|=1;
}
 
### Процедура вывода в изначальный STDERR
sub prn2err {
        $param =$_[0];
        select (STDERR); $|=1;
        print $param;
        select (LOG); $|=1;
}
### Перенаправляем STDOUT и STDERR в файлы
sub std2file {
        open (STDOUT, "> $out") or die "do not forward STDOUT to $out...\n";
        open (STDERR, "> $err") or die "do not forward STDERR to $err....\n";
        select(STDERR); $| = 1; # отключаем буферизацию
        select(STDOUT); $| = 1; # отключаем буферизацию

} 

### Восстанавливаем вывод
sub std2std {
        open(STDOUT, ">&SAVEOUT");
        open(STDERR, ">&SAVEERR");
}


### НАЧАЛО   ПРИМЕРА
prn2std ("Вывод в стандартную консоль\n");
prn2f ("Вывод в файл\n");
prn2err("Вывод в поток ошибок\n");

std2file();
prn2std ("Вывод в стандартную консоль\n");
prn2f ("Вывод в файл\n");
prn2err("Вывод в поток ошибок\n");

std2std();

### КОНЕЦ
__END__

суббота, 15 мая 2010 г.

SSH доступ без пароля

Создаем открытый и закрытый ключ нашей локальной системы (с которой хотим подключаться к серверу):
$ ssh-keygen -t dsa –b 1024

Приватный ключ сохраняется в ~/.ssh/id_dsa или ~/.ssh/id_rsa, а публичный в ~/.ssh/id_dsa.pub или ~/.ssh/id_rsa.pub (для ключей DSA и RSA соответственно).

Для включения аутентификации по ключам публичный ключ должен быть помещен в файл ~/.ssh/authorized_keys на компьютер К КОТОРОМУ мы собираемся подключаться без пароля.

Копируем ключ на удаленный компьютер. Любыми безопасными методами.
Например:
$ scp ~/.ssh/id_rsa.pub user@(ip-адрес):~/.ssh/authorized_keys

Спросит пароль пользователя user.


Если используем ключи RSA то добавляем в файл authorized_keys:
$ cat id_rsa.pub >> authorized_keys

Если используем ключи DSA то добавляем в файл authorized_keys:
$ cat id_dsa.pub >> authorized_keys2



Настраиваем права доступа, хост зеркало:
$ chmod 700 ~/.ssh
$ chmod 600 authorized_keys 


Проверяем соединение без пароля:
ssh -i ~/.ssh/id_dsa -p22 user@(ip-адрес)

четверг, 29 апреля 2010 г.

Chmod файлам и папкам

Требовалось назначить минимальные права на все содержимое каталога (каталогам 755, файлам 644 ).

find ./path -type f -exec chmod 644 {} \;
find ./path -type d -exec chmod 755 {} \;

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

Сервер терминалов Windows 2008, 1C и wtware

http://interface31.ru/tech_it/2009/09/windows-server-2008-novie-vozmozhnosti-sluzhb-terminalov.html

http://interface31.ru/tech_it/2009/10/1s-predpriyatie-77-osobennosti-raboty-v-windows-7-vista.html

а это так.... для другого дела http://interface31.ru/tech_it/2009/11/linux-nastrojka-routera-nat-dhcp-squid.html

Jabber server OPENFIRE

Скачиваем отсюда http://www.igniterealtime.org/downloads/index.jsp deb-пакет.
Ставим как обычно:
dpkg -i <имя>.deb

Если чего нехватает - будет ругаться на неудовлетворенные зависимости.
Тогда:
aptitude -f install

Заходим на адрес броузером: https://<айпи>:9091 и настравиваем сервер в режиме web-setup.

Запоминаем пароль. Входим на сервер и производим необходимые настройки сервиса.

Дополнительные сведения:
настройка http://www.tux.in.ua/articles/383
много http://forum.ru-board.com/topic.cgi?forum=8&topic=27991&start=2100

четверг, 22 апреля 2010 г.

Полный бэкап Linux системы

Для начала заходим в консоль из под рута, затем идём в корень системы и соответственно тарим все данные:

sudo su
cd /
tar jcvpf sys_backup.tar.bz2 --exclude=/proc --exclude=/lost+found --exclude=/sys_backup.tar.bz2 --exclude=/mnt --exclude=/sys /


Если выполнять в screen то можно мониторить состояние в другом окне
watch -d -n2 "ls -sh | sort -r"

потом сливаем файл куда надо и спим спокойно.

среда, 21 апреля 2010 г.

Samba это не совсем танец

доп. инфа. http://www.osp.ru/lan/2000/03/130995/_p1.html
http://linux.yaroslavl.ru/docs/serv/samba/samba_conf.html
http://interface31.ru/tech_it/2010/03/sozdanie-fajlovogo-servera-na-ubuntu-910.html


#======================= Global Settings =====================================
[global]
;include = /usr/local/samba/lib/smb.conf.%m
workgroup = ALTEK
netbios name = baff01
server string = baff01


security = user
encrypt passwords = yes
;unix password sync = yes


hosts allow = 192.168.0. 127.0.0.1
interfaces = 127.0.0.1/255.255.255.0 192.168.0.1/255.255.255.0


log file = /var/log/samba/log.%m
max log size = 10
log level = 1


os level = 255
local master = yes
preferred master = yes
;domain master = no
;domain logons = yes


name resolve order = lmhosts host wins bcast


;logon script = %m.bat
;logon script = %U.bat
logon path = \\%L\Profiles\%U


;wins support = yes
dns proxy = no


socket options = TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=16384 SO_RCVBUF=16384




;load printers = yes
;printcap name = /etc/printcap
;printcap name = lpstat
;printing = cups

#============================ Share Definitions ==============================
[homes]
comment = Only for YOU
browseable = no
writable = yes
hide dot files = yes
valid users = %S
create mask = 0644
directory mask = 0755


[1C-Bases]
comment = Allow all user
path = /home/shares/1C-Bases
writeable = yes
create mask = 0777
directory mask = 0777


[Documents]
comment = Allow all user
path = /home/shares/Documents
writeable = yes
create mask = 0777
directory mask = 0777