samba 4.4 ввестив домен на базе samba 3
Добрый день
Есть какаято возможность ввести самбу4 в домен на базе самбы3? net join вообще не воспринимает мой домен, ему аds подавай
на любые попытки один ответ
smb_signing_good: BAD SIG: seq 1
Добрый день
Есть какаято возможность ввести самбу4 в домен на базе самбы3? net join вообще не воспринимает мой домен, ему аds подавай
на любые попытки один ответ
smb_signing_good: BAD SIG: seq 1
Приветствую,
Сижу никого не трогаю, postfix настроен давненько - ничего не меняется. И тут несколько дней подряд с разных сторон проблемы.
Когда исходящее письмо нарывается на грейлистинг, то вместо того чтобы лечь в очередь для повторной отправки - оно просто в логе отмечается что увы и ах и все..
т.е. я шлю письмо, в логах ловлю это
May 31 13:06:05 email postfix/smtpd[6061]: NOQUEUE: reject: RCPT from pandora7.localnet[192.168.1.95]: 450 4.1.1 : Recipient address rejected: unverified address: host mail.remotehost.com[x.y.z.z] said: 451 4.3.0 Greylisting enabled, try again in 5 minutes (in reply to RCPT TO command); from= to= proto=ESMTP helo=<[192.168.1.95]>
May 31 13:06:09 email postfix/smtpd[6061]: disconnect from pandora7.localnet[192.168.1.95]
в очередях пусто.. Раньше такого не было)
Весь конфиг постфикса не привожу (пока) т.к. он огромен, лучше выслушаю направления поисков.
Добрый день.
Может хочу странного, и нарушаю общепринятые правила, но я не хочу чтобы мой postfix отвечал отлупом на письмо несуществующему пользователю.
Nov 3 13:59:50 email postfix/lmtp[810]: 3EB655982: to=<shesdsd@mydomain.ru>, relay=email.maildomain.ru[/var/lib/imap/socket/lmtp], delay=0.23, delays=0.2/0/0/0.03, dsn=5.1.1, status=bounced (host email.mydomain.ru[/var/lib/imap/socket/lmtp] said: 550-Mailbox unknown. Either there is no mailbox associated with this 550-name or you do not have authorization to see it. 550 5.1.1 User unknown (in reply to RCPT TO command))
Вкраце что и как. Постфикс принимает почту для 4 доменов, и передает cyrus imapd, который раскладывает в мейлбоксы юзеров. Все работает замечательно, кроме того что когда пробивается явный спам то система генерит отлуп, который не может уйти (т.к. либо сервер поулчателя уже в дауне либо еще что) и висит в очереди. Таких немного, 3-5 в день, но не хочу чтобы они вообще были.
Догадываюсь, что надо дропать сессию когда письмо не для существующего получателя. Но как это сделать, когда получатели в ldapе. Делал фльтр
search_base = ou=Users,dc=my,dc=org
server_host = my.ldap.host
query_filter = (&(employeeType=person)(uid=%u))
result_attribute = uid
result_format = %u
debug_level = 127
scope = sub
bind = yes
который возвращает правую часть emailа
[root@email postfix]# postmap -q validuser ldap:/etc/postfix/border/ExistUsers.cf
validuser
но добавив его в local_recipient_maps , ничего не заметил в поведении нового.
local_recipient_maps = $alias_maps $virtual_alias_maps ldap:/etc/postfix/border/ExistUsers.cf
Либо глаз замылился, либо не туда рою (на самом деле, много что еще делал, но хчу ваши версии послушать). ;)
Добрый день,
Помогите сделать правило для snmptt, чтобы выискавать нужные мне трапы общего потока.
Опыта с ловлей нет никакого, в лоб задачу решить не удалось)
На свичах настроен port-security. Если в порту находится неизвестный мак, шлется трап и порт уходит в даун.
В snmptrapd приходит вот такое сообщение
Dec 18 10:34:04 myhost7 snmptrapd[2720]: 2015-12-18 10:34:04 sw4.adm [192.168.05.04] (via UDP: [192.168.05.04]:161->[192.168.1.05]:162) TRAP, SNMP v1, community public#012#011SNMPv2-SMI::enterprises.11.2.14.12.4 Enterprise Specific Trap (1) Uptime: 13 days, 16:40:58.80#012#011SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.2.1.31 = INTEGER: 1#011SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.3.1.31 = INTEGER: 31#011SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.4.1.31 = Hex-STRING: 00 19 BB EA 7A 9E #011SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.6.1.31 = INTEGER: 1#011SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.7.1.31 = INTEGER: 1
По-человечьи тут говорится, что в 31 порту появился 0019BBEA7A9E и порт блочится.
Все данные хранятся в виде массива данных, это видно если пройтись по oid
snmpwalk -v2c -c public sw4.adm '.1.3.6.1.4.1.11.2.14.2.10.2.1'
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.1.1 = INTEGER: 1
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.1.2 = INTEGER: 2
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.1.3 = INTEGER: 3
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.2.1 = INTEGER: 1
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.2.2 = INTEGER: 1
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.2.3 = INTEGER: 1
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.3.1 = INTEGER: 31
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.3.2 = INTEGER: 31
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.3.3 = INTEGER: 13
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.4.1 = Hex-STRING: 00 19 BB EA 7A 9E
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.4.2 = Hex-STRING: 00 19 BB EA 7A 9E
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.4.3 = Hex-STRING: 1C AF F7 C8 5A 0A
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.5.1 = Timeticks: (118325864) 13 days, 16:40:58.64
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.5.2 = Timeticks: (119826150) 13 days, 20:51:01.50
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.5.3 = Timeticks: (120009389) 13 days, 21:21:33.89
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.6.1 = INTEGER: 1
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.6.2 = INTEGER: 1
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.6.3 = INTEGER: 1
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.7.1 = INTEGER: 1
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.7.2 = INTEGER: 1
SNMPv2-SMI::enterprises.11.2.14.2.10.2.1.7.3 = INTEGER: 1
в snmptt.conf написал, в надеже получить хоть что-то в /tmp/trap.txt )) Но тщетно.
EVENT InruderDetected .1.3.6.1.4.1.11.2.14.2.10.2.1 "Status Events" Critical
FORMAT InruderDetected $1 $2 $3 $4
EXEC InruderDetected $1 $2 $3 $4 >> /tmp/trap.txt
SDESC
hello world
EDESC
Подскажите, пожалуйста , как подступится к этому.
Имею кучку свичей HP Procurve 2848,3500
Хочу выяснить соответствие MAC=PORT на них. Делаю путем опроса SNMP
snmpwalk -v2c -c public switch1.mydomain 1.3.6.1.2.1.17.7.1.2.2.1.2
В данном виде получаю кучку строк вида
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.27.120.236.125.187 = INTEGER: 36
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.29.96.154.226.97 = INTEGER: 6
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.30.11.7.132.102 = INTEGER: 30
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.30.11.234.50.104 = INTEGER: 49
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.30.11.234.209.106 = INTEGER: 49
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.30.11.234.225.144 = INTEGER: 49
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.30.103.80.144.161 = INTEGER: 292
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.31.41.235.36.67 = INTEGER: 49
SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.2.0.33.90.221.183.59 = INTEGER: 49
После фильтрации (отброс ненужного, dec2hex, выделение порта)
snmpwalk -v2c -c public switch1.mydomain 1.3.6.1.2.1.17.7.1.2.2.1.2 | sed "s/\./ /g; s/SNMPv2-SMI::mib-2 17 7 1 2 2 1 2 //g ; s/ = INTEGER://g" | awk '{printf "MAC:%02X%02X%02X%02X%02X%02X Port %02d\n",$2,$3,$4,$5,$6,$7,$8}'
Получаю вот такой список
MAC:001B78EC7DBB Port 36
MAC:001D609AE261 Port 06
MAC:001E0B078466 Port 30
MAC:001E0BEA3268 Port 49
MAC:001E0BEAD16A Port 49
MAC:001E0BEAE190 Port 49
MAC:001E675090A1 Port 292
MAC:001F29EB2443 Port 49
MAC:00215ADDB73B Port 49
Свич имеет 48 обычных порта, + 4 10GbE для связи с другими свичами (не знаю как называются они правильно 2x10GbE-GEN, 2x10GbE-CX4 )
Все бы ничего, пока порты идут >= 48. Когда порты идут >48 (то это как раз эти 4 дополнительных (в свиче они обозначаются как А1-А4)). И если продолжать обычную нумерацию то 49,50,51,51. С этим тоже проблем нет, если порт >48, то МАС на другом свиче, идем туда и ищем пока порт не будет <=48.
А вот порты 291, 294, 297.. и прочие, опытным путем установлено,что это транки (Trk1..TrkN).
Но как понять какой именно транк, на каких портах и с какой нумерации они вообще идут - загадка.
Задача решилась. нашел соответствие
snmpwalk -v2c -c public switch1.domain .iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr | sed 's/IF-MIB::ifDescr.//;s/STRING: //'
Самба (4.1.1/CentOS) делает вид, что не знает мой sambaSid.
Самба в домене (домен на самбе+лдап). С виду все работает, getent passwd/group,id - всех видит
pdbedit -Lw user1 -v видит верно, и самбасид и примаригруп.. все
testparm выводит вот это
[global]
dos charset = cp866
unix charset = utf8
workgroup = GEO
server string = PRJ5 Server
security = DOMAIN
passdb backend = ldapsam:ldap://my.ldap.ip.addr
log file = /var/log/samba/log.%m
max log size = 50
domain logons = Yes
local master = No
domain master = No
wins server = my.wins.ip.addr
ldap admin dn = uid=samba,cn=Directory Administrators,dc=mydomain,dc=org
ldap group suffix = ou=Groups
ldap machine suffix = ou=Computers
ldap suffix = dc=mydomain,dc=org
ldap ssl = no
ldap user suffix = ou=Users
idmap config * : backend = tdb
создаю простую шару,
[share]
path= /path/to/share
comment = Base
browseable = yes
writable = yes
force group = DomainUsers
mkdir -p /path/to/share
chmod 644 /path/to/share
chown user1:DomainUsers /path/to/share
таким образом папка на ФС доступна мне на запись (rw), и всем другим на чтение (r)
Захожу с винды, под user1, захожу в папку. Хочу создать файл - хрен (винда орет доступа нет), логи самбы орут STATUS=daemon 'smbd' finished starting up and ready to serve connectionsUser user1 with invalid SID S-1-5-21-MY-SAMBA-SID-3124 in passdb
т.е. он не знает, что я это я..
делаю на папку 777, создаю файл file.txt создается файл с владельцем user1:DomainUsers , т.е. тут он понял, кто я.. делаю на файл chmod 644, и хочу редактировать - винда орет орет, что мне надо запросить разрешение от S-1-5-21-MY-SAMBA-SID-3124 (т.е. меня за меня не признают)
Куда порыть? Что не так
Добрый день,
В сети появилась машина на CentOS7.1, а там уже штатно samba 4.1.12 и возникла проблема с введением ее в домен на samba 3.x
Конфиг клиента правлю по примеру 3.х (по сути меняя только хостнейм, да шары - все остальное годами одно и тоже).
Суть конфига проста
[global]
workgroup = MYDOMAIN
server string = project Server
netbios name = project
wins server = a.b.c.e
security = domain
ldap suffix = dc=mydomain,dc=org
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap machine suffix = ou=Computers
ldap admin dn = uid=samba,cn=Directory Administrators,dc=mydomain,dc=org
ldap passwd sync = no
ldap ssl = no
require strong key = no
client NTLMv2 auth = no
passdb backend = ldapsam:ldap://a.b.c.d
local master = no
domain master = no
preferred master = no
dos charset = cp866
unix charset = utf8
display charset = utf8
load printers = yes
cups options = raw
[GlobalBase]
comment = Base
path = /GlobalBase
write list = +DomainUsers
force group = DomainUsers
read only = No
force create mode = 0655
force directory mode = 0755
guest ok = Yes
затем делаю
smbpasswd -w пароль_для_лдап_юзера
и затем
net join -S PDC_HOSTNAME
подтверждаю паролем и машина в домене, и все работает. Сейчас же на последнем этапе немного ругнулось
[root@project]# net rpc join -S PDC_HOSTNAME
No realm has been specified! Do you really want to join an Active Directory server?
Enter root's password:
No realm has been specified! Do you really want to join an Active Directory server?
Using short domain name -- MYDOMAIN
Joined 'Project' to domain 'MYDOMAIN'
Вроде как joined.. Но в сетевом окружении хоста не видно, и при попытке прямого обращения к машине в лог /var/log./messages
May 28 11:52:08 project smbd[186486]: domain_client_validate: unable to validate password for user user123 in domain MYDOMAIN to Domain controller PDC_HOSTNAME. Error was NT_STATUS_LOCK_NOT_GRANTED.
Чего делать? )
Добрый день,
Вопрос более теоретический.
Есть IMAP сервер (cyrus-imapd), авторизация через saslauthd, который в свою очередь берет пользователей из ldap.
Стоит задача запретить подключатся извне (!192.168/16) к 143 порту, всем, кроме определенных пользователей. Из локалки можно всем.
Проблема в том, что в голову приходит лишь возможность рулить доступом по ip, но никак не по совокупности ip + username.
Что посоветуете? Средствами saslauthd ничего такого нет. Смотрели в сторону knockd, но пользователи мобильные, а с ios/android проблематично сделать нужную последовательность.
Добрый день,
Имею Postfix 2.10, spamassassin 3.3.2
Подключен spamassasin вот так master.cf
smtp inet n - n - - smtpd -o content_filter=spamassassin ... ... spamassassin unix - n n - - pipe user=spamassasin argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}
Клиенты настроены на отправку через 25 (не через submission). При отправке письма, с уведомлением о доставке приходит отлуп от spamassasinа, что все удачно. Даже если заведомо слать в никуда
this is the mail system at host mydomain.tld.
Your message was successfully delivered to the destination(s) listed below. If the message was delivered to mailbox you will receive no further notifications. Otherwise you may still receive notifications of mail delivery errors from other systems.
The mail system
<bigbosssantonsdldlfjsdlk@gmail.com>: delivery via spamassassin: delivered via spamassassin service
Есть ли возможность исключить диапазон IP, или по маске отправителей или иным способом миновать спамассасин? Т.е. настроить,чтобы content_filter был применим только к опр. письмам (по домену, ip, хз_чему)
p.s. internal_networks , trusted_networks, whitelist_from указаны, но этого мало. Видимо надо средствами постфикса рулить.
Добрый день всем,
есть автомобиль, есть в нем магнитола на сатанинской windowsCE, в ней телефонная книга.
Есть Linux, есть контакты (в виде 1 файлы vcf или могу куда угодно руками вбить не суть важно).
Чем с linux передать контакты по bluetooth по протоколу PBAP (phone book access profile) в магнитолу?
Нужно название софта.
p.s. телефоны не предлагать,слать буду с ноута.
добрый день,
Понимаю, что не линукс, но быть может кто знаком) Есть хост с nexentastor (проще говоря open solaris 10), и не могу понять где тут и что писать, чтобы по
id hostname$
находились компы из ldap (ou=computers,dc=my,dc=org)
Прикол, в том, что обычные юзеры видятся
id username - вполне корректно возвращает юзера и его группы..
root@nexenta:/etc# cat /etc/nsswitch.conf | grep ldap
passwd: files ldap
group: files ldap
netgroup: files ldap
root@nexenta:/etc# ldapclient list
NS_LDAP_FILE_VERSION= 2.0
NS_LDAP_BINDDN= uid=sysadm,ou=Service,dc=my,dc=org
NS_LDAP_BINDPASSWD= {NS1}5449666ba81687778080
NS_LDAP_SERVERS= 192.168.1.28
NS_LDAP_SEARCH_BASEDN= dc=my,dc=org
NS_LDAP_AUTH= simple
NS_LDAP_SEARCH_REF= FALSE
NS_LDAP_CACHETTL= 0
NS_LDAP_CREDENTIAL_LEVEL= proxy
NS_LDAP_SERVICE_SEARCH_DESC= passwd:ou=users,dc=my,dc=org
NS_LDAP_SERVICE_SEARCH_DESC= group:ou=groups,dc=my,dc=org
что куда еще писать?
Что можно сделать если, из-за проблем с эл.питанием вирт.машина не стартует с ошибкой -
Reason: 5 (Input/output error). Cannot open the disk '/vmfs/volumes/4d78ed66-47c6d550-de03-0017a4770002/tory/tory-000002.vmdk' or one of the snapshot disks it depends on.
Попытки создать новый диск из старого к успеху не привели. CID, ParentCID и прочее все в норме..
Input/output error (327689)
Что делать? ))
Я очень сторонник OpenSource, но иногда, я не могу понять ну почему такая жопа ))
Поясню. Пытаюсь писать BD-R диски (25ГБ или 50ГБ, verbatim/tdk) в консоли. Подключено 3 привода.
HA ID Device Underrun Protection ---------------------------------------------------------- 1 0 PIONEER BD-RW BDR-206 Supported 2 0 PIONEER BD-RW BDR-206 Supported 4 0 PIONEER BD-RW BDR-207 Supported
Пишу готовые, сформированные iso. Пишу средствами growisofs (пробовал также xorrecord)
growisofs -use-the-force-luke=spare:none -speed=4 -dvd-compat -Z /dev/sr1='./path/to/isofile.iso'
xorrecord -v dev=/dev/sr0 speed=4 fs=128m ./path/to/isofile.iso
Иногда может и 10-15 дисков записаться, и все будет ок. Иногда вываливается с ошибками в самых произвольных местах. Повторяешь, тот же файл, той же программой, может записаться удачно, а может и снова выпасть, но совсем в другом месте. Убил кучу дисков, но логики и предсказуемости так и не вывел. Грешить на производительность компьютера носителя приводов - не стоит - дисковая подсистема, процессор, память - с приличным запасом.
Воспользовавшись консольной проприетарной neroой - пишется на ура и вообще ни одного диска брака. Одновременно 3 BD-R с 6ти кратной скоростью и без всяких проблем. Как так то..
nerocmd --drive=4,0 --write --image /path/to/isofile.iso --bd --verify --no-user-interaction
Гуевые варианты не рассматривал, т.к. мультизапись никто не поддерживает, да и графика в этом случае - лишнее..
Заметил что когда пишут growisofs, xorrecord (и их гуевые надстройки - kde, brasero и прочее) светодиод привода лихорадочно моргает, когда пишет nero - он стабильно горит.
Вопрос философский, но что делать?
Добрый день,
Голову всю сломал уже, и прежде чем писать более сложные правила хотелось бы понять на простых примерах.
Вроде все верно, а что-то не работает. Имеем Postfix,
список user_list
/^user1@*/ OK
/^user2@*/ OK
/^user3@*/ OK
/.*@*/ REJECT 5.4.3. Sorry..
список allow_urls
domain1.ru limited_class
domain2.ru limited_class
хочу чтобы только те, кто в списке user_list, отправляли почту только на allow_urls
smtpd_restriction_classes = limited_class
limited_class = check_sender_access regexp:/etc/postfix/border/user_list, reject
smtpd_sender_restrictions = check_recipient_access hash:/etc/postfix/border/allow_urls
ничерта не выходит.. уже менял местами, и что-только не делал.. либо шлет всем, либо вообще никто никуда..
Ай нид хелп )
Для оформления ограничений в Postfix, хочу использовать как карту, уже существующую группу в ldap. Вот ее содержимое
dn: cn=mailFullAccess,ou=mail,ou=Groups,dc=my,dc=myorg gidNumber: 5555 memberUid: user1 memberUid: user2 memberUid: user3 memberUid: user4 memberUid: user5 description: for unlimited access to mail objectClass: top objectClass: posixGroup cn: mailFullAccess
результат ldapseach запроса (запрос существующего пользователя)
[root@mail ~]# ldapsearch -LLL -x -h ldap.host -b 'cn=mailFullAccess,ou=mail,ou=Groups,dc=my,dc=myorg' memberuid=user1 dn: cn=mailFullAccess,ou=mail,ou=Groups,dc=my,dc=myorg gidNumber: 5555 memberUid: user1 memberUid: user2 memberUid: user3 memberUid: user4 memberUid: user5 description: for unlimited access to mail objectClass: top objectClass: posixGroup cn: mailFullAccess
результат ldapseach запроса (запрос НЕсуществующего пользователя)
[root@mail ~]# ldapsearch -LLL -x -h ldap.host -b 'cn=mailFullAccess,ou=mail,ou=Groups,dc=my,dc=myorg' memberuid=user1234
-ВЫВОДА НЕТ-
Запрос к группе в в виде файла для Postfix - ldap_full.cf
search_base = cn=mailFullAccess,ou=mail,ou=Groups,dc=my,dc=myorg server_host = ldap.host query_filter = (memberUid=%u) result_attribute = memberUid scope = one bind = yes binddn = cn=poweruser,ou=Service,dc=my,dc=myorg bindpw = password debuglevel = 0
Пытаюсь проверить
postmap -q «user1@domain.ru» ldap:/etc/postfix/ldap/full_ldap.cf
пусто, пробую несуществующую абрукадабру
postmap -q «user123456» ldap:/etc/postfix/ldap/full_ldap.cf
также пусто.. что не так?
Добрый день,
Вопрос простой, но я не знаю куда копнуть.. Собираю перловый модуль из сырцов (принципиально из них, сейчас вопрос не в инструменте).
на первой же команде
perl Makefile.PL
получаю
perl Makefile.PL Warning (mostly harmless): No library found for -lperl
Умом, могу предположить, что нет файлика с описаниями для pkg-config а-ля perl.pc, где указаны пути до заголовков, либы и прочие опции компиляции. Но для перла никогда не было его.
В Readme указано, что
Next, edit Makefile.PL and change LIBS and INC to include the appropriate path information to the required libMagick library. You will also need library search paths (-L) to JPEG, PNG, TIFF, etc.
Я открываю Makefile.PL, нахожу секцию LIBS и пишу туда путь до libperl.so
'LIBS' => [ «$LIBS_magick», "-L/usr/local/lib64/perl5/5.14.1/x86_64-linux-thread-multi/CORE" ],
и получаю вполне прогнозируемый ответ
[root@mcenter mydir]# perl Makefile.PL Warning (mostly harmless): No library found for -lperl
Что делать? ))
Добрый день,
Вторые сутки бьюсь над проблемой ограничения ресурсов, и пока не уверен что достиг того что надо. Буду рад, если направите в правильное русло.
Суть задачи. N пользователей заходят на машину под CentOS 6.4 x64 и запускают любую из 3 программ (prog1,prog2,prog3). Я очень хочу чтобы каждому юзеру под нужды этой программы выделялось 256M RAM (+256M swap при необходимости), ну и процессорной мощности чуть меньше (но тут вообще сферически-эмпирический подход)
Итак, в /etc/cgconfig.conf пишу
group prog_rules {
cpuacct {
cpuacct.usage="0";
}
cpu {
cpu.rt_period_us=5000000;
cpu.rt_runtime_us=90000;
cpu.shares=80;
}
memory {
memory.limit_in_bytes="256M";
memory.memsw.limit_in_bytes="512M";
memory.swappiness="20";
memory.use_hierarchy="1";
}
}
в /etc/cgrules.conf первое что пришло в голову это
*:prog1 cpu,memory,cpuacct prog_rules/
*:prog2 cpu,memory,cpuacct prog_rules/
*:prog3 cpu,memory,cpuacct prog_rules/
но сильно показалось, что 256M на программу стали делиться между всеми пользователями. Т.е. user1 запустил prog1 - получил 256М, user2 запустил prog1 - теперь на каждого по 128М, user3 запустил prog1 - теперь 256 делим уже на трех.. Это категорически не подходит.
Решил описать каждого юзера (думаю, это вообще ошибочный путь, ибо пользователей не мало. Идея опичать группы @usergroup:progN cpu,memory.. кажется логичной, но боюсь что лимит будут делиться опять на всех юзеров пропорционально..)
user1:prog1 cpu,memory,cpuacct prog_rules/
user1:prog2 cpu,memory,cpuacct prog_rules/
user1:prog3 cpu,memory,cpuacct prog_rules/
user2:prog1 cpu,memory,cpuacct prog_rules/
user2:prog2 cpu,memory,cpuacct prog_rules/
user2:prog3 cpu,memory,cpuacct prog_rules/
user3:prog1 cpu,memory,cpuacct prog_rules/
user3:prog2 cpu,memory,cpuacct prog_rules/
user3:prog3 cpu,memory,cpuacct prog_rules/
вроде работает, но тупые пользователи умудряются заставить программы работать на пределе всех лимитов, что приводит к адскому свопингу и крайней нестабильности системы..
Может я чтото делаю не так?
Добрый день,
Ближе к делу, что есть из софта, коим можно было бы гибко рулить
1. кому из пользователей (ldap!) куда можно писать (желательно несколько групп - везде можно, только по опр. списку доменов и пр.) 2. контроль содержимого (файлы *.abc нельзя, *.zxy только до 10мб в аттаче и пр.) 3. бэкап исходящей почты, поюзерно..
Себе я вижу это в виде smtp прокси перед MTA либо в виде мильтера.. но не суть важно..
Сейчас многое реализовал путем самописного мильтера, работает, но иногда нестабильно.. некторые функции сделаны сторонними решениями (assp, sieve, synonym milter и пр.). Хочется, как говориться, все в одной бутылке.
Добрейший денек, не правда ли? Ну а теперь к делу. Что есть на рынке open source, из «коробочных» решений в плане организации http(s) прокси, учет пользователей (привязка с ldap, ip, mac), учет времени.. Т.е. что, кому, куда, во сколько.. лимиты. шаблоны и пр.
В идеале чтобы это был iso образ специально запиленного под это дистра, с веб-интерфейсом (а-ля openfiler для NAS). Чтобы просто ставилось, быстро конфигурилось..
Сейчас, как у всех думаю, юзается squid+sams2.. но иногда надо быстро развернуть проксю, без особых ковыряний в ОС, конфигах и прочим..
Сегодя утро началось как обычно.. нет, не так.. Умер бухгалтерский PDC (centos5,port389,smb), сгорел БП, ну короче утром сервак пинговался, но был уже мертв. Поменяли, завели, все вроде завелось (т.е. без ошибок), но войти в свои компы никто не может - не отвечает контр.домена или недоступен блаблабла.. пошел рыть..
dirsrv работает как часы, ни ерроров, ни варннингов, включил аудит.. помониторил всякие обращения - все чисто..
в /var/log/messages при попытке входа в пользовательский комп, самба кричит
netlogon_creds_server_check failed. Rejecting auth request from client FIN1 machine account FIN1$
т.е. не пускает машины в домен.. перетряхнул smb.conf, smbldap-tools, [openldap/]ldap.conf все чисто и красиво.
попрбовал авторизоваться sambaюзером, и rootdn юзером (вдруг пароли протухли, сменились..) все ок..
сделал на всякий случай smbpasswd -w - никакой реакции, т.е. все вроде ок, но машины не пускает..
сделал net join на PDC введя его снова в домен (мало ли что, хотя он и там.. но вдруг) - как ты догадался - никакого эффекта.. т.е. везде сакцесс
хорошо.. останавливаю все.. бекаплю /var/lib/samba, делаю заново - пусть пересоздаст все tdb.. логи логи логи... читаю.. ничего.. пишу
net getlocalsid
Feb 6 11:14:53 kopeika net: [2012/02/06 11:14:53, 0] utils/net.c:166(net_getlocalsid)
Feb 6 11:14:53 kopeika net: Can't fetch domain SID for name: KOPEIKA
вот думаю причина! и так и этак.. и net getlocalsid -d 10 с дебагом на 3 страницы (везде success и в полсденей строке только Can't fetch domain SID for name: KOPEIKA).. проверил dns - копейка и с суффиксом и без - резовиться со всех dns..
net getdomainsid та же песня.. логи логи логи.. чисто и красиво.. log level = 255.. чисто и красиво...
подключаю strace смотрю что и куда пишется-обращается.. все везде прекрасно и все присутствует что надо..
Ищу окольным путем net rpc info получаю красивый вывод, и какой PDC и какой домен, и сколько юзеров и групп. все прекрасно..
net getlocalsid - хрень.. не работает..
net getlocalsid kopeika|KOPEIKA|kopeika.bpro|IP|localhost - Can't fetch domain SID ...
ладна.. беру domain sid, знаю, что они должны совпадать с локальным сидом PDC делаю
net setlocalsid SID-.......
проверяю
[root@kopeika ~]# net getlocalsid
SID for domain KOPEIKA is: S-1-5-21-2133745026-YYYYYYY-XXXXXXX
[root@kopeika ~]# net getdomainsid
SID for local machine KOPEIKA is: S-1-5-21-2133745026-YYYYYYY-XXXXXXX
SID for domain BPRO is: S-1-5-21-2133745026-YYYYYYY-XXXXXXX
прочистилось? Это да.. но ни на что не влияет.. машины реджектятся..
вывожу машину из домена, ввожу снова - все ок.. Почеему? Что было? как избежать в дальнейшем ввода-ввывода всех машин из\в домен.. это ладно тут их два десятка штук, а если в другой конторе (а у нас их 6)... там их десятки-сотни.. ((
Больше всего меня интересует, что это было? Чтобы на будущее не впасть в такой же на пол дня трабл..
следующие → |