LINUX.ORG.RU

Сообщения Slack

 

OpenVPN, duplicate-cn

Форум — General

Всем привет. Можно в OpenVPN включить опцию duplicate-cn для одного ключа через ccd файл?

Slack
()

Обновил postfix - unused parameter

Форум — Admin

Обновил postfix на Ubuntu-server. Среди прочего вылезли

 sudo service postfix restart
 * Stopping Postfix Mail Transport Agent postfix
/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: smtpd_sasl_authenticated_headers=yes
                                                                                                                                   [ OK ]
 * Starting Postfix Mail Transport Agent postfix                                                                                          postconf: warning: /etc/postfix/main.cf: unused parameter: smtpd_sasl_authenticated_headers=yes
postconf: warning: /etc/postfix/main.cf: unused parameter: smtpd_sasl_authenticated_headers=yes
/usr/sbin/postconf: warning: /etc/postfix/main.cf: unused parameter: smtpd_sasl_authenticated_headers=yes
Почему? Вроде опции не устарели эти, как гугл говорит...

Slack
()

freebsd nss_ldap перестал резолвить группы

Форум — Admin

После обновления nss_ldap, перестал резолвить группы. Было:

# ls /var/db/pkg | grep nss_ldap
nss_ldap-1.265_6
id himan
uid=1002(himan) gid=0(wheel) groups=0(wheel),2001(admins),2002(users),2003(startup),2004(delphi),2007(techdep),2008(common user group),2011(updater),1026(edu)
# 
Стало:
# id himan
uid=1001(himan) gid=1001(backup) groups=1001(backup)

Настройки не менялись, следующие:

#cat /usr/local/etc/nss_ldap.conf
  base dc=domain,dc=ru
  bind_policy soft
  bind_timelimit 30
  host 192.168.101.85
  ldap_version 3
  binddn uid=cvsreader,ou=people,dc=domain,dc=ru
  bindpw cvsreader
  nss_base_group        ou=groups,dc=domain,dc=ru?one
  nss_base_passwd        ou=people,dc=domain,dc=ru?one
  nss_base_shadow        ou=people,dc=domain,dc=ru?one
  pam_filter |(&(accessTo=hostname)(trustModel=byhost))(trustModel=fullaccess)
  nss_connect_policy oneshot
  pam_login_attribute uid      
  pam_password SSHA
  port 389
  timelimit 30

Slack
()

Разрешение vesa driver

Форум — Linux-hardware

Являюсь счастливым владельцем нетбука с видеокарточкой

# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 09)
Монитор работает в разрешении 1024x600

В арче завелся драйвер modesetting, а в BSD, как я понимаю, его нет, работает только через vesa драйвер 800x600. Возможно ли с помощью каких-нибудь ухищрений, комбинируя например всякие HorizSync и VertRefresh, заставить работать монитор с драйвером vesa не в vesa разрешении 1024x600? Спасибо.

Slack
()

Косяк в скрипте на python

Форум — Admin

Помогите пожалуйста поправить косяк в скрипте бекапирования, который читает из конфига параметры, и в случае неудачи шлет письмо через указанный сервер. Не могу до конца разобраться с smtplib:

#cat backup.conf

[Dirs]
dirs: /home/amihailov/back
backup_dir : /home/amihailov/backups

[Config]
from_mail: a.mikhailov@myhost.ru
admin_mail: amihailov@gmail.com
mail_server: mail.myhost.ru
delete_after_days: 5
pas: xxx 


~$ cat backup.py
#!/usr/bin/python2

import ConfigParser
import sys, commands, os, datetime
import smtplib
from email.mime.text import MIMEText

def send_mail(from_mail, to_mail, subj, message, server, pas):
	message = MIMEText(message)
	message['Subject'] = subj
	message['From'] = from_mail
	message['To'] = to_mail
	s = smtplib.SMTP(server)
	s.connect(server)
	s.login(from_mail, pas)
	s.sendmail(from_mail, to_mail, message.as_string())
	s.quit()

class BackupConfig:
	def __init__(self, filename):
		self.config = ConfigParser.ConfigParser()
		self.config.read(filename)

	def get(self, section, name):
		return self.config.get(section, name, 0)

def main():

	# Vars:
	config = BackupConfig('backup.conf')
	dirs = config.get('Dirs', 'dirs')
	backup_dir = config.get('Dirs', 'backup_dir')
	from_mail = config.get('Config', 'from_mail')
	admin_mail = config.get('Config', 'admin_mail')
	mail_server = config.get('Config', 'mail_server')
	pas = config.get('Config', 'pas')
	delete_after_days = config.get('Config', 'delete_after_days')
	timestamp = str(datetime.date.today())
	# ---

	# Clean backup dir, delete old files
	os.system("find " + backup_dir + " -mtime +" + delete_after_days + " -exec rm '{}' \;")
	# ---

	dirs = dirs.split(',')
	for directory in dirs:
		code = commands.getstatusoutput('7za a -t7z -mx0 ' + backup_dir + '/' + str(os.path.split(directory)[1]) + '_' + timestamp + '.7z "' + directory + '/"')
		if code[0] != 1:
			print str(code[1])
			send_mail(
				from_mail,
				admin_mail,
				'backup error',
				'Error: 7Zip return error code. Directory: ' + directory + '\n\r Error: ' + str(code[1]),
				mail_server,
				pas
			)


if __name__ == "__main__":
	main()


Slack
()

Asterisk, переадресация.

Форум — General

Привет. Нужно сделать переадресацию, чтобы пользователь набирал *21XXXX и переадресовывало на другой телефон.

Два сервера : lst10 c внешними номерами (4150 4149) и lst252 c внутренними номерами (4646). Нужно сделать переадресацию с 4646 на 4149. Если делать переадресацию на номера с lst252 - то все работает.

На lst252 в extensions.сonf пишу:

exten => _*21XXXX,1,Set(DB(REDIRECT/${CALLERID(num)})=${EXTEN:3})
exten => *22#,1,Set(NOREDIRNUM=${DB_DELETE(REDIRECT/${CALLERID(num)})})
exten => 4646,1,Set(REDIRECTNUM=${DB(REDIRECT/${EXTEN})})
exten => 4646,n,GotoIf($[${ISNULL(${REDIRECTNUM})}]?internal:redirect)
exten => 4646,n(internal),Dial(SIP/${EXTEN})
exten => 4646,n(redirect),Dial(SIP/${REDIRECTNUM})	
exten => _41XX,1,Dial(SIP/lst10/${EXTEN},30,r,t);	

на телефоне набираю *214149

-- Executing [*214149@default:1] Set("SIP/4646-000147af", "DB(REDIRECT/4646)=4149") in new stack	

Звоню с 4150 на 4646:

 == Using SIP RTP CoS mark 5
    -- Executing [4646@default:1] Set("SIP/lst10-000147f4", "REDIRECTNUM=4149") in new stack
    -- Executing [4646@default:2] GotoIf("SIP/lst10-000147f4", "0?internal:redirect") in new stack
    -- Goto (default,4646,4)
    -- Executing [4646@default:4] Dial("SIP/lst10-000147f4", "SIP/4149") in new stack
[Dec  4 19:20:46] WARNING[23407][C-00000032]: chan_sip.c:6159 create_addr: Purely numeric hostname (4149), and not a peer--rejecting!
[Dec  4 19:20:46] WARNING[23407][C-00000032]: app_dial.c:2437 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)

А если exten написать через s - то он туда не попадает. Что я делаю не так?

Slack
()

Оценка работы системного администратора

Форум — Talks

Всем привет.

Я работаю системным администратором в одной it-фирме. Фирма разрабатывает онлайн-решения - есть несколько проектов, нагруженных и не очень (апач + жинкс), маленький клиентский хостинг, почта, заббиксы там всякие, ну и сервера для внутреннего пользования (лдапы-випиэны, астериски). Соответственно всем этим периодически приходится заниматся + через неделю нужно делать мелочи - обращения прогеров (там права какие-нибудь поправить, сервис перезапустить, и т.д.)

Для высокого руководства работа, ну разве что за исключением мелочей почти не видна. С их точки зрения мы сидим, и непонятно чем занимаемся, про нас вспоминают только тогда когда что-то упадет. Если прогер написал какой-то функционал на сайт - то он виден, с дизайнерами и верстальщиками та же песня. А если мы тра#ались - тра#ались и перевели один из ведущих проектов на GlusterFS, или там сделали кластер телефонии - то это не видно, оно с первого взгляда - как работало, так и работает.

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

Slack
()

Автоматическая установка XUbuntu 13.10

Форум — Linux-install

Проблема - не работает preseed/late_command.

Нужно - иметь автоустановочный образ хубунты с необходимым набором софта+измененным дефолтным репозиторием, сделанным по технологии preseed.

Что редактировал: cat isolinux/txt.cfg

default oem
label oem
  menu label ^OEM установка
  kernel /casper/vmlinuz
  append  file=/cdrom/preseed/oem.seed boot=casper debian-installer/locale=ru_RU.UTF-8 console-setup/layoutcode=ru localechooser/translation/warn-light=true localechooser/translation/warn-severe=true console-setup/toggle=Alt+Shift automatic-ubiquity initrd=/casper/initrd.lz --

cat preseed/oem.seed

# Enable extras.ubuntu.com.
d-i apt-setup/extras boolean true

# Locales
d-i debian-installer/locale string ru_RU.UTF-8

# Keyboard
d-i localechooser/shortlist select RU
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string ru
d-i console-setup/variant select Россия
d-i keyboard-configuration/layoutcode string ru
d-i console-setup/toggle select Alt+Shift

# Network
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string ls-computer
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Do not configure the network at this time

# Clock
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Moscow
d-i clock-setup/ntp boolean true

# Users
d-i passwd/make-user boolean true
d-i passwd/user-fullname string Lsadmin
d-i passwd/username string lsadmin
d-i passwd/user-password-crypted password $6$aEi.l7sC$Nn3vsdqt02c0yyzrQVedGtv11GQk1ItW/Sz9G8ngmLzPG2CfaFm3uUr.7bjaK6hfy.f6Yr7.oEF8dQ.
d-i user-setup/allow-password-weak boolean true
d-i user-setup/encrypt-home boolean false

# Partitioning
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string regular
partman-auto partman-auto/init_automatically_partition select Guided - use entire disk
partman-auto partman-auto/automatically_partition select
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

# GRUB
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true

# At last
d-i finish-install/reboot_in_progress note
tasksel    tasksel/first    multiselect ubuntu-desktop
d-i preseed/late_command string apt-install mc;in-target mkdir /123

Убунта устанавливается без дополнительных вопросов, кроме как выдает запрос на перезагрузку, несмотря на d-i finish-install/reboot_in_progress note и судя по тому, что в установленной системе нет папки /123 - не выполняется d-i preseed/late_command string apt-install mc;in-target mkdir /123 (mkdir там ради теста, вместо него предполагается скрипт, устанавливающий пакеты). ЧЯДНТ?

Slack
()

Error loading new keyboard description, xscreensaver

Форум — Desktop

Имеем следующее:

#cat /etc/X11/xorg.conf.d/90-keytable.conf
Section "InputClass"
	Identifier "LocalKeyboard"
	MatchIsKeyboard "on"
	Option	"XkbLayout"	"us,ru"
	Option "XkbLayout" "us,ru"
	Option "XkbOptions" "grp:alt_space_toggle,grp_led:scroll"
EndSection

Раскладка нормально переключается по alt_space

Запускаем xscreensaver

$ xscreensaver
Error loading new keyboard description
$ su
Пароль: 
# xscreensaver
Error loading new keyboard description
# 
Смотрим в лог:
 tail -n1  /var/log/Xorg.0.log
[  3614.741] (EE) Error loading keymap /var/lib/xkb/compiled/server-0.xkm
И вправду нет:
 ls -lah /var/lib/xkb/compiled
итого 12K
drwxr-xr-x 2 root root 4,0K окт 16 19:01 .
drwxr-xr-x 3 root root 4,0K июл 15 16:25 ..
-rw-r--r-- 1 root root  644 июл 15 16:25 README.compiled
Дать 777 на /var/lib/xkb/compiled к результату не приводят.

Xorg -version
X.Org X Server 1.13.2
Slack
()

Asterisk. Запись в CDR перехвата звонка.

Форум — General

Звоню с мобильного телефона (8926XXXXXXX) на внутренний номер менеджера (2222). Менеджер разговаривает со мной, и переключает меня на номер 2201. На 2201 никто трубку не берет, перехватывает номер 2217

В консоли астериска это выглядит примерно так:

-- Executing [7777777@from_pstn:1] Set("DAHDI/i1/926XXXXXXX-19ef", "CDR(userfield)=7777777") in new stack
-- SIP/2222-00010999 answered DAHDI/i1/926XXXXXXX-19ef
-- Executing [2201@default_record:1] Goto("SIP/2222-000109a0", "managers,2201,1") in new stack
-- Executing [2201@managers:5] Dial("SIP/2222-000109a0", "SIP/2201") in new stack
-- SIP/2217-000109a2 answered SIP/2222-000109a0
== Spawn extension (managers, 2201, 5) exited non-zero on 'DAHDI/i1/926XXXXXXX-19ef'
-- Hungup 'DAHDI/i1/926XXXXXXX-19ef'

Если смотреть в CDR, который пишется в базу, то там это выглядит так:

815114;"2013-10-15 13:35:36";"926XXXXXXX";"926XXXXXXX";"2222";"managers";"DAHDI/i1/9263118723-19ef";"SIP/2222-00010999";"Dial";"SIP/2222";43;35;"ANSWERED";3;"";"1381829736.86619";"2222";"";"1381829736.86619";111632
815116;"2013-10-15 13:36:07";""2222" <2222>";"2222";"2201";"managers";"SIP/2222-000109a0";"SIP/2217-000109a2";"Dial";"SIP/2201";20;16;"ANSWERED";3;"";"1381829767.86632";"926XXXXXXX";"";"1381829767.86632";111648

Как понять, что это один и тот же звонок? Можно ли как-то сделать, чтобы у этого, по сути одного звонка, был один айдишник? Или в какое-нибудь поле писался старый id? Селектить только по номеру телефона userfield как то некрасиво совсем.

Slack
()

Python, chmod

Форум — Development

Есть скриптик на шелле, который в некоторый момент делает

chgrp -R updater /usr/local/www/hosting/$DIR
chmod -R g+rwX /usr/local/www/hosting/$DIR
Как это будет на питоне? Я осилил только рекурсивный чмод, но это немножко не то, и не так.
	for root, dirs, files in os.walk(path):
		for d in dirs:
			os.chmod(root + '/' + d, 0o777)
		for f in files:
			os.chmod(root + '/' + f, 0o666)
Или лучше не морочится и использовать os.system? Как правильней? Спасибо.

Slack
()

awesome и два монитора

Форум — Desktop

Как настроить awesome на двух мониторах?

У меня почти дефолтный конфиг awesome,

tags = {}
for s = 1, screen.count() do
    -- Each screen has its own tag table.
   tags[s] = awful.tag({ "Web", "Shell", "Skype", "Mail", 5, 6, 7, "Backup", "Music" }, s, layouts[1])
end
.......
-- Create a systray
mysystray = widget({ type = "systray" })

Мониторы настроены следующим образом:

#cat /etc/X11/xorg.conf.d/50-monitor.conf
Section "Monitor"
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "Acer"
Option "PreferredMode" "1280x1024"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Samsung"
Option "PreferredMode" "1920x1080"
  Option     "LeftOf"   "Monitor1"
EndSection
Нужно чтобы на «Monitor0» отображались теги «Web», «Shell», «Skype», «Mail», 5, 6, «Backup», «Music», а на «Monitor1» - тег «Zabbix», и systray отображался на «Monitor0» (сейчас он только на «Monitor1». В lua увы не силен :(

Slack
()

nginx, разные error_page

Форум — Admin

Добрый день.

Есть некий сайт site.ru на русском языке и site.ru/en на английском языке. nginx+apache22.

Есть заглушки для ошибок сервера.

Файлы называются

500_ru.html

500_en.html

502_ru.html

502_en.html

503_ru.html

503_en.html

504_ru.html

504_en.html

Версии с префиксом _en необходимо отдавать в случае если запрошенный url начинался с «/en/»

Не соображу, как сделать. Как просто отдавать error_page ясно. Если бы урлы были бы site.ru/ru и site.ru/en - былы бы проще. А как в моем случае поступить не знаю :(

Slack
()

Awesome и русская расклада.

Форум — Desktop

Возможно ли настроить awesome , дабы шорткаты работали и в русской раскладке?

 

Slack
()

Посчитать трафик с внешних ресутсов.

Форум — Admin

Есть машина с фряхой, через которую несколько серверов качают с сайтов в интернете некую инфу. Нужно иметь представление, откуда что и сколько накачал.

Посоветуйте чем посчитать, желательно попроще. ipfw как я понимаю не подходит, ipa не умеет вроде как источники трафика показывать.

Slack
()

SVN hook, запрещающие русские имена файлов.

Форум — Admin

Добрый день. Посоветуйте пожалуйста какой-нибудь svn hook, который запрещал бы загружать в репозиторий файлы, называющиеся не на латинице. Спасибо

 ,

Slack
()

Собрать свой образ FreeBSD.

Форум — Admin

Добрый день. Стоит задача собрать свой образ FreeBSD, так, чтобы после установки, в системе стоял уже нужный софт. Делаю так

    cd /usr/src
    make buildworld
    make buildkernel
    cd release
    make release CHROOTDIR=/local3/release BUILDNAME=9.0-RELEASE CVSROOT=/usr/src RELEASETAG=RELENG_9_0_RELEASE

Он мне собирает релиз, только почему то сюда:

    # cd /usr/obj/usr/src/release/
    # ls
    MANIFEST        bootonly        dist            ftp             kernel.txz      memstick        ports.txz       release.iso     system
    base.txz        bootonly.iso    doc.txz         games.txz       lib32.txz       packagesystem   release         src.txz
#

Делаю чендж рут сюда

    /usr/obj/usr/src/release/release

Ставлю порты, собираю то. что мне нужно из софта, но после он не дает собрать образ:

    # make release CHROOTDIR=/local3/release BUILDNAME=9.0-RELEASE CVSROOT=/usr/src RELEASETAG=RELENG_9_0_RELEASE
    `release' is up to date.
    #

Что я делаю не так?

Slack
()

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

Форум — General

Есть файл

tinymce.linklist.php

и куча директорий, в которых есть это же файл в папке

www/assets/plugins/tinymce3201/tinymce.linklist.php

Также есть такие же файлы в темпах, вроде www/projectman/mytmp/1e4283221bb9777f308d12abf5bc1225/www/assets/plugins/tinymce3201/tinymce.linklist.php

нужно заменить файл только в www/assets/plugins/tinymce3201/tinymce.linklist.php Как это сделать?

 

Slack
()

Регексп для локейшна nginx

Форум — General

Есть урл

find_tourV2/filter_bigform?wc_action=offers&dyn_ld=1
в котором нужно видя парамерт wc_action=offers перебрасывать его на другой апачь. тут трабла в том, что wc_action=offers может идти не первым параметром, dyn_ld=1 может не идти за ним, в общем может находится в произвольном месте.

Написал такой локейшн, но в него ничего не попадает

location ~ /find_tourV2/(.*)wc_action(.*) {
зroxy_pass                      http://lsp37.ls1.ru:8003/find_tourV2/$1wc_action$2$query_string;
access_log /var/log/nginx/acces_log_8003_wc;
}
Поправьте, где я ошибся?

 

Slack
()

Как грепать значения больше, чем

Форум — General

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

 ,

Slack
()

RSS подписка на новые темы