OpenVPN, duplicate-cn
Всем привет. Можно в OpenVPN включить опцию duplicate-cn для одного ключа через ccd файл?
Всем привет. Можно в OpenVPN включить опцию duplicate-cn для одного ключа через ccd файл?
Обновил 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
После обновления 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
Являюсь счастливым владельцем нетбука с видеокарточкой
# lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Atom Processor D2xxx/N2xxx Integrated Graphics Controller (rev 09)
В арче завелся драйвер modesetting, а в BSD, как я понимаю, его нет, работает только через vesa драйвер 800x600. Возможно ли с помощью каких-нибудь ухищрений, комбинируя например всякие HorizSync и VertRefresh, заставить работать монитор с драйвером vesa не в vesa разрешении 1024x600? Спасибо.
Помогите пожалуйста поправить косяк в скрипте бекапирования, который читает из конфига параметры, и в случае неудачи шлет письмо через указанный сервер. Не могу до конца разобраться с 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()
Привет. Нужно сделать переадресацию, чтобы пользователь набирал *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 - то он туда не попадает. Что я делаю не так?
Всем привет.
Я работаю системным администратором в одной it-фирме. Фирма разрабатывает онлайн-решения - есть несколько проектов, нагруженных и не очень (апач + жинкс), маленький клиентский хостинг, почта, заббиксы там всякие, ну и сервера для внутреннего пользования (лдапы-випиэны, астериски). Соответственно всем этим периодически приходится заниматся + через неделю нужно делать мелочи - обращения прогеров (там права какие-нибудь поправить, сервис перезапустить, и т.д.)
Для высокого руководства работа, ну разве что за исключением мелочей почти не видна. С их точки зрения мы сидим, и непонятно чем занимаемся, про нас вспоминают только тогда когда что-то упадет. Если прогер написал какой-то функционал на сайт - то он виден, с дизайнерами и верстальщиками та же песня. А если мы тра#ались - тра#ались и перевели один из ведущих проектов на GlusterFS, или там сделали кластер телефонии - то это не видно, оно с первого взгляда - как работало, так и работает.
Посоветуйте, какие есть способы, кроме писания ежедневных отчетов, чем занимался, которые позволяют наглядно показать руководству, что ты не даром ешь хлеб. В свое время читал какую то умную книжку по ITIL, но мне сейчас кажется что немножко не то...
Проблема - не работает 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 там ради теста, вместо него предполагается скрипт, устанавливающий пакеты). ЧЯДНТ?
Имеем следующее:
#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
Xorg -version
X.Org X Server 1.13.2
Звоню с мобильного телефона (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 как то некрасиво совсем.
Есть скриптик на шелле, который в некоторый момент делает
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)
Как настроить 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
Добрый день.
Есть некий сайт 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 - былы бы проще. А как в моем случае поступить не знаю :(
Возможно ли настроить awesome , дабы шорткаты работали и в русской раскладке?
Есть машина с фряхой, через которую несколько серверов качают с сайтов в интернете некую инфу. Нужно иметь представление, откуда что и сколько накачал.
Посоветуйте чем посчитать, желательно попроще. ipfw как я понимаю не подходит, ipa не умеет вроде как источники трафика показывать.
Добрый день. Посоветуйте пожалуйста какой-нибудь svn hook, который запрещал бы загружать в репозиторий файлы, называющиеся не на латинице. Спасибо
Добрый день. Стоит задача собрать свой образ 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.
#
Что я делаю не так?
Есть файл
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 Как это сделать?
Есть урл
find_tourV2/filter_bigform?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;
}
Есть скрипт, который выдергивает из лога энджинкса хттп статусы. Надо как то выгрепывать оттуда значения, большие 399. Что-то не придумаю, как это реализовать.
← предыдущие | следующие → |