LINUX.ORG.RU

Сообщения HolyBoy

 

[gentoo] pacemaker

Форум — Admin

Столкнулся со странным.

Итак, пытаюсь поставить из официального дерева sys-cluster/pacemaker-1.1.4-r4 USE="(-heartbeat) -smtp -snmp -static-libs" на одну из нод будущего кластера. amd64. Получаю вот такое:

chmod a+x ../tools/crm_simulate
PATH=$PATH:../tools help2man --output crm_simulate.8 --no-info --section 8 --name "Part of the Pacemaker cluster resource manager" ../tools/crm_simulate
help2man: can't get `--help' info from ../tools/crm_simulate
Try `--no-discard-stderr' if option outputs to stderr
gmake[1]: *** [crm_simulate.8] Error 127
gmake[1]: *** Waiting for unfinished jobs....
libtool: link: x86_64-pc-linux-gnu-gcc -std=gnu99 -O2 -pipe -I/usr/include -I/usr/include/heartbeat -fgnu89-inline -fstack-protector-all -Wall -Waggregate-return -Wbad-function-cast -Wcast-align -Wdeclaration-after-statement -Wendif-labels -Wfloat-equal -Wformat=2 -Wformat-security -Wformat-nonliteral -Winline -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wno-long-long -Wno-strict-aliasing -Wpointer-arith -Wstrict-prototypes -Wwrite-strings -Wl,-O1 -o .libs/iso8601 test.iso8601.o  -Wl,--as-needed ../lib/common/.libs/libcrmcommon.so -L/usr/lib64 ../lib/cib/.libs/libcib.so /var/tmp/portage/sys-cluster/pacemaker-1.1.4-r4/work/Pacemaker-1-1-Pacemaker-1.1.4/lib/common/.libs/libcrmcommon.so -lcrypto -lncurses -lcoroipcc -lcpg -lquorum /usr/lib64/libgnutls.so /usr/lib64/libtasn1.so /usr/lib64/libgcrypt.so /usr/lib64/libgpg-error.so /usr/lib64/libplumb.so /usr/lib64/libpils.so -lbz2 /usr/lib64/libxslt.so /usr/lib64/libxml2.so -lz -lm -lc -luuid -lpam /usr/lib64/libglib-2.0.so -lrt /usr/lib64/libltdl.so -ldl
gmake[1]: Leaving directory `/var/tmp/portage/sys-cluster/pacemaker-1.1.4-r4/work/Pacemaker-1-1-Pacemaker-1.1.4/tools'
make: *** [all-recursive] Error 1
emake failed
 * ERROR: sys-cluster/pacemaker-1.1.4-r4 failed (compile phase):
 *   died running emake, base_src_make
 * 
 * Call stack:
 *     ebuild.sh, line   56:  Called src_compile
 *   environment, line 5452:  Called base_src_compile
 *   environment, line 1103:  Called base_src_make
 *   environment, line 1141:  Called die
 * The specific snippet of code:
 *           emake "$@" || die "died running emake, $FUNCNAME";
 * 
 * If you need support, post the output of 'emerge --info =sys-cluster/pacemaker-1.1.4-r4',
 * the complete build log and the output of 'emerge -pqv =sys-cluster/pacemaker-1.1.4-r4'.
 * The complete build log is located at '/var/tmp/portage/sys-cluster/pacemaker-1.1.4-r4/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-cluster/pacemaker-1.1.4-r4/temp/environment'.
 * S: '/var/tmp/portage/sys-cluster/pacemaker-1.1.4-r4/work/Pacemaker-1-1-Pacemaker-1.1.4'

Пытаюсь скомпилировать на другой ноде, полностью идентичной первой. Компилируется нормально. WTF? (да, я на первой пытался забороть по-всякому: и system пересобирал, и lafilefixer'ом пробегался) Но даже это ещё не всё.

Пробую из интереса поставить с тем же набором на x86. Все зависимости ставятся абсолютно с теми же флагами, что и на amd64. Устанавливается. Смотрю листинг в директории /usr/lib/ocf.

На x86:

# ls /usr/lib/ocf/ -R
/usr/lib/ocf/:
lib  resource.d

/usr/lib/ocf/lib:
heartbeat

/usr/lib/ocf/lib/heartbeat:
ocf-binaries  ocf-directories  ocf-returncodes  ocf-shellfuncs

/usr/lib/ocf/resource.d:
heartbeat  pacemaker

/usr/lib/ocf/resource.d/heartbeat:
anything      db2      exportfs    IPsrcaddr         LinuxSCSI    nfsserver  postfix      SAPInstance         Stateful       WAS
AoEtarget     Delay    Filesystem  IPv6addr          LVM          nginx      proftpd      scsi2reservation    SysInfo        WAS6
apache        drbd     fio         iscsi             MailTo       oracle     Pure-FTPd    SendArp             syslog-ng      WinPopup
AudibleAlarm  Dummy    ICP         iSCSILogicalUnit  ManageRAID   oralsnr    Raid1        ServeRAID           tomcat         Xen
ClusterMon    eDir88   ids         iSCSITarget       ManageVE     pgsql      Route        sfex                VIPArip        Xinetd
conntrackd    Evmsd    IPaddr      jboss             mysql        pingd      rsyncd       SphinxSearchDaemon  VirtualDomain
CTDB          EvmsSCC  IPaddr2     ldirectord        mysql-proxy  portblock  SAPDatabase  Squid               vmware

/usr/lib/ocf/resource.d/pacemaker:
ClusterMon  controld  Dummy  HealthCPU  HealthSMART  o2cb  ping  pingd  Stateful  SysInfo  SystemHealth

на amd64:

# ls -R /usr/lib/ocf/
/usr/lib/ocf/:
resource.d

/usr/lib/ocf/resource.d:
linbit  pacemaker

/usr/lib/ocf/resource.d/linbit:
drbd

/usr/lib/ocf/resource.d/pacemaker:
ClusterMon  Dummy  HealthCPU  HealthSMART  Stateful  SysInfo  SystemHealth  controld  o2cb  ping  pingd

WTF²? На ноде работает drbd, это понятно. Но куда делась директория heartbeat?

Что посоветуют гентоводы?

 

HolyBoy
()

[mail] Dovecot-lda и структура LDAP

Форум — Admin

Здравствуйте.

Сперва некоторые пояснения. Используется postfix+openldap+dovecot и виртуальные пользователи.

Организована такая структура каталога LDAP, что возможен такой результат запроса:

# extended LDIF
#
# LDAPv3
# base <ou=Mail, dc=ph, dc=local> with scope subtree
# filter: (&(mail=someuser@p.ru)(|(AccountStatus=active)(accountStatus=shared)))
# requesting: mailMessageStore 
#
dn: cn=lala,ou=Mail,dc=ph,dc=local
mailMessageStore: /var/mail/someuser/Maildir/

# Eset, Mail, ph.local
dn: cn=Eset,ou=Mail,dc=ph,dc=local

# admins, Mail, ph.local
dn: cn=admins,ou=Mail,dc=ph,dc=local

# search result
search: 2
result: 0 Success

# numResponses: 4
# numEntries: 3

Что это означает? А означает следующее: dn «cn=Eset,ou=Mail,dc=ph,dc=local» и «cn=admins,ou=Mail,dc=ph,dc=local» — аккаунты, не хранящие ничего локально и являющиеся, по сути, списками рассылки. Соответственно, если послать письмо на адрес-алиас mailAlternateAddress такой рассылки, то оно будет разослано всем, кто указан в поле mail. Очень удобно. В данном конкретном случае, такое письмо попадёт к «dn: cn=lala,ou=Mail,dc=ph,dc=local», где и будет благополучно засунуто в mailMessageStore.

Разумеется, прямые письма к «dn: cn=lala,ou=Mail,dc=ph,dc=local» будут сразу ему доставлены локально.

Кроме того, некоторые пользователи электронной почтой не имеют почтовых адресов, совпадающих с их uid. Вообще никаких: ни mail, ни mailAlternateAddress.

Вся эта конструкция замечательно работала и работает, если использовать в postfix

virtual_transport = virtual

Захотелось, чтобы dovecot, кроме простой раздачи писем по IMAP, просеивал письма через sieve, следил за квотами и т.д. Соответственно, приходится настраивать dovecot-lda.

Соединение между dovecot и postfix настроено нормально, в целом всё прекрасно, за исключением вот таких, описанных выше случаев.

В main.cf:

dovecot_destination_recipient_limit = 1
virtual_transport = dovecot
#virtual_transport = virtual

В master.cf :

dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}
Сперва вместо recipient стояло user, но, поскольку, как уже было сказано, некоторые пользователи не имеют почтовых адресов, совпадающих с их uid, пришлось исправить это на recipient.

Соответствующее место в dovecot-ldap.conf:

user_filter = (&(objectClass=qmailUser)(|(AccountStatus=active)(accountStatus=shared))(|(mail=%u)(mailAlternateAddress=%u)))
pass_filter = (&(objectClass=qmailUser)(|(AccountStatus=active)(accountStatus=shared))(|(mail=%u)(mailAlternateAddress=%u)))
user_attrs = mailMessageStore=home
pass_attrs = uid=user,userPassword=password

Посылаю письмо указанному в самом начале someuser:

mutt -s "test $(date +%d/%m/%Y:%H.%M)" -- someuser@p.ru < /dev/null
и в логе получаю:
dovecot: lda: Debug: Module loaded: /usr/lib64/dovecot/lib90_sieve_plugin.so
dovecot: auth: Debug: master in: USER#0111#011someuser@p.ru#011service=lda
dovecot: auth: Debug: ldap(someuser@p.ru): user search: base=ou=Mail, dc=ph, dc=local scope=subtree filter=(&(objectClass=qmailUser)(|(AccountStatus=active)(accountStatus=shared))(|(mail=someuser@p.ru)(mailAlternateAddress=someuser@p.ru))) fields=mailMessageStore
dovecot: auth: Debug: ldap(someuser@p.ru): result: mailMessageStore(home)=/var/mail/someuser/Maildir/
dovecot: auth: Error: ldap(someuser@p.ru): user_filter matched multiple objects, aborting
dovecot: auth: Debug: master out: FAIL#0111
dovecot: lda: Error: user someuser@p.ru: Auth USER lookup failed
dovecot: lda: Debug: auth input: 
dovecot: lda: Fatal: Internal error occurred. Refer to server log for more information.
postfix/pipe[3259]: 89001846: to=<someuser@p.ru>, relay=dovecot, delay=0.15, delays=0.07/0.01/0/0.07, dsn=4.3.0, status=deferred (temporary failure)

Эта ситуация меня безмерно огорчает.

Вопрос: возможно ли заставить postfix через ${user} в master.cf передавать на dovecot-lda найденный postix'ом же uid, который будет искаться в LDAP для конкретного письма, а не тупо браться из адреса назначения, как вот тут: dovecot-ldap.conf

user_filter = %u %n %d
master.cf
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:mail argv=/usr/libexec/dovecot/deliver -f ${sender} -d ${user}
и результат посылки письма:
dovecot: auth: Debug: ldap(someuser): user search: base=ou=Mail, dc=ph, dc=local scope=subtree filter=someuser someuser  fields=mailMessageStore
(см. на текст после filter=) ? Т.е., чтобы вместо someuser было написано login, взятое из uid.

 

HolyBoy
()

[Вопросы] Кластер HA

Форум — Admin

Здравствуйте.

Собираюсь приступить к освоению и постройке вышеназванного. Появились общетеоретические вопросы.

Хочется следующего: 2-3-нодовый кластер, при выходе из строя одной из нод, должен перекинуть задачи этой ноды на остальные. Также, он должен позволять перекидывать задачи в штатном режиме, скажем, для обслуживания ноды.

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

Если я правильно понимаю, то pacemaker сможет реализовать первую часть задачи, kvm+libvirt — вторую. Так?

Ещё один вопрос для nnz : количество оборудования довольно ограничено, т.е. SAN на отдельных железках не сделать. Возможно ли ценой некоторого снижения надёжности/быстродействия создать на тех же машинках, на которых будет крутиться кластер, блочных устройств одинакового размера и синхронизировать их между собой, как вы и предлагаете практически повсюду, через iSCSI? Если же нет, то буду думать об организации отдельного хранилища, да.

И, наконец, вопрос общего содержания, если ответа на него нет, я пойму: если в виртуалках будут крутиться оффтопик с оффтопичным сиквелем, но невысокой нагрузкой, много ли при этом кушается ресурсов?

 

HolyBoy
()

[странное] Dovecot + LDAP

Форум — Admin

Mail находится в отдельном ou.

Ищем руками. Работает:

# ldapsearch -b 'ou=Mail, dc=ph, dc=com' -D 'cn=bind, ou=Users, dc=ph, dc=com' -w XXX -s sub -h mainserv.ph.com '(&(objectClass=qmailUser)(uid=someuser))' uid mailMessageStore
…

# extended LDIF
…
uid: someuser
mailMessageStore: /var/mail/someuser/Maildir/

# search result
search: 2
result: 0 Success

# numResponses: 2
# numEntries: 1

Dovecot сконфигурирован так:

# 2.0.11: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.36-gentoo-r5 x86_64 Gentoo Base System release 2.0.1 
base_dir = /var/run/dovecot/
listen = *
login_trusted_networks = 192.168.1.0/24
mail_location = maildir:~/.maildir
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date
passdb {
args = *
driver = pam
}
passdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
plugin/sieve = ~/.dovecot.sieve
plugin/sieve_dir = ~/sieve
protocols = imap
ssl_cert = </etc/ssl/dovecot/server.pem
ssl_key = </etc/ssl/dovecot/server.key
userdb {
driver = passwd
}
userdb {
args = /etc/dovecot/dovecot-ldap.conf.ext
driver = ldap
}
verbose_proctitle = yes
protocol lda {
mail_plugins = sieve
}

dovecot-ldap.conf.ext:

hosts = mainserv.ph.com
dn = cn=bind, ou=Users, dc=ph, dc=com 
dnpass = XXX
debug_level = 255
auth_bind = no
ldap_version = 3
base = ou=Mail, dc=ph, dc=com
scope = subtree
user_attrs = mailMessageStore=home
user_filter = (&(objectClass=qmailUser)(uid=%u))
pass_attrs = uid=user,userPassword=password
pass_filter = (&(objectClass=qmailUser)(uid=%u))

Пытаюсь через телнет залогиниться.

$ telnet mainserv.ph.com 143
Trying 192.168.1.252...
Connected to mainserv.ph.com.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN] Dovecot ready.
a001 LOGIN someuser password1
a001 NO [AUTHENTICATIONFAILED] Authentication failed.

В базе у меня 2-а совпадающих uid в разных ветках и с разными паролями. Как я выше показал, с password1 не пускает, тогда как с password2, который относится к uid с другим objectClass и находится в другой ветке аутентифицирует нормально.

Кусок выхлопа для случая, когда не работает:

mainserv dovecot: auth-worker: Error: put_filter: "(&(objectClass=posixAccount)(uid=someuser))"
mainserv dovecot: auth-worker: Error: put_filter: AND
mainserv dovecot: auth-worker: Error: put_filter_list "(objectClass=posixAccount)(uid=someuser)"
mainserv dovecot: auth-worker: Error: put_filter: "(objectClass=posixAccount)"
mainserv dovecot: auth-worker: Error: put_filter: simple
mainserv dovecot: auth-worker: Error: put_simple_filter: "objectClass=posixAccount"
mainserv dovecot: auth-worker: Error: put_filter: "(uid=someuser)"
mainserv dovecot: auth-worker: Error: put_filter: simple
mainserv dovecot: auth-worker: Error: put_simple_filter: "uid=someuser"
mainserv dovecot: auth-worker: Error: ldap_build_search_req ATTRS: uid userPassword uidNumber gidNumber cn homeDirectory loginShell gecos descripti

(полностью можно посмотреть тут: http://dpaste.org/9iA4/ )

Я вообще в удивлении: это баг или мои руки?

Такое впечатление, что dovecot плюёт на subtree и указанный базовый dn.

В рассылке dovecot ничего не нарыл.

 

HolyBoy
()

[неосилятор][PostgreSQL] Триггеры.

Форум — Development

Добрый день.

Пытаюсь сделать вот что: есть таблица actions в postgreSQL, одно из полей которой, с именем ts, имеет тип timestamp without time zone. Я хочу вставить запись, соответствующее поле в которой представлено в виде Unix time.

В Postgre реализована функция to_timestamp(num), умеющая необходимое преобразование:

select to_timestamp from to_timestamp(1291626067);
      to_timestamp      
------------------------
 2010-12-06 12:01:07+03
(1 row)
, осталось её прикрутить к моменту вставки.

Пишу примитивнейшую функцию и пытаюсь прикрутить её к триггеру:

CREATE FUNCTION trigger_epoch_to_datetime_ins() returns trigger as $$
begin
	NEW.ts= to_timestamp(NEW.ts);
	return NEW;
end
$$ language 'plpgsql';
CREATE TRIGGER fromunix before INSERT on actions 
  for each row execute PROCEDURE  trigger_epoch_to_datetime_ins();

однако, при попытке вставить запись, выскакивает ошибка:

ERROR:  invalid input syntax for type timestamp: "1291626067" at character 40
STATEMENT:  INSERT INTO public.actions(ts) VALUES ('1291626067'::timestamp without time zone)

Такое впечатление, что триггер либо не исполняется, либо сперва идёт проверка вставляемого значения, а потом только данные передаются триггеру.

Что тут неправильно и можно ли сделать то, что я хочу?

Второй вопрос: можно ли триггером организовать алиасы и, направляя запись в несуществующее поле, на самом деле вставлять данные в поле созданное с другим именем?

 ,

HolyBoy
()

[bash][awk] Произвольное поле как аргумент

Форум — Development

Здравствуйте.

Существует, к примеру, вот такой лог:

1291361820|1291361755.1269|300|NONE|ABANDON|1|1|61
1291389189|1291389110.1683|300|NONE|ABANDON|1|1|67
1291389298|1291389200.1688|300|NONE|ABANDON|1|1|77
1291389496|1291389304.1693|300|NONE|ABANDON|1|1|172
1291389551|1291389504.1706|300|NONE|ABANDON|1|1|32
1291389690|1291389581.1711|300|NONE|ABANDON|1|1|93
1291390211|1291389853.1717|300|NONE|ABANDON|1|1|343
1291390271|1291390226.1736|300|NONE|ABANDON|1|1|19

Мне надо вывести первое, третье и последнее поле, причём, первое преобразовать из unixtime в повседневное.

Вывод нужной колонки прост:

grep ABANDON queue_log | awk -F '|' '{print $1 $3 $8}'
также просто и преобразовать время:
grep ABANDON queue_log | awk -F '|' '{print $1}' | while read a; do date --date=@"$a"; done
но как объединить первое и второе — не понимаю. В мане awk глядел, но так и не нашёл, как можно исполнить произвольные внешние программы, передавая им в качестве аргумента одно или несколько разных полей и помещая результаты на выход.

 ,

HolyBoy
()

[LaTeX] IDE на замену texmaker

Форум — Desktop

Была клёвая программка texmaker, вплоть до 1.99 версии. Нынешняя, 2.10 версия хочет qt и с ним over9000 левых пакетов. Всё бы ничего, но ставить их для работы всего одной программы не хочется.

Что бы такое использовать вместо texmaker? vim и подобное не предлагайте — у них своя ниша.

 

HolyBoy
()

[asterisk][iptables] Соединение в обход фаерволла? WTF?

Форум — Admin

Приветствую.

Имеем хост с несколькими сетевыми картами и * + iptables на нём. С недавних пор обнаружилось, что кто-то пытается поиметь * (что неудивительно), но при решении проблемы открылось странное: если * слушает

udp        0      0 0.0.0.0:5060            0.0.0.0:*                           9188/asterisk
и при этом разрешены входящие по udp на этот порт, то всё работает как должно, но если перекрыть все (!) соединения извне вот так
# iptables -L INPUT -nv 
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  918  679K ACCEPT     all  --  lo     *       127.0.0.1            0.0.0.0/0           
  528  656K ACCEPT     all  --  lo     *       re.al.ipa.dr1         0.0.0.0/0           
    1    80 ACCEPT     all  --  lo     *       re.al.ipa.dr2       0.0.0.0/0           
  119  9704 ACCEPT     all  --  lo     *       192.168.1.250        0.0.0.0/0           
    0     0 ACCEPT     all  --  lo     *       10.10.0.1            0.0.0.0/0           
    0     0 DROP1      all  --  eth0   *       0.0.0.0/0            255.255.255.255     
    0     0 DROP1      all  --  eth2   *       0.0.0.0/0            255.255.255.255     
  551 68611 DROP1      all  --  eth1   *       0.0.0.0/0            192.168.1.255       
    0     0 DROP1      all  --  eth0   *       0.0.0.0/0           !re.al.ipa.dr1        
    2   669 DROP1      all  --  eth1   *      !192.168.1.0/24       0.0.0.0/0           
  432 22584 ACCEPT     tcp  --  eth1   *       192.168.1.0/24       0.0.0.0/0           multiport dports 22,25,143,3632,3128,4949,80,445,139,21,20,9102,465 tcp flags:0x17/0x02 state NEW 
 1297 85044 ACCEPT     udp  --  eth1   *       192.168.1.0/24       0.0.0.0/0           multiport dports 53,138,137,11190,5060,10000:10500,4569 state NEW 
    0     0 ACCEPT     tcp  --  eth1   *       192.168.1.0/24       re.al.ipa.dr1        multiport dports 5222,5269,5280 tcp flags:0x17/0x02 state NEW 
  254 13092 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            re.al.ipa.dr1        multiport dports 25,20,5222,5269 tcp flags:0x17/0x02 state NEW 
    0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            re.al.ipa.dr1        multiport dports 11190 state NEW 
    5   240 LOG        tcp  --  eth0   *       0.0.0.0/0            re.al.ipa.dr1        multiport dports 22,21 recent: UPDATE seconds: 180 hit_count: 2 TTL-Match name: SEC side: source tcp flags:0x17/0x02 state NEW LOG flags 0 level 4 prefix `BRUTE FORCE ' 
    5   240 DROP1      tcp  --  eth0   *       0.0.0.0/0            re.al.ipa.dr1        multiport dports 22,21 recent: UPDATE seconds: 180 hit_count: 2 TTL-Match name: SEC side: source tcp flags:0x17/0x02 state NEW 
    1    48 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            re.al.ipa.dr1        multiport dports 22,21 recent: SET name: SEC side: source tcp flags:0x17/0x02 state NEW 
    2    92 ACCEPT     tcp  --  eth2   *       0.0.0.0/0            re.al.ipa.dr2      multiport dports 25 tcp flags:0x17/0x02 state NEW 
    0     0 ACCEPT     udp  --  eth2   *       0.0.0.0/0            re.al.ipa.dr2      multiport dports 11190 state NEW 
    0     0 LOG        tcp  --  eth2   *       0.0.0.0/0            re.al.ipa.dr2      multiport dports 22 recent: UPDATE seconds: 180 hit_count: 2 TTL-Match name: SEC side: source tcp flags:0x17/0x02 state NEW LOG flags 0 level 4 prefix `BRUTE FORCE ' 
    0     0 DROP1      tcp  --  eth2   *       0.0.0.0/0            re.al.ipa.dr2      multiport dports 22 recent: UPDATE seconds: 180 hit_count: 2 TTL-Match name: SEC side: source tcp flags:0x17/0x02 state NEW 
    0     0 ACCEPT     tcp  --  eth2   *       0.0.0.0/0            re.al.ipa.dr2      multiport dports 22 recent: SET name: SEC side: source tcp flags:0x17/0x02 state NEW 
    0     0 ACCEPT     icmp --  eth2   *       0.0.0.0/0            0.0.0.0/0           icmp type 8 state NEW 
    1    61 ACCEPT     icmp --  eth0   *       0.0.0.0/0            0.0.0.0/0           icmp type 8 state NEW 
    1    84 ACCEPT     icmp --  eth1   *       192.168.1.0/24       0.0.0.0/0           icmp type 8 state NEW 
 712K  265M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
  445 59098 DROP1      all  --  *      *       0.0.0.0/0            0.0.0.0/0
то попытки соединиться с *, судя по его логам и сетевой активности… не прекращаются до тех пор, пока * не перевести на какой-нибудь другой порт, к примеру, 5061. Примечание: eth1 (192.168.1.0/24) — внутренняя сеть.

Таким образом выходит, что несмотря на запрет подключения по 5060 udp, брутфорсеры каким-то образом всё равно соединяются с * и пытаются его поломать. Но как?! ©

Форвард с внешней сети на внутреннюю также запрещён, к тому ж, соединиться пытаются именно на re.al.ipa.dr2.

 ,

HolyBoy
()

[SMTP] Ксакепы поумнели?

Форум — Security

Имеется давным-давно настроенный почтовик с параноидальными склонностями:

smtpd_client_restrictions = check_client_access regexp:/etc/postfix/client_check.pcre,   permit_sasl_authenticated,   reject_unknown_client_hostname,   permit
smtpd_data_restrictions = reject_unauth_pipelining
smtpd_delay_reject = yes
smtpd_etrn_restrictions = reject
smtpd_helo_restrictions = check_sender_access pcre:/etc/postfix/stupid_programs.regex,   reject_invalid_helo_hostname,   reject_non_fqdn_helo_hostname,   reject_unknown_helo_hostname,   permit
smtpd_recipient_restrictions = permit_sasl_authenticated,   reject_non_fqdn_recipient,   reject_unknown_recipient_domain,   reject_unlisted_recipient,   check_sender_access pcre:/etc/postfix/autorize_sender.pcre,   reject_unauth_destination,   permit
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = yes
smtpd_sender_restrictions = reject_non_fqdn_sender,   reject_unknown_sender_domain,   permit

Есть ещё кое-что, но оно к делу отношения не имеет. Спамеров режет хорошо.

В последнее время, с начала сентября, стали валиться письма, содержащие в себе вирусы, порой по 5-6, а то и по 20 писем в день приходит. Нет, всё как-бы в порядке, они задерживаются антивирусом на почтовике. В логе, к примеру, пишется это:

Sep 27 01:27:38 gate postfix/smtpd[28619]: 65D1286FE: client=32.43.pppoe.mari-el.ru[77.40.43.32]
Sep 27 01:27:39 gate postfix/cleanup[28712]: 65D1286FE: message-id=<113171884.0476912244055.JavaMail.interconnectedch927@a1e5b2a2eef5490>
Sep 27 01:27:39 gate postfix/qmgr[5224]: 65D1286FE: from=<interconnectedch927@rdtinc.com>, size=10485, nrcpt=1 (queue active)
Sep 27 01:27:46 gate postfix/smtp[28713]: 65D1286FE: to=<double-bounce@real.domain>, relay=127.0.0.1[127.0.0.1]:10024, delay=7.9, delays=1.4/0.01/0/6.5, dsn=2.5.0, status=sent (250 2.5.0 Ok, id=26864-18, BOUNCE)
…

Sep 27 07:08:04 gate postfix/smtpd[29457]: 3885786BB: client=94.41.228.67.dynamic.str.ufanet.ru[94.41.228.67]
Sep 27 07:08:04 gate postfix/cleanup[29532]: 3885786BB: message-id=<069187483.6418559083814.JavaMail.rubrics@registratura>
Sep 27 07:08:04 gate postfix/qmgr[5224]: 3885786BB: from=<rubrics@rostad.com>, size=10477, nrcpt=1 (queue active)
Sep 27 07:08:10 gate postfix/smtp[29533]: 3885786BB: to=<double-bounce@real.domain>, relay=127.0.0.1[127.0.0.1]:10024, delay=6.4, delays=0.14/0.01/0/6.3, dsn=2.7.0, status=sent (250 2.7.0 Ok, discarded, id=28822-10 - INFECTED: Trojan.Downloader.Fraudload-31)

ну и тому подобное. Обращает на себя внимание схожесть строк с JavaMail и то, что пишут явно с заражённых какой-то гадостью домашних хостов. Но самое забавное — это то, что теперь домашним хостам провайдеры дают зачем-то обратную запись, так что, такие проверки, похоже, летят к чёрту. Также, полагаю, что пока эта технология находится в стадии апробирования перед запуском в массы, когда начнут уже писать на реальные почтовые адреса, а не на double-bounce.

 

HolyBoy
()

[SIP] Выбор софтофона

Форум — Desktop

Ищу софтофон для работы в организации и дома, который

  • может адресную книгу из LDAP брать
  • может проверять наличие электронной почты
  • имеет достаточный набор кодеков
  • не глючит
  • желательно, умеющий работать с IAX2

Смотрел ekiga, sflphone, linphone.

Первым с дистанции сошёл sflphone. Он, несмотря на заявленные поддержку IAX2 и SIP, не смог подключиться ни по первому протоколу (хотя, здесь скорее всего я не до конца настроил свой сервер), ни по второму. О своих ошибках он ничего внятного не сказал, на моём сервере ни в логах фаерволла, ни в логах * также не засветился. Я подозреваю, что его надо как-то настроить (к примеру, порты SIP/RTP/IAX указать), но где эта настройка делается, я не знаю.

Второй с дистанции сошла ekiga. Несмотря на то, что этот клиент как-бы работает и удовлетворяет хотя бы первым трём пунктам, радость омрачает то, что я так и не нашёл, как он сигнализирует о наличии сообщений в голосовой почте. Постоянно * в логах ругался на некорректное поведение этого клиента, например, так во время звонка:

ERROR[22932]: rtp.c:3441 ast_rtcp_write_sr: RTCP SR transmission error to 192.168.1.205:5001, rtcp halted Operation not permitted
или так:
NOTICE[22932]: chan_sip.c:21371 handle_request_subscribe: Sending fake auth rejection for device "Tester" <sip:user@192.168.1.205>;tag=11111-1111-1111-1111-11sdflkj1lkjdf
во время логина. Кроме того, мне не понравилась настройка ekiga, выполняемая через одно место и не применяемая зачастую при работающем клиенте. В общем, несмотря на более-менее приличный интерфейс и наличие каких-то возможностей, в целом, косяки не радуют.

Наконец, linphone. Это единственный клиент, который работал так, как от него ожидалось, не заставлял * высирать тонны кирпичей в логах, соединялся на корректные порты (ибо прочие закрыты фаерволлом), и, вообще, оставил благоприятное впечатление. Так что, я сейчас им и пользуюсь. Однако, не самые богатые возможности (из списка моих хотелок он только безглючную работу реализует) заставляют меня продолжать поиски.

Под оффтопиком я тестировал x-lite, но там он версии 3+, а под линуксами всего-то 2+. В принципе, виндовый X-lite удовлетворяет многим пунктам в моём списке, но вот то, что он жутко тормозит при запуске, настораживает. Так что, я под linux его не смотрел и не ставил.

Для справки. Мой * настроен так: на 5060 принимает/отправляет SIP-запросы, на 10000:10500 — RTP. Прочие порты закрыты. Так что, если софтофон можно настроить на нужный диапазон, он должен быть настроен, иначе, работать не будет (что, как подозреваю, и случилось с sflphone).

Итак, что можно взять в моём случае, что ещё можно посмотреть?

 

HolyBoy
()

[LDAP] Смена корня.

Форум — Admin

Здравствуйте.

Достался в наследство каталог с корнем вида «dc=domain,dc=com», причём, существует и реальное доменное имя domain.com, не имеющее к обсуждаемому никакого отношения. Вот, не знаю, почему, но было сделано именно так. Эта глупость причиняет хлопоты с DNS и, вообще, неэстетически выглядит.

Когда я начал разбираться с этим, решил попробовать сделать дамп с каталога, используя slapcat, и в этом дампе простым текстовым редактором заменить все «dc=com» на «dc=local». Однако, я столкнулся со следующей трудностью: многие ветки сдампились в формате Base64, причём, порой одна строка вида «cn=blah-blah,ou=Mail,dc=domain,dc=com» в Base64 может быть разбита на две строки, а может быть и не разбита.

Если открыть работающий каталог каким-нибудь ldapvi, то всё отображается нормально, можно даже изменить так, как хочется, но сохранить это, разумеется, нельзя. Ибо корень не будет совпадать.

Каким образом можно сделать то, что мне надо? Есть ли готовые инструменты?

 

HolyBoy
()

[Asterisk] Диапазон RTP

Форум — Admin

Астериск на хосте с фаерволлом. Открыты диапазоны 5060,10000:10500.

rtp.conf:

[general]
rtpstart=10000
rtpend=10500

Регистрация на * проходит. Хосты в одной подсети.

sip.conf:

[general]
allowexternalinvites = yes
allowoverlap = no
allowguest = no
allowsubscribe = yes
allowtransfers = no
alwaysauthreject = yes
autodomain = yes
bindport = 5060
bindaddr = 0.0.0.0
defaultexpiry = 300
externrefresh = 30
ignoreregexpire = no
localnet = 192.168.1.0/24
maxexpiry = 3600
minexpiry = 60
notifyringing = yes
notifyhold = yes
recordhistory = yes
registerattempts = 0
registertimeout = 30
rtautoclear = yes
rtcachefriends = yes
rtsavesysname = yes
rtupdate = yes
srvlookup = yes
t1min = 100
t38pt_udptl = yes
useragent = Asterisk PBX
usereqphone = no
videosupport = no
canreinvite = no
context = default
dtmfmode = rfc2833
language = en


[alice]
type=friend
host=dynamic
secret=123
defaultuser=alice
context=office
nat=yes
insecure=invite

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

[Aug 27 18:08:37]     -- Executing [123@office:1] Answer("SIP/alice-00000003", "") in new stack
[Aug 27 18:08:37] Audio is at 192.168.1.250 port 26070

Чем можно забороть?

 

HolyBoy
()

[rails] Имена полей

Форум — Web-development

Доброго времени суток.

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

Нельзя просто так использовать имя поля 'type', надо в models/user.rb добавить строку:

set_inheritance_column :ruby_type
. Но это пройдённый этап

В базе данных имеются поля с именами вида «session-timers» и т.п. Если попытаться вывести значение этого поля:

class UsersController < ApplicationController
def index
    @users=User.all
end

<table>
<% @users.each do |user| %>
  <tr>
    <td>
      <%=h user.session-timers%>
    </td>
  </tr>
<% end %>
</table>

то выдаётся ошибка вида:

ActionView::TemplateError (undefined method `session' for #<User:0xa3ff214>) on line #35 of app/views/users/index.html.erb

Как можно это обойти?

HolyBoy
()

[Asterisk][nat] Проблемы с RTP-трафиком.

Форум — Admin

Доброго времени суток.

Начинаю изучать * и требуется тестовая конфигурация. Стоит версия 1.6.2.10 внутри сети, с IP=192.168.1.205.

Проброшены порты как изнутри во внешний, так и обратно:

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
287 64342 ACCEPT     udp  --  eth1   eth2    192.168.1.205        0.0.0.0/0           multiport ports 5060,10000:10005 state NEW 
    0     0 ACCEPT     udp  --  eth2   *       0.0.0.0/0            192.168.1.205       multiport dports 5060,10000:10005 state NEW
+
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
0     0 DNAT       udp  --  *      *       0.0.0.0/0            213.33.214.174      multiport dports 5060,10000:10005 to:192.168.1.205

где eth1 — интерфейс внутренней сети, eth2 — внешней.

Ради теста, с такого IP соединялись софтофоном на зарегистрированный заранее аккаунт на sipnet.ru. Всё работает без проблем, внешние городские номера доступны.

Для *-box были сделаны вот такие конфиги: sip.conf

[general]
context=default
allowoverlap=no
bindport=5060
bindaddr=0.0.0.0
srvlookup=yes
localnet=192.168.1.0/24
externip=re.al.ad.dr

register=sipnetID:pass@sipnet.ru/sipnetID


[1000]
type=friend
context=phones
host=dynamic
defaultuser=1000
secret=qwerty


;;; SIPNET
[sipnet1]
type=friend
defaultuser=sipnetID
secret=pass
host=sipnet.ru
nat=yes
fromuser=sipnetID
fromdomain=sipnet.ru
dtmfmode=rfc2833
disallow = all
allow = alaw
allow = ulaw
allow = g729
insecure=invite
context=incomig_calls

и extensions.conf

[globals]


[general]
autofalltrough=yes


[default]
exten => s,1,Verbose(1,Unrouted call handler)
exten => s,n,Answer()
exten => s,n,Wait(1)
exten => s,n,Playback(tt-weasels)
exten => s,n,Hungup()


[incomig_calls]
exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/1000)


[outgoing_calls]
exten => _X.,1,NoOp()
exten => _X.,n,Dial(SIP/sipnet1/${EXTEN})

[internal]
exten => 500,1,Verbose(1,Echo test application)
exten =>> 500,n,Echo()
exten => 500,n,Hangup()


[phones]
include => internal
include=outgoing_calls

Изнутри сети пытаюсь подключиться к этому, внутреннему, *-box, всё проходит замечательно. Тестовый звонок на номер 500 отрабатывается, всё слышно и тд и тп. Помимо прочего, сам * регистрируется на sipnet.ru и в списке подключенного оборудования он там появляется.

Теперь, пытаюсь сделать звонок с софтофона на внешние номера, через sipnet1, соответственно. Набираю нужный номер вида 7495ХХХХХХХ и… получаю отлуп.

Проблема, как оказалось, кроется в том, что несмотря на то, что соединения по порту 5060 проходят через *-box, RTP-трафик почему-то не через него направляется, а пытается напрямую выйти:

firewall/drop.log:Aug 10 15:21:31 gate kernel: [8282327.254331] DROP IN=eth1 OUT=eth2 SRC=192.168.1.10 DST=212.53.35.244 LEN=200 TOS=0x00 PREC=0x00 TTL=127 ID=42313 PROTO=UDP SPT=10002 DPT=47320 LEN=180 
firewall/drop.log:Aug 10 15:21:31 gate kernel: [8282327.267756] DROP IN=eth1 OUT=eth2 SRC=192.168.1.10 DST=212.53.35.244 LEN=188 TOS=0x00 PREC=0x00 TTL=127 ID=42315 PROTO=UDP SPT=10003 DPT=47321 LEN=168
, тут SRC=192.168.1.10 — адрес хоста с софтофоном.

Поскольку, у меня политика по умолчанию для неотмеченных специально пакетов — DROP, то, соответственно, пакеты от 192.168.1.10 дропаются.

Пробовал в софтофоне использовать в качестве прокси *, не помогло.

У меня вопрос: как заставить не только SIP-трафик по порту 5060, но и RTP-трафик ходить через *-box?

 ,

HolyBoy
()

[flash][opera] Не воспроизводится.

Форум — Desktop

Доброго времени суток.

Обновил www-client/opera-10.60 и после этого переустановил www-plugins/adobe-flash-10.1.53.64.

Проблема: не воспроизводится видео вообще на том же тытюбике, на других сайтах, впрочем, тоже. Панель управления видео есть (стоп, воспроизведение, перемотка, громкость и тд), а вот видео не показывает. Якобы загружается, загружается, загружается.

В firefox те же видеоролики показываются замечательно. Что у меня не так?

 ,

HolyBoy
()

[freenx] Вопросы

Форум — Desktop

Здравствуйте.

Установил net-misc/nxserver-freenx, запустил. Настройки по умолчанию, практически, оставлены. Соединяюсь net-misc/nxclient.

Возникли следующие вопросы:

  • Как применить необходимые данные о раскладке (compose, способ переключения, языки и тд) для программ, запускающихся не внутри удалённого рабочего стола, а отдельно, по типу тех, что запускаются через ssh -Y progname… ? Я пробовал как указывать в свойствах запуска nxclient строчку навроде
    opera; setxkbmap -rules xorg -model pc105 -layout "us,ru(winkeys)" -option "terminate:ctrl_alt_bksp,grp:ctrl_shift_toggle,grp:switch,grp_led:scroll,compose:lwin"
    , так и указывать bash-скрипт, в котором было написано то же самое. В первом случае ничто не запускалось, видимо только одну команду ожидает, во втором — запустилось, но никакого эффекта не дало. Запущенные программы не знали про другие раскладки, акромя en_US.
  • Как заново подцепиться к оставленной на сервере сессии? Я пытался заново подключиться, но клиент цепляться не захотел, в логах ничего внятного не было отписано. Может что-то ещё надо указывать в свойствах клиента или настраивать сервер, чтобы он поддерживал эту возможность?
  • Решит ли мои проблемы смена NX-клиента? Если да, то какой посоветуете?

Заранее спасибо.

HolyBoy
()

[usb-to-com] Metrologic ms 5145

Форум — Linux-hardware

Появилась задача: подключив сабжевый сканер штрихкодов, пробросить данные через rdp-соединение. Пробросить хочется COM-порт, соответственно, устройство было переведено в режим Uni-Directional USB Serial Emulation Mode.

При переподключении в логах бежит:

2010-04-07T16:30:13.214058+04:00 zorge1 kernel: [ 6303.250054] usb 4-1: USB disconnect, address 29
2010-04-07T16:30:17.513047+04:00 zorge1 kernel: [ 6307.549035] usb 4-1: new low speed USB device using uhci_hcd and address 30
2010-04-07T16:30:17.675988+04:00 zorge1 kernel: [ 6307.711118] usb 4-1: New USB device found, idVendor=0c2e, idProduct=0200
2010-04-07T16:30:17.676010+04:00 zorge1 kernel: [ 6307.711124] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
2010-04-07T16:30:17.676040+04:00 zorge1 kernel: [ 6307.711129] usb 4-1: Product: Metrologic Scanner
2010-04-07T16:30:17.676048+04:00 zorge1 kernel: [ 6307.711132] usb 4-1: Manufacturer: Metrologic
2010-04-07T16:30:17.676054+04:00 zorge1 kernel: [ 6307.711316] usb 4-1: configuration #1 chosen from 1 choice
2010-04-07T16:30:17.700059+04:00 zorge1 kernel: [ 6307.736398] input: Metrologic Metrologic Scanner as /devices/pci0000:00/0000:00:1d.2/usb4/4-1/4-1:1.0/input/input21
2010-04-07T16:30:17.700077+04:00 zorge1 kernel: [ 6307.736574] generic-usb 0003:0C2E:0200.0012: input,hidraw0: USB HID v1.11 Keyboard [Metrologic Metrologic Scanner] on usb-0000:00:1d.2-1/input0
2010-04-07T16:30:18.214056+04:00 zorge1 kernel: [ 6308.250052] usb 4-1: USB disconnect, address 30
2010-04-07T16:30:21.515046+04:00 zorge1 kernel: [ 6311.551035] usb 4-1: new low speed USB device using uhci_hcd and address 31
2010-04-07T16:30:21.678075+04:00 zorge1 kernel: [ 6311.714118] usb 4-1: New USB device found, idVendor=0c2e, idProduct=0700
2010-04-07T16:30:21.678094+04:00 zorge1 kernel: [ 6311.714124] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
2010-04-07T16:30:21.678103+04:00 zorge1 kernel: [ 6311.714128] usb 4-1: Product: Metrologic Scanner
2010-04-07T16:30:21.678108+04:00 zorge1 kernel: [ 6311.714132] usb 4-1: Manufacturer: Metrologic
2010-04-07T16:30:21.678114+04:00 zorge1 kernel: [ 6311.714330] usb 4-1: configuration #1 chosen from 1 choice

Никаких /dev/ttyUSB[N] или навроде не появляется. Модуль usbserial и всё, что с ним связано — собрано. Полагаю, тут не хватает какого-то ещё модуля. И в самом деле, я нашёл вот эту тему: http://forums.opensuse.org/get-help-here/hardware/393913-barcode-reader-com-e... , где выяснил, что метроложики хоть и не поддерживают линукс официально, на их фтп всё ж лежит модуль ядра metro-usb, однако, он запаролен.

Вопрос: каким образом заставить этот сканер выдавать данные в виртуальный COM-порт? Обязательно ли для этого использовать модуль от производителя?

PS Использовать сканер в режиме клавиатуры не выйдет. Увы.

PPS Если бы rdp-сервер умел принимать проброшенные usb, то было бы всё намного проще, я так думаю.

HolyBoy
()

[gentoo][gnome] policykit+suspend&hibernate

Форум — Desktop

Итак, обновил gnome-extra/gnome-power-manager до 2.26

Это потянуло за собой в зависимостях consolekit+policykit (тут ненависть!!!!11) со взаимными блокировками. Пришлось включить флаги policykit и consloekit глобально и пересобрать всё. Сервис /etc/init.d/consolekit запущен.

На первый взгляд ничего страшного не произошло: где-то появились кнопки запроса авторизации для произведения изменений и тд, но в целом, ничего особого. За исключением одного: пропали кнопки перехода в suspend и hibernate из меню выключения системы.

Открыл утилиту «Авторизации», которая, похоже, управляет всеми этими вещами и попытался через неё дать доступ себе к переводу в ждущий режим: для power manager/suspend the system в явно авторизованных добавил себя. Никакого эффекта это не дало. Перелогинивался.

Как же это забороть? Я был бы рад, если б можно было вообще от этих дурацких kit избавиться, но если нельзя, то как это по-быстрому под себя поломать?

 ,

HolyBoy
()

[selinux][gentoo] Как заставить взлететь?

Форум — Admin

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

Файловая система, в т.ч. /dev, размечена.

Все ключевые части системы имеют нужный контекст, как описано тут.

Однако, при попытке загрузиться с параметром ядра

enforcing=1
, после загрузки самого ядра, init не загружает систему.

Проблемы начинаются после старта udev: пишет, что не удаётся получить доступа к usbmon0, и прочим устройствам из /dev, присутствующим в моей системе, далее, диски не монтируются и в результате, я получаю систему без подмонтированных /usr, /var, /opt, /home.

Впрочем, того, что остаётся на корне, достаточно для того, чтобы прочитать /var/log/dmesg.

[    6.792371] SELinux: initialized (dev rootfs, type rootfs), uses genfs_contexts
[    6.792381] SELinux: initialized (dev sysfs, type sysfs), uses genfs_contexts
[    6.794841] type=1403 audit(1268742832.794:2): policy loaded auid=4294967295 ses=4294967295
[    8.173275] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
[    8.182223] type=1400 audit(1268742834.182:3): avc:  denied  { read } for  pid=120 comm="restorecon" name="console" dev=sda3 ino=140 scontext=system_u:system_r:setfiles_t tcontext=system_u:object_r:console_device_t tclass=chr_file
[    8.182277] type=1400 audit(1268742834.182:4): avc:  denied  { read } for  pid=120 comm="restorecon" path="/dev/console" dev=sda3 ino=140 scontext=system_u:system_r:setfiles_t tcontext=system_u:object_r:console_device_t tclass=chr_file
[    8.182352] type=1400 audit(1268742834.182:5): avc:  denied  { read } for  pid=120 comm="restorecon" path="/dev/console" dev=sda3 ino=140 scontext=system_u:system_r:setfiles_t tcontext=system_u:object_r:console_device_t tclass=chr_file
[    8.302653] type=1400 audit(1268742834.302:6): avc:  denied  { write } for  pid=127 comm="bash" name="null" dev=tmpfs ino=1552 scontext=system_u:system_r:initrc_t tcontext=system_u:object_r:device_t tclass=chr_file
[    8.464670] type=1400 audit(1268742834.464:7): avc:  denied  { read write } for  pid=136 comm="write_root_link" name="tty" dev=tmpfs ino=1551 scontext=system_u:system_r:initrc_t tcontext=system_u:object_r:device_t tclass=chr_file
[    8.465228] type=1400 audit(1268742834.465:8): avc:  denied  { read write } for  pid=136 comm="write_root_link" name="console" dev=tmpfs ino=1549 scontext=system_u:system_r:initrc_t tcontext=system_u:object_r:device_t tclass=chr_file
[    8.524298] type=1400 audit(1268742834.524:9): avc:  denied  { write } for  pid=140 comm="bash" name="null" dev=tmpfs ino=1552 scontext=system_u:system_r:initrc_t tcontext=system_u:object_r:device_t tclass=chr_file
[    8.841506] type=1400 audit(1268742834.841:10): avc:  denied  { read write } for  pid=146 comm="modprobe" path="/dev/null" dev=tmpfs ino=1552 scontext=system_u:system_r:insmod_t tcontext=system_u:object_r:device_t tclass=chr_file
[    8.841551] type=1400 audit(1268742834.841:11): avc:  denied  { read write } for  pid=146 comm="modprobe" path="/dev/null" dev=tmpfs ino=1552 scontext=system_u:system_r:insmod_t tcontext=system_u:object_r:device_t tclass=chr_file
[   13.345301] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
[   13.345716] SELinux: initialized (dev tmpfs, type tmpfs), uses transition SIDs
[   13.345879] type=1400 audit(1268742839.345:206): avc:  denied  { write } for  pid=422 comm="mount" name="blkid.tab" dev=sda3 ino=5795 scontext=system_u:system_r:mount_t tcontext=system_u:object_r:etc_t tclass=file
[   13.462510] SELinux: initialized (dev binfmt_misc, type binfmt_misc), uses genfs_contexts
[   15.071030] type=1400 audit(1268742843.187:207): avc:  denied  { write } for  pid=450 comm="bash" name="lock" dev=sda3 ino=5804 scontext=system_u:system_r:initrc_t tcontext=root:object_r:var_t tclass=dir
[   15.237106] type=1400 audit(1268742843.354:208): avc:  denied  { read } for  pid=467 comm="restorecon" name="console" dev=sda3 ino=140 scontext=system_u:system_r:setfiles_t tcontext=system_u:object_r:console_device_t tclass=chr_file
[   15.237208] type=1400 audit(1268742843.354:209): avc:  denied  { read } for  pid=467 comm="restorecon" path="/dev/console" dev=sda3 ino=140 scontext=system_u:system_r:setfiles_t tcontext=system_u:object_r:console_device_t tclass=chr_file

Правильно ли я понимаю, что для исправления всего этого, мне надо вручную создавать политики во время загрузки в permissive mode и разрешать соответствующий доступ? Интересно, почему мейнтейнеры не сделали этого сразу?…

Народ, кто из вас настраивал SELinux также, как я, достаточно ли информации об этом в вышеприведённой ссылке или же есть более информативные материалы?

 ,

HolyBoy
()

[ШГ][opera] Как побороть?

Форум — Desktop

Из devnull:

media-libs/freetype-2.3.12  USE="X cleartype fontforge utils -bindist -debug -doc -ubuntu" 0 kB [1]
media-libs/fontconfig-2.8.0  USE="cleartype -doc -ubuntu" 0 kB [1]
x11-libs/libXft-2.1.14  USE="cleartype -debug -ubuntu" 0 kB [1]
x11-libs/cairo-1.8.8  USE="X cleartype glitz opengl svg xcb (-aqua) -debug -directfb -doc -ubuntu"

Стабильная www-client/opera-10.10 (gnome linguas_ru)

# eselect fontconfig list
Available fontconfig .conf files  ( * is enabled ):
  [1]   10-antialias.conf *
  [2]   10-autohint.conf
  [3]   10-hinting.conf *
  [4]   10-hinting-full.conf *
  [5]   10-hinting-medium.conf
  [6]   10-hinting-slight.conf
  [7]   10-no-sub-pixel.conf
  [8]   10-sub-pixel-bgr.conf
  [9]   10-sub-pixel-rgb.conf *
  [10]  10-sub-pixel-vbgr.conf
  [11]  10-sub-pixel-vrgb.conf
  [12]  10-unhinted.conf
  [13]  20-fix-globaladvance.conf *
  [14]  20-unhint-small-dejavu-sans.conf *
  [15]  20-unhint-small-dejavu-sans-mono.conf *
  [16]  20-unhint-small-dejavu-serif.conf *
  [17]  20-unhint-small-vera.conf *
  [18]  25-ttf-arphic-ukai-render.conf
  [19]  25-ttf-arphic-uming-bitmaps.conf
  [20]  25-ttf-arphic-uming-render.conf
  [21]  25-unhint-nonlatin.conf
  [22]  30-metric-aliases.conf *
  [23]  30-urw-aliases.conf *
  [24]  35-ttf-arphic-ukai-aliases.conf
  [25]  35-ttf-arphic-uming-aliases.conf
  [26]  40-nonlatin.conf *
  [27]  41-ttf-arphic-ukai.conf
  [28]  41-ttf-arphic-uming.conf
  [29]  45-latin.conf *
  [30]  49-sansserif.conf *
  [31]  50-user.conf *
  [32]  51-local.conf *
  [33]  57-dejavu-sans.conf *
  [34]  57-dejavu-sans-mono.conf *
  [35]  57-dejavu-serif.conf *
  [36]  60-latin.conf *
  [37]  60-liberation.conf
  [38]  64-ttf-arphic-uming.conf
  [39]  65-fonts-persian.conf *
  [40]  65-khmer.conf
  [41]  65-nonlatin.conf *
  [42]  69-unifont.conf *
  [43]  70-no-bitmaps.conf *
  [44]  70-yes-bitmaps.conf
  [45]  75-ttf-arphic-ukai-select.conf
  [46]  80-delicious.conf *
  [47]  90-synthetic.conf *
  [48]  90-ttf-arphic-ukai-embolden.conf
  [49]  90-ttf-arphic-uming-embolden.conf

В результате от http://img214.imageshack.us/img214/8449/mozillafirefox.png глаза не устают, а вот от http://img192.imageshack.us/img192/5439/operak.png глаза стали вываливаться.

В системе в целом всё тоже вполне нормально. В качестве DE используется Gnome. Народ говорит, что опере, вроде как, не требуется ничего такого, достаточно системных настроек. Ну, так ведь в опере, по адресу opera:config вроде настроено:

Draw Anti Aliased Fonts
Enable Xft Fonts

Чего же ей ещё надо-то?

 ,

HolyBoy
()

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